Matt Hess
d4cd458cdf
Guard fetch_mainchain_block calls with is_main_thread(), Speed up MSAN sync test
2025-12-25 17:44:55 +00:00
Matt Hess
7ee7e0c71d
msan test timeout increase, small compiler optimization
2025-12-25 06:17:20 +00:00
Matt Hess
39f6406729
reduce info firehose on sync test
2025-12-25 05:07:04 +00:00
Matt Hess
e15fd5abf0
updated repo path, updated version
2025-12-25 04:54:53 +00:00
Matt Hess
45572fb215
Setup sync test to be more serial, README tweaks
2025-12-25 04:33:04 +00:00
Matt Hess
63f277c5ae
Port fix 37889→38889, Complete Salvium rewrite of README, Docker Salvium updates, XMRAmount → SALAmount, Merge mining warning
2025-12-25 03:45:19 +00:00
Matt Hess
b226260f56
Fix threading violation in block cache loading
...
Pass nullptr instead of uv_default_loop_checked() when deserializing
cached blocks at startup. This skips parallel key pre-computation
during the one-time cache load, avoiding a threading check that was
failing on macOS arm64.
The parallel optimization is only used during cache loading - normal
runtime block processing from peers is unaffected.
2025-12-24 20:13:40 +00:00
Matt Hess
5ce7dbf9f0
Added empty check for pruned_blob before debug deserialize, Added exclusions for no connections to other p2pool nodes, m_transactionHashes is empty, calc_miner_tx_hash fast path
2025-12-24 18:35:01 +00:00
Matt Hess
4f4b3d4753
auto i → const auto, fix test_sync condition - previous setup would never pass based on new mining state conditional
2025-12-24 16:49:42 +00:00
Matt Hess
5f85d05f21
call_once fix, removed rx: OFF configs
2025-12-24 15:18:46 +00:00
Matt Hess
e15484c14c
Fix sync test crash: add null terminators to seed_nodes
2025-12-24 05:05:22 +00:00
Matt Hess
2d290833ac
carrot_crypto.cpp requires blake2/blake2.h from RandomX/src,
...
but the include path was only added when WITH_RANDOMX=ON.
This fixes builds with WITH_RANDOMX=OFF
2025-12-24 04:14:30 +00:00
Matt Hess
3121932b17
Remove unused variable 'out_idx' in create_miner_tx, Add missingInclude to cppcheck suppressions for mx25519.h
2025-12-24 00:59:45 +00:00
Matt Hess
fbb73f9658
Fix unit test crashes for Carrot v1 block format
2025-12-23 23:33:32 +00:00
Matt Hess
506f670114
fixed length bug
2025-12-23 02:10:13 +00:00
Matt Hess
aa7c789743
Fixed sync test option, set default min diff
2025-12-23 01:34:53 +00:00
Matt Hess
72d7263e14
Fixed consensus ID format mismatch, riscv64 SIGSEGV, shadow variable
2025-12-22 22:45:35 +00:00
Matt Hess
33bb2a81a6
Added redis backend support for storage alternative to empower nextgen observer
2025-12-22 19:12:25 +00:00
Matt Hess
e68704dc43
Fix undeclared identifier
2025-12-21 21:11:38 +00:00
Matt Hess
71b12b0004
Cleanup Windows linker errors, Added null check in get_mx25519_impl, Fixed coverage pages copy
2025-12-21 17:30:06 +00:00
Matt Hess
53026f9a53
updated to use new zmq host w/ github fw rules to allow access
2025-12-20 20:01:49 +00:00
Matt Hess
f52792dd42
Fix uninitialized memory in Wallet logging
2025-12-20 16:48:59 +00:00
Matt Hess
dd1c46ce78
Enable p2pool_tests build across all C/C++ CI platforms
2025-12-20 07:44:04 +00:00
Matt Hess
248bb7fe6a
Fix log.h static_assert error
2025-12-20 06:35:17 +00:00
Matt Hess
04d5d3634b
Fix Windows MSVC compilation and cppcheck warnings, code struct triggers padding warnings
2025-12-19 20:57:48 +00:00
Matt Hess
d509947157
Fix potential division by zero in stratum target calculation, Refactored the nested division expression, intermediate variables with safety checks, prevents potential undefined
...
behavior that was causing UBSAN crashes
2025-12-19 00:29:18 +00:00
Matt Hess
418a2d363c
Fix GitHub Actions workflows and update tests with Carrot v1 data, Fix mx25519 Windows build in c-cpp.yml workflow, Remove scheduled workflow runs from cppcheck.yml and test-sync.yml, Add mx25519 Windows linker flags to CMakeLists.txt
2025-12-18 19:52:53 +00:00
Matt Hess
25c0bc35b8
Added mx25519 header for coverage.yml action
2025-12-18 01:51:49 +00:00
Matt Hess
328a145af7
Fixed linker errors for coverage.yml action, Fixed reorder error for test-sync.yml, Fixed const issues for cppcheck.yml, removed unused log_category_prefix var, Renamed prefix to addr_prefix
2025-12-18 01:04:32 +00:00
Matt Hess
4ddfa22d1b
Fixed implicit widening multiplication error, Removed unused "this", Fixed narrowing conversion, Made m_verified and m_invalid mutable, Removed else-after-return, Removed unused num_full_blocks and last_block_size var all to make clang-tidy happy
2025-12-18 00:52:40 +00:00
Matt Hess
9266f28d22
fix one critical bug and mostly code quality/cleanup items for portability, minor cleanup for compile on mac, fixed null check, Remove redundant TX_VERSION check
2025-12-17 22:53:56 +00:00
Matt Hess
ff53f68c10
updated sync action workflow
2025-12-17 20:05:28 +00:00
Matt Hess
0c31e9ae5f
Fix checkpoint exchange to support rolling upgrades, fixed silent lag startup period, Mixed v4.12/v4.13 peers coexist
2025-12-17 17:48:20 +00:00
Matt Hess
a2bf43c0e6
fix post start sync hang
2025-12-17 05:54:30 +00:00
Matt Hess
7441b02aff
added donation state tracking, proper entering and exiting message, every 720 blocks on mainchain or 0.139%
2025-12-17 05:28:30 +00:00
Matt Hess
7a3aa70d82
Updated all references from p2pool to p2pool-salvium in the GitHub
...
Actions workflow to match the actual binary name after the project
rename. This fixes test execution failures across all platforms.
2025-12-17 05:05:07 +00:00
Matt Hess
184d05e40b
added mainchain prefetch, ADDRESS_LENGTH buffer overflow fixed, Salvium address validation messages corrected
2025-12-17 04:30:53 +00:00
Matt Hess
b4c482b6ef
mx25519 linking - Added to STATIC_LIBS, Windows format strings, macOS sprintf, remove unused variable for mac and bsd compiler happiness, ADDRESS_LENGTH fix
2025-12-17 04:06:55 +00:00
Matt Hess
27dfd4788b
fixing C/C++ CI errors
2025-12-17 03:28:41 +00:00
Matt Hess
79e34fdfbb
fixed version handshake and display
2025-12-17 02:29:17 +00:00
Matt Hess
8c6961ca71
Fixed race condition with mainchain prefetch on startup, Version-gated checkpoint exchange for backward compatibility, Version bump to v4.13 with protocol 1.5, Added CAP exchange protocol (CHECKPOINT_REQUEST/CHECKPOINT_RESPONSE)
2025-12-17 01:54:52 +00:00
Matt Hess
11b545e91b
Add CAP exchange protocol, Deadlock fix, Sync stuck fix with retry mechanism
2025-12-17 00:29:41 +00:00
Matt Hess
940f1cabe8
Revert "Remove compact/pruned blob code - it displeases the carrot"
...
This reverts commit d5a8bbcc4a .
2025-12-11 02:26:30 +00:00
Matt Hess
d5a8bbcc4a
Remove compact/pruned blob code - it displeases the carrot
2025-12-10 15:56:49 +00:00
Matt Hess
4a2bec3f29
Add sync mode to prevent mining during sidechain load
...
- Added m_readyToMine flag to SideChain
- Display LOADING SIDECHAIN banner at startup
- Delay stratum server and mining until sidechain sync completes
- Display MINING IS NOW ENABLED when ready
- Prevents premature mining that caused peer bans and chain splits
P2PServer starts immediately for sync, but stratum port doesn't
open until sidechain is fully loaded and after pruning completes
2025-12-09 18:52:32 +00:00
Matt Hess
36d03d19fe
Fix crash when stratum miners submit with stale templates
...
Added bounds check in get_hashing_blob_nolock() to handle empty
m_transactionHashes when old/stale template slots are accessed.
Returns 0 and logs at level 3 instead of vector out-of-bounds crash.
Primarily affects external stratum miners that may
hold onto old job IDs across template updates
2025-12-09 03:10:14 +00:00
Matt Hess
3316751f5e
Adjusted more logging levels
2025-12-09 00:10:05 +00:00
Matt Hess
0a7d287c40
Moved verbose DEBUG and diagnostic logging from level 0 to level 6 to reduce console spam during normal operation
2025-12-08 23:56:25 +00:00
Matt Hess
1d319325e5
Fix merkle tree calculation for mempool transactions
...
- Fixed m_transactionHashes to preserve mempool txs across template updates
- Changed merkle calculation to use merkle_hash() with all transactions
- Removed hardcoded 2-transaction merkle assumption for HF10+
- Synchronized m_poolBlockTemplate->m_transactions with m_transactionHashes
- Commented out premature m_transactionHashes.clear()
- Updated monerod references to salviumd
- Enhanced difficulty debug logging (lo/hi components)
2025-12-08 23:03:32 +00:00
Matt Hess
728d6c2cbf
Fix Carrot v1 protocol TX handling for peer synchronization
...
Root cause: Merkle verification failures (error 659) and peer bans occurred
because protocol TX was not consistently present in m_transactions[1].
Parser fix (pool_block_parser.inl):
- Skip dummy transactions[0] entry when populating m_transactions
- Add protocol TX computation after parsing for Carrot v1 blocks
Block template fix (block_template.cpp):
- Insert protocol TX at position [1] during block creation in update()
- Insert protocol TX during select_mempool_transactions()
get_pow_hash fix (pool_block.cpp):
- Ensure protocol TX is populated before serialize_mainchain_data()
The protocol TX must be at m_transactions[1] before ANY serialization
occurs, otherwise sender and receiver compute different merkle roots.
Tested: Multiple restart cycles with two nodes, no bans, chains stay synced.
2025-12-07 23:57:46 +00:00