mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-15 16:38:23 +01:00
Merge bitcoin/bitcoin#30469: index: Fix coinstats overflow
c767974811clang-tidy: Fix critical warnings (Fabian Jahr)54dc34ec22index: Remove unused coinstatsindex recovery code (Fabian Jahr)37c4fba1f4index: Check BIP30 blocks when rewinding Coinstatsindex (Fabian Jahr)51df9de8e5doc: Add release note for 30469 (Fabian Jahr)bb8d673183test: Add coinstatsindex compatibility test (Fabian Jahr)b2e8b64ddcindex, refactor: Append blocks to coinstatsindex without db read (Fabian Jahr)431a076ae6index: Fix coinstatsindex overflow issue (Fabian Jahr)84e813a02bindex, refactor: DRY coinbase check (Fabian Jahr)fab842b324index, refactor: Rename ReverseBlock to RevertBlock (Fabian Jahr) Pull request description: Closes https://github.com/bitcoin/bitcoin/issues/26362 This continues the work that was started with #26426. It fixes the overflow issue by switching the tracked values that are in danger of overflowing from `CAmount` to `arith_uint256`. The current approach opts for a simple solution to ensure compatibility with datadirs including the previous version of the index: The new version of the index goes into a separate location in the datadir (`index/coinstatsindex/` rather than `index/coinstats/` before, the new naming is more consistent with the naming of the other indexes). There is no explicit concept of versioning of the index which earlier versions of this PR had. Having the two different versions of the index in separate places allows for downgrading of the node without having to rebuild the index. However, there will be a warning printed in the logs if the new code (v30) detects the old index still being present. A future version could delete a left-over legacy index automatically. The PR also includes several minor improvements but most notably it lets new entries be calculated and stored without needing to read any DB records. ACKs for top commit: achow101: ACKc767974811TheCharlatan: ACKc767974811mzumsande: Tested / Code Review ACKc767974811Tree-SHA512: 3fa4a19dd1a01c1b01390247bc9daa6871eece7c1899eac976e0cc21ede09c79c65f758d14daafc46a43c4ddd7055c85fb28ff03029132d48936b248639c6ab9
This commit is contained in:
@@ -343,6 +343,7 @@ BASE_SCRIPTS = [
|
||||
'feature_anchors.py',
|
||||
'mempool_datacarrier.py',
|
||||
'feature_coinstatsindex.py',
|
||||
'feature_coinstatsindex_compatibility.py',
|
||||
'wallet_orphanedreward.py',
|
||||
'wallet_timelock.py',
|
||||
'p2p_permissions.py',
|
||||
|
||||
Reference in New Issue
Block a user