Commit graph

865 commits

Author SHA1 Message Date
SChernykh
e1f847bc20 Merge branch 'master' into merge-mining 2024-01-10 18:00:08 +01:00
SChernykh
ec15417fd2 More C++17 2024-01-05 14:36:35 +01:00
SChernykh
010bdda236 C++17 2024-01-04 16:56:52 +01:00
SChernykh
3797f017e9 p2pool v3.10 2024-01-04 09:29:53 +01:00
SChernykh
891f7f0a0e Updated copyright 2024-01-02 14:28:00 +01:00
SChernykh
f95d366881 Merge branch 'master' into merge-mining 2024-01-02 14:26:32 +01:00
SChernykh
1e1c3ad6e9 Updated copyright 2024-01-02 14:12:16 +01:00
SChernykh
1729b51868 Merge mining API: added a check for the result field 2023-12-26 20:28:30 +01:00
SChernykh
896eac6d8c Force debug checks 2023-12-25 20:34:18 +01:00
SChernykh
6eb83dc891 Cache find_aux_nonce to save CPU time 2023-12-25 15:53:01 +01:00
SChernykh
f98d2e652a Fixed cppcheck errors 2023-12-23 19:22:06 +01:00
SChernykh
c28021b5a4 Merge branch 'master' into merge-mining 2023-12-23 19:07:04 +01:00
SChernykh
bc36be1e58 Fixed block broadcast detection
Peers could ban each other erroneously for "not broadcasting blocks"
2023-12-23 19:06:18 +01:00
SChernykh
f7a2a6fe07 Fixed block broadcasts 2023-12-23 15:19:25 +01:00
SChernykh
df2a81d76d Fixed cppcheck errors 2023-12-23 11:22:03 +01:00
SChernykh
3c510598fa Better type checking for Merkle root hashes 2023-12-23 10:17:49 +01:00
SChernykh
ae233bbf0b Fixed BLOCK_FOUND detection 2023-12-22 11:50:08 +01:00
SChernykh
18e5e6ab0f Merge branch 'master' into merge-mining 2023-12-11 17:30:32 +01:00
SChernykh
c61ca959b2 Sync test: run until fully synced
Old shortcut is not needed anymore
2023-12-11 11:04:22 +01:00
SChernykh
9015106ca2 Fixed a potential deadlock 2023-12-10 20:11:10 +01:00
SChernykh
658d756120 Fixed Merkle proof generation for aux chains 2023-12-10 19:24:05 +01:00
SChernykh
38417b0fd5 Fixed BlockTemplate::get_block_template_blob
submit_block was broken because of it
2023-12-10 17:11:11 +01:00
SChernykh
4362ee490c Multiple bugfixes 2023-12-10 15:40:05 +01:00
SChernykh
9ad9821e2a Fix: set timestamp for locally found blocks 2023-12-10 00:41:49 +01:00
SChernykh
1f57e4f701 Reduced min difficulty for testing 2023-12-09 23:19:39 +01:00
SChernykh
e20c73fa27 Merge branch 'master' into merge-mining 2023-12-08 14:18:22 +01:00
SChernykh
2e3d042d60 Fixed cppcheck error 2023-12-08 09:38:22 +01:00
SChernykh
a8582b2a0f p2pool v3.9 2023-11-26 16:17:46 +01:00
SChernykh
6a7bbfabcd Merge branch 'master' into merge-mining 2023-11-26 10:49:43 +01:00
SChernykh
8493dbc47b Fixed cppcheck errors 2023-11-26 09:52:24 +01:00
SChernykh
1bf594d9e2 Refactored keccak interface 2023-11-24 14:20:11 +01:00
SChernykh
65d83aa09c More tests 2023-11-23 14:02:00 +01:00
SChernykh
13087dd45e Submit found aux blocks 2023-11-20 22:22:37 +01:00
SChernykh
d697d0017e Submit the aux block when the difficulty is met (WIP) 2023-11-20 00:56:48 +01:00
SChernykh
7e0b958207 Propagate aux difficulty to miners 2023-11-19 19:48:23 +01:00
SChernykh
394b4f310e Sync test fixes 2023-11-17 19:50:55 +01:00
SChernykh
5aff5f5796 Sync test: added merge mining 2023-11-17 19:36:21 +01:00
SChernykh
d1fee33482 Added a fake merge mining node 2023-11-15 18:51:32 +01:00
SChernykh
e6b8292d5b Added command line for merge mining
Start a merge mining client for each of the aux chains
2023-11-10 16:17:34 +01:00
SChernykh
abd9c80e4d Merge branch 'master' into merge-mining 2023-11-07 16:52:57 +01:00
SChernykh
e4b11ecab4
Merge pull request #286 from hinto-janai/master
Add `gupax.io` to DNS seed nodes
2023-11-07 16:20:40 +01:00
SChernykh
781606bec5 Enabled SEH for MSVC builds 2023-11-07 13:09:24 +01:00
SChernykh
f4d709c0dd Util: more checks in get_dns_txt_records_base 2023-11-07 12:34:36 +01:00
SChernykh
8699e1887c Debug: print call stack of unhandled exceptions 2023-11-07 11:00:39 +01:00
hinto.janai
bf39319cbb
add gupax.io to DNS seed nodes 2023-11-06 17:05:33 -05:00
SChernykh
9eab833f66 Merge mining RPC: added merge_mining_submit_solution 2023-11-06 17:22:44 +01:00
SChernykh
40b2c2a858 Merge mining RPC: added merge_mining_get_job 2023-11-05 19:06:57 +01:00
SChernykh
e92ce0a5f3 Log: fixed broken output redirection on Windows 2023-11-05 18:28:11 +01:00
SChernykh
75bb046f22 Added merge mining RPC client
Basic code and one API call implemented
2023-11-01 19:52:19 +01:00
SChernykh
fd20313d65 Merge branch 'master' into merge-mining 2023-10-31 14:10:27 +01:00
SChernykh
837a33480e p2pool v3.8 2023-10-31 12:32:36 +01:00
SChernykh
c59845e746 Fixed cppcheck errors 2023-10-29 09:43:22 +01:00
SChernykh
fc31ac6cd0 Fixed Merkle tree root update 2023-10-25 22:54:25 +02:00
SChernykh
0b711cbe65 Init and update merkle tree root 2023-10-25 20:06:12 +02:00
SChernykh
2d1158af64 Store Merkle tree root in the merge mining tag 2023-10-25 15:49:25 +02:00
SChernykh
ec35c74e5f Init merge mining tag properly 2023-10-25 00:14:09 +02:00
SChernykh
417c89e96f Added get_aux_slot 2023-10-24 14:16:55 +02:00
SChernykh
d5a9fb8d0e Fixed cppcheck error 2023-10-24 10:55:26 +02:00
SChernykh
b8c68dc2e4 Added verify_merkle_proof by index 2023-10-23 20:43:45 +02:00
SChernykh
12a3eb862e Added merkle proofs 2023-10-22 23:31:07 +02:00
SChernykh
e51af9e6e8 Added merkle_hash_full_tree 2023-10-21 22:45:07 +02:00
SChernykh
b46da74c2c Moved out merkle tree hash code 2023-10-21 19:04:17 +02:00
SChernykh
119782920a Warn if there are too many background jobs 2023-10-20 21:12:26 +02:00
SChernykh
5febb8c4e2 Self-test: multithreaded dataset initialization 2023-10-18 13:43:40 +02:00
SChernykh
ddc6986401 Self-test: calculate 100 hashes instead of just 1 2023-10-18 11:18:57 +02:00
SChernykh
5988acb12b Fix CVE-2023-38545 2023-10-11 08:17:35 +02:00
SChernykh
294d1a525e Update check now also checks for connected peer versions 2023-10-09 11:08:51 +02:00
SChernykh
e5770a5343 Fixed cppcheck errors 2023-10-08 23:33:06 +02:00
SChernykh
7a65e1feb5 Check for updates in status and version commands 2023-10-08 21:01:50 +02:00
SChernykh
4e55f53fb4 Notify about new P2Pool versions 2023-10-08 18:52:06 +02:00
SChernykh
8270e0898b StratumServer: fixed memory leak on shutdown 2023-10-02 08:19:28 +02:00
SChernykh
2ed63ab3ac p2pool v3.7 2023-09-30 11:19:13 +02:00
SChernykh
d99a48d87d Added a reserve domain for seed node lists 2023-09-30 08:43:29 +02:00
SChernykh
27375e7382 StratumServer: removed an unnecessary check 2023-09-29 11:55:25 +02:00
SChernykh
a81d3c4989 ZMQ: fixed bind port error message 2023-09-26 19:35:30 +02:00
SChernykh
b922440fc7 Refactored software id code
Show a warning when an unknown software id is seen
2023-09-23 18:04:02 +02:00
SChernykh
954b9252c1 StratumServer: fixed data race in api update 2023-09-17 22:30:21 +02:00
charlie
ed32664b9e Adding workers data to api in stratum files 2023-09-17 20:09:53 +02:00
SChernykh
8619057224 Log: set locale for data output 2023-09-17 19:30:39 +02:00
SChernykh
10978c59e4 Made custom worker names safe for JSON data
And comma-separated lists too.
2023-09-17 11:32:56 +02:00
SChernykh
ed56206c30 More log tests 2023-09-17 10:38:46 +02:00
SChernykh
0b544bf55a API: removed file size limitation 2023-09-16 19:38:16 +02:00
SChernykh
a9d39f0803 Better error messages 2023-09-13 21:37:07 +02:00
SChernykh
2248739dd5 Don't update api when shutting down 2023-09-13 21:12:01 +02:00
SChernykh
b83b691714 TCPServer: cleaned up IPv4 address handling 2023-09-11 19:43:28 +02:00
SChernykh
887611c9d8 P2Pool: normalized peer list IPv4/IPv6 data 2023-09-09 20:22:43 +02:00
SChernykh
390cf0257e StratumServer: fixed data races on disconnect 2023-09-08 15:19:59 +02:00
SChernykh
2453c08194 SideChain: fixed use-after-free in precalc code 2023-09-06 10:05:55 +02:00
SChernykh
f149613d54 Removed unnecessary async call 2023-09-04 20:38:01 +02:00
SChernykh
2c5cfb6442 Fixed data races when using uv_async_send 2023-09-04 19:33:31 +02:00
SChernykh
cfddaf1508 TCPServer: added thread check on connection close 2023-09-03 23:17:04 +02:00
SChernykh
2584799415 TCPServer: fixed ASAN code 2023-09-03 17:13:22 +02:00
SChernykh
c2704af523 Sync test: increased countdown length 2023-09-03 14:35:12 +02:00
SChernykh
328e9cade9 SideChain: fixed read from uninitialized buffer 2023-09-03 14:16:09 +02:00
SChernykh
d8bbe2110e P2PServer: fixed a data race when banning peers 2023-09-03 13:15:45 +02:00
SChernykh
1ef88622d6 p2pool v3.6.2 2023-09-03 09:49:31 +02:00
SChernykh
fcf9d2ad15 p2pool v3.6.1 2023-09-01 12:39:07 +02:00
SChernykh
7986321a52 Fixed console commands startup 2023-08-31 17:50:31 +02:00
SChernykh
8e0f28ee30 Fixed Windows 7 compatibility 2023-08-31 16:21:59 +02:00
SChernykh
fecfa18999 p2pool v3.6 2023-08-31 10:32:34 +02:00
SChernykh
936d3b5280 Added quick self-test 2023-08-23 17:01:01 +02:00
SChernykh
31ce134413 Fixed INVALID SHARE log color 2023-08-21 21:24:04 +02:00
SChernykh
1069d1c066 Fixed cppcheck error 2023-08-21 11:20:50 +02:00
SChernykh
bc0634a541 RandomX: try to recover after an error 2023-08-21 11:01:57 +02:00
SChernykh
8d65a99fe4 Fixed data race 2023-08-18 21:57:51 +02:00
SChernykh
f3045a5e80 Fixed possible thread handle leak 2023-08-17 10:16:51 +02:00
SChernykh
76c4573c39 CI: cleanup build warnings
Tests: fixed "unused const variable" warning
CMakeLists.txt: fixed deprecation warnings
2023-08-16 14:20:23 +02:00
SChernykh
2877e5dfc1 Sync test: log stratum data when finished 2023-08-15 11:43:05 +02:00
SChernykh
a6b6cb0f09 TCPServer: tweaked ASAN support 2023-08-14 22:24:42 +02:00
SChernykh
929f908a86 Sync test: submit fake shares to test stratum 2023-08-14 17:10:36 +02:00
SChernykh
bd30a68e7d Fixed cppcheck error 2023-08-07 07:28:44 +02:00
SChernykh
f4a18726b5 P2PServer: support future major protocol changes 2023-08-04 15:52:28 +02:00
SChernykh
2ddb03e2be CI: tweaked memory leak output formatting 2023-07-19 16:15:48 +02:00
SChernykh
0f88640575 CI: added sync test with memory leak detection 2023-07-19 13:59:57 +02:00
SChernykh
75cc82ae0c P2PServer: removed protocol version check for fastest peer 2023-07-12 12:48:52 +02:00
SChernykh
32dc235aa5 SideChain: fix for out of order blocks 2023-07-12 00:25:37 +02:00
SChernykh
6ffe1d81c2 P2PServer: ignore protocol versions higher than supported 2023-07-10 20:13:37 +02:00
SChernykh
5b245e64d3 Fixed a typo 2023-07-10 16:54:01 +02:00
SChernykh
a067361d74 P2PServer: prefetch 2 blocks ahead during sync 2023-07-10 15:44:18 +02:00
SChernykh
a7f66c8883 SideChain: filter duplicates from missing blocks 2023-07-10 14:11:22 +02:00
SChernykh
e03e7d831e P2PServer: tweaked switching to the fastet peer when syncing 2023-07-10 11:40:48 +02:00
SChernykh
1219ed0dd6 P2PServer: check protocol version when choosing fastest peer 2023-07-07 23:49:43 +02:00
SChernykh
fe2ff95f19 P2PServer: use BLOCK_NOTIFY to speed up syncing 2023-07-07 16:48:28 +02:00
SChernykh
d72f0ce40c P2PServer: fixed some excess block requests 2023-07-07 14:52:47 +02:00
SChernykh
df43e2c126 SideChain: tweaked precalc logic 2023-07-07 14:21:52 +02:00
SChernykh
d8ecc1174d P2PServer: refactored BLOCK_NOTIFY logic
- Limit how many block requests can be in flight
- Don't send requests for the same block twice
2023-07-07 12:14:24 +02:00
SChernykh
3e269b49d4 Tweaked log level for BLOCK_NOTIFY 2023-07-05 19:06:49 +02:00
SChernykh
72c9f3b0db Fixed ping time calculation 2023-07-05 15:29:54 +02:00
SChernykh
2f5b0db786 P2PServer: request blocks coming from BLOCK_NOTIFY 2023-07-05 11:42:34 +02:00
SChernykh
8d9f16c387 P2PServer: sanity check message id 2023-07-04 16:47:14 +02:00
SChernykh
d6cb0ee8a0 P2PServer: avoid unnecessary block broadcasts 2023-07-04 16:06:01 +02:00
SChernykh
5444701c38 Tweaked status code
Don't create stream when it's not needed
2023-07-02 15:33:51 +02:00
SChernykh
396479c2bf Fixed cppcheck errors 2023-07-02 13:10:05 +02:00
SChernykh
d78885dcd4 p2pool v3.5 2023-06-30 18:05:12 +02:00
SChernykh
ede72ff1d8 Suppress a noisy Coverity warning 2023-06-30 16:18:02 +02:00
SChernykh
e5bf27030d Rate limit peer list requests
Send an empty response if the request comes too soon
2023-06-29 18:20:07 +02:00
SChernykh
375bf56e2e Fixed null characters in print_hosts output 2023-06-29 10:52:42 +02:00
SChernykh
f79be1b343 Removed unnecessary lock 2023-06-27 17:09:58 +02:00
SChernykh
3554adf0c1 Refactored string conversions
Use `log::Stream` everywhere
2023-06-27 14:29:19 +02:00
SChernykh
3759fd4ac4 Code cleanup 2023-06-22 09:26:05 +02:00
SChernykh
1c7646f98f ZMQReader: make sure monitor always shuts down 2023-06-20 16:53:03 +02:00
SChernykh
1b9d14e89d Get ping times for all hosts 2023-06-19 17:56:53 +02:00
SChernykh
a9a2113ea4 Code cleanup 2023-06-18 16:47:31 +02:00
SChernykh
b5fa34e1a1 Added support for multiple Monero hosts
Switch to the next host in list when P2Pool thinks current host is stuck or lagging
2023-06-18 12:56:27 +02:00
SChernykh
30560e6cf8 CI: use compile command database for clang-tidy 2023-06-15 10:36:42 +02:00
SChernykh
8b4f05dc78 CI: added clang-tidy 2023-06-14 14:40:12 +02:00
SChernykh
950330b5f7 SideChain: recover from incorrect PoW calculation 2023-06-14 11:22:55 +02:00
SChernykh
9927718e25 Tweaked cppcheck command line 2023-06-13 11:53:41 +02:00
SChernykh
b7ff4f2c2c Set default JSON parser flags 2023-06-12 15:29:23 +02:00
SChernykh
47c79459a6 Fixed get_miner_data error handling
Second call was a no-op because of `m_getMinerDataPending`
2023-06-10 14:49:33 +02:00