Skip to content

Commit 22f55cf

Browse files
committed
Squashed 'bitcoinkernel/bitcoin/' changes from 527e82de4a..bce88ae28a
bce88ae28a kernel: Fix bitcoin-chainstate for windows 3a7e9f0eaf kernel: Add Purpose section to header documentation 5bae79ace5 kernel: Allowing reducing exports d0308a2489 kernel: Add pure kernel bitcoin-chainstate 05a569070c kernel: Add functions to get the block hash from a block 8566ec6e83 kernel: Add block index utility functions to C header b4d0e80f84 kernel: Add function to read block undo data from disk to C header 488999ac77 kernel: Add functions to read block from disk to C header 3dc76bb7f7 kernel: Add function for copying block data to C header 6151b45a42 kernel: Add functions for the block validation state to C header 5d00432f27 kernel: Add validation interface to C header facf209aee kernel: Add interrupt function to C header 129f553e4e kernel: Add import blocks function to C header f7ed7b944d kernel: Add chainstate load options for in-memory dbs in C header 67d9f53a98 kernel: Add options for reindexing in C header ebc826319f kernel: Add block validation to C header 511a1c8a78 kernel: Add chainstate loading when instantiating a ChainstateManager aad295899e kernel: Add chainstate manager option for setting worker threads c701cb2405 kernel: Add chainstate manager object to C header 1df8b87602 kernel: Add notifications context option to C header 571c1a2acb kernel: Add chain params context option to C header a2cab9f1cd kernel: Add kernel library context object 944ef6b630 kernel: Add logging to kernel library C header d0cb841fba kernel: Introduce initial kernel C header API 04c115dfde Merge bitcoin/bitcoin#33078: kernel: improve BlockChecked ownership semantics bc797d2271 Merge bitcoin/bitcoin#33154: test: use local `CBlockIndex` in block read hash mismatch check d3c58a5be9 Merge bitcoin/bitcoin#33193: Release: Prepare "Translation string freeze" step 9cf7b3d90c Merge bitcoin/bitcoin#33211: test: modify logging_filesize_rate_limit params f5f853d952 Merge bitcoin/bitcoin#32878: index: fix wrong assert of current_tip == m_best_block_index 5dda364c4b test: modify logging_filesize_rate_limit params 0df2c3c42e qt: Update `src/qt/locale/bitcoin_en.xlf` translation source file 22e689587a Merge bitcoin/bitcoin#33209: cmake: Drop python dependency for translate be356fc49b Merge bitcoin/bitcoin#32896: wallet, rpc: add v3 transaction creation and wallet support 3c4a109aa8 cmake: Drop python dependency for translate f58de8749e Merge bitcoin/bitcoin#32345: ipc: Handle unclean shutdowns better d31dc8f818 Merge bitcoin/bitcoin#33200: cmake: Introduce translate.cmake script for translate target 05255d5d1e cmake: Drop dependency on sed for translate target d5054beca5 cmake: Introduce translate.cmake script for translate target 57e8f34fe2 Merge bitcoin/bitcoin#32977: wallet: Remove wallet version and several legacy related functions 97593c1fd3 Merge bitcoin/bitcoin#32975: assumevalid: log every script validation state change 5c8bf7b39e doc: add release notes for version 3 transactions 4ef8065a5e test: add truc wallet tests 5d932e14db test: extract `bulk_vout` from `bulk_tx` so it can be used by wallet tests 2cb473d9f2 rpc: Support version 3 transaction creation 4c20343b4d rpc: Add transaction min standard version parameter c5a2d08011 wallet: don't return utxos from multiple truc txs in AvailableCoins da8748ad62 wallet: limit v3 tx weight in coin selection 85c5410615 wallet: mark unconfirmed v3 siblings as mempool conflicts 0804fc3cb1 wallet: throw error at conflicting tx versions in pre-selected inputs cc155226fe wallet: set m_version in coin control to default value 2e9617664e wallet: don't include unconfirmed v3 txs with children in available coins ec2676becd wallet: unconfirmed ancestors and descendants are always truc 7b4a1350df Merge bitcoin/bitcoin#33183: validation: rename block script verification error from "mandatory" to "block" c99f5c5e1b Merge bitcoin/bitcoin#33106: policy: lower the default blockmintxfee, incrementalrelayfee, minrelaytxfee 578b512bdd Merge bitcoin/bitcoin#33011: log: rate limiting followups 8405fdb06e Merge bitcoin/bitcoin#33169: interfaces, chain, refactor: Remove unused getTipLocator and incaccurate getActiveChainLocator c0d91fc69c Add release note for #33050 and #33183 error string changes e17b5da0d6 Merge bitcoin/bitcoin#33179: doc: update wallet build instruction 9b1a7c3e8d Merge bitcoin/bitcoin#33116: refactor: Convert uint256 to Txid b3f781a0ef contrib: adapt max reject string size in tracing demo 9a04635432 scripted-diff: validation: rename mandatory errors into block errors dbf8b0980b Merge bitcoin/bitcoin#33171: ci: Update `actions/checkout` version d6887f0cec Merge bitcoin/bitcoin#33178: guix: increase maximum allowed (runtime) GCC to 7 2b00030af8 interfaces, chain, refactor: Remove inaccurate getActiveChainLocator 110a0f405c interfaces, chain, refactor: Remove unused getTipLocator dadf15f88c Merge bitcoin/bitcoin#33050: net, validation: don't punish peers for consensus-invalid txs cb173b8e93 test: use local `CBlockIndex` in block read hash mismatch test to avoid data race 73972d5617 Merge bitcoin/bitcoin#31296: wallet: Translate [default wallet] string in progress messages 67e186deb0 doc: update wallet build instruction 5c74a0b397 config: add DEBUG_ONLY -logratelimit 9f3b017bcc test: logging_filesize_rate_limit improvements 350193e5e2 test: don't leak log category mask across tests 05d7c22479 test: add ReadDebugLogLines helper function 3d630c2544 log: make m_limiter a shared_ptr ec484bd5ce Merge bitcoin/bitcoin#31453: util: detect and warn when using exFAT on MacOS 776a163374 guix: increase maximum allowed (runtime) GCC to 7 ba84a25dee [doc] update mempool-replacements.md for incremental relay feerate change 273e600e65 Merge bitcoin/bitcoin#33021: test/refactor: revive test verifying that `GetCoinsCacheSizeState` switches from OK→LARGE→CRITICAL 18720bc5d5 [doc] release note for min feerate changes 6da5de58ca [policy] lower default minrelaytxfee and incrementalrelayfee to 100sat/kvB 2e515d2897 [prep/test] make wallet_fundrawtransaction's minrelaytxfee assumption explicit 457cfb61b5 [prep/util] help MockMempoolMinFee handle more precise feerates 3eab8b7240 [prep/test] replace magic number 1000 with respective feerate vars 5f2df0ef78 [miner] lower default -blockmintxfee to 1sat/kvB d6213d6aa1 [doc] assert that default min relay feerate and incremental are the same 1fbee5d7b6 [test] explicitly check default -minrelaytxfee and -incrementalrelayfee 72dc18467d [test] RBF rule 4 for various incrementalrelayfee settings 85f498893f [test] check bypass of minrelay for various minrelaytxfee settings e5f896bb1f [test] check miner doesn't select 0fee transactions de0675f9de refactor: Move `transaction_identifier.h` to primitives 6f068f65de Remove implicit uint256 conversion and comparison 9c24cda72e refactor: Convert remaining instances from uint256 to Txid d2ecd6815d policy, refactor: Convert uint256 to Txid f6c0d1d231 mempool, refactor: Convert uint256 to Txid aeb0f78330 refactor: Convert `mini_miner` from uint256 to Txid 326f244724 refactor: Convert RPCs and `merkleblock` from uint256 to Txid 41642d43b3 Merge bitcoin/bitcoin#33162: test: fix scripts in `blockfilter_basic_test` f83c01d882 ci: Update `actions/checkout` version a27430e259 Merge bitcoin/bitcoin#32473: Introduce per-txin sighash midstate cache for legacy/p2sh/segwitv0 scripts 34b366fa2c Merge bitcoin/bitcoin#33155: contrib: drop `bitcoin-util` exception from FORTIFY check ca64b71ed5 test: fix scripts in `blockfilter_basic_test` daca51bf80 Merge bitcoin/bitcoin#32750: refactor: CFeeRate encapsulates FeeFrac internally fab2980bdc assumevalid: log every script validation state change e8f9c37a3b log: clean up LogPrintStr_ and Reset, prefix all logs with "[*]" when there are suppressions 3c7cae49b6 log: change LogLimitStats to struct LogRateLimiter::Stats 876dbdfb47 tests: drop expect_disconnect behaviour for tx relay b29ae9efdf validation: only check input scripts once 266dd0e10d net_processing: drop MaybePunishNodeForTx db3228042b util: detect and warn when using exFAT on macOS f679bad605 Merge bitcoin/bitcoin#33105: validation: detect witness stripping without re-running Script checks 63d604af05 Merge bitcoin/bitcoin#33152: Release: Prepare "Open Transifex translations for v30.0" step 27aefac425 validation: detect witness stripping without re-running Script checks 2907b58834 policy: introduce a helper to detect whether a transaction spends Segwit outputs 4bff4ce561 contrib: drop bitcoin-util exception from FORTIFY check 26e9db2df0 Merge bitcoin/bitcoin#31886: cli: return local services in -netinfo 2bb06bcaf2 Merge bitcoin/bitcoin#31679: cmake: Install internal binaries to <prefix>/libexec/ 6a2bb0fd83 Merge bitcoin/bitcoin#33151: subtree: update crc32c subtree 656e16aa5e qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file a0eaa44925 Fix typos b43b8be782 Merge bitcoin/bitcoin#33125: ci: Use mlc `v1` and fix typos 8d4aaaec49 Update Transifex slug for 30.x 8ef8dd6871 Update crc32c subtree to latest upstream master 9a5d29711a Squashed 'src/crc32c/' changes from b60d2b7334..efb8ea04e4 f28a94b40e ci: update shellcheck to v0.11.0 e46af30441 ci: update mlc to v1 7d60c0eb69 fix typo 49f2f3c89f doc: fix typos d818340e7e test: Rename shuffled_indeces to shuffled_indices 96f8673b87 doc: fix typos d767503b6a Merge bitcoin/bitcoin#33039: refactor,test: follow-ups to multi-byte block obfuscation cf15d45192 Merge bitcoin/bitcoin#33044: contrib: drop use of `PermissionsStartOnly` & `Group=` 83950275ed qa: unit test sighash caching b221aa80a0 qa: simple differential fuzzing for sighash with/without caching 92af9f74d7 script: (optimization) introduce sighash midstate caching 8f3ddb0bcc script: (refactor) prepare for introducing sighash midstate cache 9014d4016a tests: add sighash caching tests to feature_taproot d7ed47fb80 Merge bitcoin/bitcoin#33077: kernel: create monolithic kernel static library 38e6ea9f3a Merge bitcoin/bitcoin#33101: cmake: Proactively avoid use of `SECP256K1_DISABLE_SHARED` c92115dcb2 Merge bitcoin/bitcoin#33119: rpc: Fix 'getdescriptoractivity' RPCHelpMan, add test to verify fix 1dab8d0635 Merge bitcoin/bitcoin#33113: refactor: Use immediate lambda to work around GCC bug 117966 45bdbb1317 Merge bitcoin/bitcoin#33122: test: remove duplicated code in test/functional/wallet_migration.py a45cc17d34 Merge bitcoin/bitcoin#33115: cmake: Switch to generated `ts_files.cmake` file b90da9c2e9 Merge bitcoin/bitcoin#33138: ci: Pass CI_FAILFAST_TEST_LEAVE_DANGLING into container fa1d2f6380 ci: Pass CI_FAILFAST_TEST_LEAVE_DANGLING into container fd813bf863 Merge bitcoin/bitcoin#33002: ci: Only pass documented env vars 49b3d3a92a Clean up `FindTxForGetData` 9617a42fdb Merge bitcoin/bitcoin#32581: allocators: Apply manual ASan poisoning to `PoolResource` 33e7fc51f4 Merge bitcoin/bitcoin#33133: rpc: fix getpeerinfo ping duration unit docs 721a051320 test: add coverage for -netinfo header and local services f7d2db28e9 netinfo: return shortened services, if peers list requested 4489ab526a netinfo: return local services in the default report 1252eeb997 rpc: fix getpeerinfo ping duration unit docs eb073209db qa: test witness stripping in p2p_segwit 6a7c0d3f87 test: refactor to remove duplicated test code d1b583181d Merge bitcoin/bitcoin#32654: init: make `-blockmaxweight` startup option debug only 50a92cd56f Merge bitcoin/bitcoin#33060: test: Slay BnB Mutants 2581258ec2 ipc: Handle bitcoin-wallet disconnections 2160995916 ipc: Add Ctrl-C handler for spawned subprocesses 0c28068ceb doc: Improve IPC interface comments 7f65aac78b ipc: Avoid waiting for clients to disconnect when shutting down 6eb09fd614 test: Add unit test coverage for Init and Shutdown code 9a9fb19536 ipc: Use EventLoopRef instead of addClient/removeClient 5c45bc989b Merge commit 'e886c65b6b37aaaf5d22ca68bc14e55d8ec78212' into pr/ipc-stop-base e886c65b6b Squashed 'src/ipc/libmultiprocess/' changes from 27c7e8e5a581..b4120d34bad2 643bacd124 Merge bitcoin/bitcoin#33058: test: add assertions to SRD max weight test eeb0b31e3a Merge bitcoin/bitcoin#32941: p2p: TxOrphanage revamp cleanups c0642e558a [fuzz] fix latency score check in txorphan_protected 0cb1ed2b7c Merge bitcoin/bitcoin#33132: fuzz: txgraph: fix `real_is_optimal` flag propagation in `CommitStaging` a26fbee38f qt: Translations update 444dcb2f99 fuzz: txgraph: fix `real_is_optimal` flag propagation in `CommitStaging` 83a2216f52 Merge bitcoin/bitcoin#33118: test: fix anti-fee-sniping off-by-one error 3543bfdfec test: Fix 'getdescriptoractivity' RPCHelpMan, add test to verify 'spend_vin' is the correct field e07e2532b4 test: fix anti-fee-sniping off-by-one error c7a24c3052 ci: Re-enable DEBUG=1 in centos task 3aef38f44b test: exercise index reorg assertion failure acf50233cd index: fix wrong assert of current_tip == m_best_block_index 3d4d4f0d92 scripted-diff: rename "ann" variables to "latency_score" 3b92448923 [doc] comment fixups for orphanage changes 1384dbaf6d [config] emit warning for -maxorphantx, but allow it to be set b10c55b298 fix up TxOrphanage lower_bound sanity checks cfd71c6704 scripted-diff: rename TxOrphanage outpoints index edb97bb3f1 [logging] add logs for inner loop of LimitOrphans 8a58d0e87d scripted-diff: rename OrphanTxBase to OrphanInfo cc50f2f0df [cleanup] replace TxOrphanage::Size() with CountUniqueOrphans ed24e01696 [optimization] Maintain at most 1 reconsiderable announcement per wtxid af7402ccfa [refactor] make TxOrphanage keep itself trimmed d1fac25ff3 [doc] 31829 release note 75ed673193 Merge bitcoin/bitcoin#33048: test: reduce runtime of p2p_opportunistic_1p1c.py ca04eebd72 cmake: Switch to generated `ts_files.cmake` file 95341de6ca cmake, refactor: Move handling of Qt TS files into `locale` directory 24246c3deb Merge bitcoin/bitcoin#31385: package validation: relax the package-not-child-with-unconfirmed-parents rule b8025b30cc Merge bitcoin/bitcoin#32559: doc: add alpine build instructions 18d1071dd1 init: replace deprecated PermissionsStartOnly systemd directive 1caaf65043 init: remove Group= as it will default to the user's default group 1d9f1cb4bd kernel: improve BlockChecked ownership semantics a7bafb3e05 refactor: Use immediate lambda to work around GCC bug 117966 b093a19ae2 cmake: Proactively avoid use of `SECP256K1_DISABLE_SHARED` eb59a192d9 cmake, refactor: Encapsulate adding secp256k1 subtree in function 4f27e8ca4d Merge bitcoin/bitcoin#33083: qa: test that we do not disconnect a peer for submitting an invalid compact block bfc9d95129 Merge bitcoin/bitcoin#33104: test: Perform backup filename checks in migrate_and_get_rpc in wallet_migration.py 8712e074bb Merge bitcoin/bitcoin#33093: refactor: remove unused `ser_writedata16be` and `ser_readdata16be` 5ee4e79669 Merge bitcoin/bitcoin#31244: descriptors: MuSig2 4b80147feb test: Perform backup filename checks in migrate_and_get_rpc aef2dbb402 Merge bitcoin/bitcoin#33099: ci: allow for any libc++ intrumentation & use it for TSAN 8283af13fe Merge bitcoin/bitcoin#32584: depends: hard-code necessary c(xx)flags rather than setting them per-host 547c64814d Merge bitcoin/bitcoin#32987: init: [gui] Avoid UB/crash in InitAndLoadChainstate e6bfd95d50 Merge bitcoin-core/gui#881: Move `FreespaceChecker` class into its own module 8a94cf8efe Merge bitcoin/bitcoin#30635: rpc: add optional blockhash to waitfornewblock, unhide wait methods in help dc78ed2140 Merge bitcoin/bitcoin#33005: refactor: GenTxid type safety followups 3cb65ffa83 Merge bitcoin/bitcoin#33100: ci: remove `ninja-build` from MSAN jobs 7aa5b67132 ci: remove DEBUG_LOCKORDER from TSAN job b09af2ce50 ci: instrument libc++ in TSAN job 6653cafd0b ci: allow libc++ instrumentation other than msan 3333d3f75f ci: Only pass documented env vars 3fe3fdb02b Merge bitcoin/bitcoin#33102: fuzz: cover BanMan::IsDiscouraged c2ed576d2c fuzz: cover BanMan::IsDiscouraged 3a03f07560 qt: Avoid header circular dependency cab6736b70 ci: remove ninja-build from MSAN jobs 0431a690c3 cleanup: remove unused `ser_writedata16be` and `ser_readdata16be` 00604296e1 Merge bitcoin/bitcoin#32866: doc: add note for watch-only wallet migration 91058877ff Merge bitcoin/bitcoin#32273: wallet: Fix relative path backup during migration. 6b99670e3c Merge bitcoin/bitcoin#33075: doc: Add legacy wallet removal release notes 2cef200340 Merge bitcoin/bitcoin#28944: wallet, rpc: add anti-fee-sniping to `send` and `sendall` 932e993b37 Merge bitcoin/bitcoin#33073: guix: warn SOURCE_DATE_EPOCH set in guix-codesign 0bed946e5d Merge bitcoin/bitcoin#33079: ci: limit max stack size to 512 KiB 28ec91c30e Merge bitcoin/bitcoin#33088: doc: move `cmake -B build -LH` up in Unix build docs c157438116 qa: test that we do disconnect upon a second invalid compact block being announced 2f410ad78c Merge bitcoin/bitcoin#32263: cluster mempool: add TxGraph work controls 6757052fc4 doc: move `cmake -B build -LH` up in Unix build docs 9954d6c833 depends: hard-code necessary c(xx)flags rather than setting them per-host 953c90d764 Merge bitcoin/bitcoin#33086: contrib: [tracing] fix pointer argument handling in mempool_monitor.py 5888b4a2a5 doc: add note for watch-only wallet migration 3b23f95e34 ci: limit max stack size to 512 KiB 2931a87477 ci: limit stack size to 512kb in native macOS jobs 3724e9b40a Merge bitcoin/bitcoin#32973: validation: docs and cleanups for MemPoolAccept coins views 0ce041ea88 tracing: fix pointer argument handling in mempool_monitor.py 25884bd896 qt, refactor: Move `FreespaceChecker` class into its own module fb2dcbb160 qa: test cached failure for compact block f12d8b104e qa: test a compact block with an invalid transaction d6c37b28a7 qa: remove unnecessary tx removal from compact block 554befd873 test: revive `getcoinscachesizestate` 64ed0fa6b7 refactor: modernize `LargeCoinsCacheThreshold` 1b40dc02a6 refactor: extract `LargeCoinsCacheThreshold` from `GetCoinsCacheSizeState` 321984705d Merge bitcoin/bitcoin#32279: [IBD] prevector: store `P2WSH`/`P2TR`/`P2PK` scripts inline 94b39ce738 refactor: Change `m_tx_inventory_to_send` from `std::set<GenTxid>` to `std::set<Wtxid>` fa45ccc15d doc: Add legacy wallet removal release notes 8319a13468 log: clarify RATELIMIT_MAX_BYTES comment, use RATELIMIT_WINDOW 5f70bc80df log: remove const qualifier from arguments in LogPrintFormatInternal b8e92fb3d4 log: avoid double hashing in SourceLocationHasher 616bc22f13 test: remove noexcept(false) comment in ~DebugLogHelper 2a97ff466d Merge bitcoin/bitcoin#29954: RPC: Return `permitbaremultisig` and `maxdatacarriersize` in `getmempoolinfo` fd068257e0 Merge bitcoin/bitcoin#33065: rpc, wallet: replace remaining hardcoded output types with `FormatAllOutputTypes` 9ba1fff29e kernel: refactor: ConnectTip to pass block pointer by value 9cafdf8941 Merge bitcoin/bitcoin#33064: test: fix RPC coverage check fdbade6f8d kernel: create monolithic kernel static library c8309198f8 Merge bitcoin/bitcoin#33070: doc/zmq: fix unix socket path example 1bed0f734b guix: warn SOURCE_DATE_EPOCH set in guix-codesign cc33e45789 test: improve assertion for SRD max weight test 1c10b7351e RPC: Return permitbaremultisig and maxdatacarriersize in getmempoolinfo e83699a626 doc/zmq: fix unix socket path example 8aed477c33 test: fix RPC coverage check 2630b64f81 test: add abortrescan RPC test 75a5c8258e Merge bitcoin/bitcoin#33063: util: Revert "common: Close non-std fds before exec in RunCommandJSON" d5104cfbae prevector: store `P2WSH`/`P2TR`/`P2PK` scripts inline 52121506b2 test: assert `CScript` allocation characteristics 65ac7f6d4d refactor: modernize `CScriptBase` definition 756da2a994 refactor: extract `STATIC_SIZE` constant to prevector 251d020846 init, wallet: replace hardcoded output types with `FormatAllOutputTypes` 60d1042b9a wallet: Remove unused `WalletFeature` enums 66de58208a wallet: Remove `CWallet::nWalletVersion` and related functions 3b188b8b3d Merge bitcoin/bitcoin#31576: test: Move `script_assets_tests` into its own suite 7cda3d0f5b wallet: Remove `IsFeatureSupported()` and `CanSupportFeature()` ba01585229 wallet: `MigrateToDescriptor` no longer calls `CanSupportFeature` 63acee2797 wallet: Remove `GetClosestWalletFeature()` e27da3150b wallet: Remove `GetVersion()` 2e97541396 Merge bitcoin/bitcoin#32944: wallet: Remove `upgradewallet` RPC b08041cac8 Merge bitcoin/bitcoin#32845: rpc, test: Fix JSON parsing errors in unloadwallet and getdescriptoractivity RPCs a3cf623364 test: Test max_selection_weight edge cases 57fe8acc8a test: Check max_weight_exceeded error e3ba0757a9 rpc, wallet: replace remaining hardcoded output types with `FormatAllOutputTypes` fc162299f0 Merge bitcoin/bitcoin#32994: p2p: rename GetAddresses -> GetAddressesUnsafe 633d8ea17b Merge bitcoin/bitcoin#32970: ci: Enable more shellcheck faa1c3e80d Revert "Merge bitcoin/bitcoin#32343: common: Close non-std fds before exec in RunCommandJSON" 6cdc5a90cf Merge bitcoin/bitcoin#32967: log: [refactor] Use info level for init logs 443c32a3e6 Merge bitcoin/bitcoin#32822: fuzz: Make process_message(s) more deterministic face8123fd log: [refactor] Use info level for init logs fa183761cb log: Remove function name from init logs 5ad79b2035 Merge bitcoin/bitcoin#32593: wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC ea17a9423f [doc] release note for relaxing requirement of all unconfirmed parents present 12f48d5ed3 test: add chained 1p1c propagation test 525be56741 [unit test] package submission 2p1c with 1 parent missing f24771af05 relax child-with-unconfirmed-parents rule e17fb86382 Merge bitcoin/bitcoin#32888: ci: Use optimized Debug build type in test-each-commit fd3d80c209 Merge bitcoin/bitcoin#33047: test: check proper OP_2ROT behavior 1119ac51f0 Merge bitcoin/bitcoin#33040: doc: update headers and remove manual TOCs e2f2df0ead Merge bitcoin/bitcoin#32984: wallet: Set migrated wallet name only on success 16f7b43b68 Merge bitcoin/bitcoin#33049: doc: Fix typos in asmap README b59dc21847 doc: Fix typos in asmap README ca38cf701d doc: fix a few obvious typos in the affected files ddab466e0d doc: remove manual TOCs 26a3730711 doc: unify `developer-notes` and `productivity` header styles eb13718448 Merge bitcoin/bitcoin#31179: RPC: Add reserve member function to `UniValue` and use it in `blockToJSON` function 86e3a0a8cb refactor: standardize obfuscation memory alignment 13f00345c0 refactor: write `Obfuscation` object when new key is generated in dbwrapper eb65f57f31 [test] setmocktime instead of waiting in 1p1c tests 70772dd469 [test] cut the number of transactions involved in 1p1c DoS tests b94c6356a2 test: check proper OP_2ROT behavior 73e754bd01 Merge bitcoin/bitcoin#33001: test: Do not pass tests on unhandled exceptions a9819b0e9d refactor: Change `FindTxForGetData` to take GenTxid instead of CInv d588575ed1 refactor: miscellaneous GenTxid followups cfb859e82e Merge bitcoin/bitcoin#33037: doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) afd3b34dc5 Merge bitcoin/bitcoin#33004: Enable `-natpmp` by default 49bbf9ff28 Merge bitcoin/bitcoin#33036: Update secp256k1 subtree to latest master c5c1960f93 doc: Add release notes for changes in RPCs 90fd5acbe5 rpc, test: Fix error message in getdescriptoractivity 39fef1d203 test: Add missing logging info for each test 53ac704efd rpc, test: Fix error message in unloadwallet 1fc3a8e8e7 rpc, test: Add EnsureUniqueWalletName tests 900bb53905 Merge bitcoin/bitcoin#32990: wallet: remove outdated `pszSkip` arg of database `Rewrite` func c8ec423719 Merge bitcoin/bitcoin#33020: test: delete commented-out tests and add a test case in wallet_signer 09f004bd9f Merge bitcoin/bitcoin#32945: tests: speed up coins_tests by parallelizing 5d98fc7559 Merge bitcoin/bitcoin#33030: test: check tx is final when there is no locktime e5b1b7c557 refactor: rename `OBFUSCATION_KEY_KEY` 298bf95105 refactor: simplify `Obfuscation::HexKey` 2dea045425 test: make `obfuscation_serialize` more thorough a17d8202c3 test: merge xor_roundtrip_random_chunks and xor_bytes_reference b635bc0896 rpc, util: Add EnsureUniqueWalletName da318fe53f test: delete commented out tests 6d80e999a0 test: external signer returns invalid JSON response 065e42976a test: IsFinalTx returns true when there is no locktime 1cb2399703 doc: clarify the GetAddresses/GetAddressesUnsafe documentation e5a7dfd79f p2p: rename GetAddresses -> GetAddressesUnsafe faa2f3b1af doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) 336b8be37b Update secp256k1 subtree to latest master 5600e6fc4b Squashed 'src/secp256k1/' changes from 4187a46649..b9313c6e1a 06ab3a394a tests: speed up coins_tests by parallelizing 7129c9ea8e Merge bitcoin/bitcoin#32827: mempool: Avoid needless vtx iteration during IBD 11c6a864c9 Merge bitcoin/bitcoin#33007: test: fix `ReadTopologicalSet` unsigned integer overflow 9bc33432e2 Merge bitcoin/bitcoin#32999: ci: Use APT_LLVM_V in msan task 5878f35446 Merge bitcoin/bitcoin#31144: [IBD] multi-byte block obfuscation 249889bee6 orphanage: avoid vtx iteration when no orphans 41ad2be434 mempool: Avoid expensive loop in `removeForBlock` during IBD e9edd43a95 Merge bitcoin/bitcoin#32521: policy: make pathological transactions packed with legacy sigops non-standard 80067ac111 Merge bitcoin/bitcoin#31829: p2p: improve TxOrphanage denial of service bounds 31c4e77a25 test: fix ReadTopologicalSet unsigned integer overflow 672c85cb1e Merge bitcoin/bitcoin#32868: test: refactor: overhaul block hash determination for `CBlock{,Header}` objects fa1a14a13a fuzz: Reset chainman state in process_message(s) targets fa9a3de09b fuzz: DisableNextWrite aeeeeec9f7 fuzz: Reset dirty connman state in process_message(s) targets fa11eea405 fuzz: Avoid non-determinism in process_message(s) target (PeerMan) faa3e68411 test: Log KeyboardInterrupt as exception fac90e5261 test: Check that the GUI interactive reindex works b2d07f872c Add release notes for -natpmp enabled by default 3fc660d267 mapport: turn -natpmp to on by default fa30b34026 test: Do not pass tests on unhandled exceptions 96da68a38f qa: functional test a transaction running into the legacy sigop limit 367147954d qa: unit test standardness of inputs packed with legacy sigops 5863315e33 policy: make pathological transactions packed with legacy sigops non-standard. 5fa34951ea test: avoid unneeded block header hash -> integer conversions 2118301d77 test: rename CBlockHeader `.hash` -> `.hash_hex` for consistency 23be0ec2f0 test: rename CBlockHeader `.rehash()`/`.sha256` -> `.hash_int` for consistency 8b09cc350a test: remove bare CBlockHeader `.rehash()`/`.calc_sha256()` calls 0716382c20 test: remove header hash caching in CBlockHeader class 0f044e82bd test: avoid direct block header modification in feature_block.py f3c791d2e3 test: refactor: dedup `CBlockHeader` serialization fad040a578 ci: Use APT_LLVM_V in msan task 76fe0e59ec test: Migration of a wallet ending in `../` f0bb3d50fe test: Migration of a wallet ending in `/` 41faef5f80 test: Migration fail recovery w/ `../` in path 63c6d36437 test: Migration of a wallet with `../` in path. 70f1c99c90 wallet: Fix migration of wallets with pathnames. f6ee59b6e2 wallet: migration: Make backup in walletdir e22c3599c6 test: wallet: Check direct file backup name. 060695c22a test: Failed load after migrate should restore backup 248b6a27c3 optimization: peel align-head and unroll body to 64 bytes e7114fc6dc optimization: migrate fixed-size obfuscation from `std::vector<std::byte>` to `uint64_t` 478d40afc6 refactor: encapsulate `vector`/`array` keys into `Obfuscation` 377aab8e5a refactor: move `util::Xor` to `Obfuscation().Xor` fa5d296e3b refactor: prepare mempool_persist for obfuscation key change 6bbf2d9311 refactor: prepare `DBWrapper` for obfuscation key change 0b8bec8aa6 scripted-diff: unify xor-vs-obfuscation nomenclature 972697976c bench: make ObfuscationBench more representative 618a30e326 test: compare util::Xor with randomized inputs against simple impl a5141cd39e test: make sure dbwrapper obfuscation key is never obfuscated 54ab0bd64c refactor: commit to 8 byte obfuscation keys 7aa557a37b random: add fixed-size `std::array` generation b6d4688f77 [doc] reword comments in test_mid_package_replacement f3a613aa5b [cleanup] delete brittle test_mid_package_eviction 9f713b83dc Merge bitcoin/bitcoin#32837: depends: fix libevent `_WIN32_WINNT` usage 2dfeb6668c wallet: remove outdated `pszSkip` arg of database `Rewrite` func faaaddaaf8 init: [gui] Avoid UB/crash in InitAndLoadChainstate 8a4cfddf23 wallet: Set migrated wallet name only on success 4f502baf8f doc: add alpine depends build instructions d89c6fa4a7 wallet: Remove `upgradewallet` RPC 184159e4f3 Merge bitcoin/bitcoin#32922: test: use notarized v28.2 binaries and fix macOS detection 5d17e64a02 Merge bitcoin/bitcoin#32677: test: headers sync timeout 0087ba409b Merge bitcoin/bitcoin#32968: test: fix intermittent failure in rpc_invalidateblock.py 50024620b9 [bench] worst case LimitOrphans and EraseForBlock 45c7a4b56d [functional test] orphan resolution works in the presence of DoSy peers 835f5c77cd [prep/test] restart instead of bumpmocktime between p2p_orphan_handling subtests b113877545 [fuzz] Add simulation fuzz test for TxOrphanage 03aaaedc6d [prep] Return the made-reconsiderable announcements in AddChildrenToWorkSet ea29c4371e [p2p] bump DEFAULT_MAX_ORPHANAGE_LATENCY_SCORE to 3,000 24afee8d8f [fuzz] TxOrphanage protects peers that don't go over limit a2878cfb4a [unit test] strengthen GetChildrenFromSamePeer tests: results are in recency order 7ce3b7ee57 [unit test] basic TxOrphanage eviction and protection 4d23d1d7e7 [cleanup] remove unused rng param from LimitOrphans 067365d2a8 [p2p] overhaul TxOrphanage with smarter limits 1a41e7962d [refactor] create aliases for TxOrphanage Count and Usage b50bd72c42 [prep] change return type of EraseTx to bool 3da6d7f8f6 [prep/refactor] make TxOrphanage a virtual class implemented by TxOrphanageImpl 77ebe8f280 [prep/test] have TxOrphanage remember its own limits in LimitOrphans d0af4239b7 [prep/refactor] move DEFAULT_MAX_ORPHAN_TRANSACTIONS to txorphanage.h 51365225b8 [prep/config] remove -maxorphantx 8dd24c29ae [prep/test] modify test to not access TxOrphanage internals c3cd7fcb2c [doc] remove references to now-nonexistent Finalize() function d8140f5f05 don't make a copy of m_non_base_coins 98ba2b1db2 [doc] MemPoolAccept coins views ba02c30b8a [doc] always CleanupTemporaryCoins after a mempool trim b53fab1467 Merge bitcoin/bitcoin#32948: refactor: cleanup index logging 62ed1f92ef txgraph: check that DoWork finds optimal if given high budget (tests) f3c2fc867f txgraph: add work limit to DoWork(), try optimal (feature) fa1fd07468 ci: Enable more shellcheck e96b00d99e txgraph: make number of acceptable iterations configurable (feature) cfe9958852 txgraph: track amount of work done in linearization (preparation) 6ba316eaa0 txgraph: 1-or-2-tx split-off clusters are optimal (optimization) fad0eb091e txgraph: reset quality when merging clusters (bugfix) 61e800e75c test: headers sync timeout 28416f367a test: fix intermittent failure in rpc_invalidateblock.py e72cb20c3f Merge bitcoin/bitcoin#32943: depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` 97fb46d0a0 Merge bitcoin/bitcoin#32880: ci: Avoid cd into build dir 69b9ad02da Merge bitcoin/bitcoin#32954: cmake: Drop no longer necessary "cmakeMinimumRequired" object 7566b40bd2 Merge bitcoin/bitcoin#32961: fix spelling in tor.md docs faa3171ff2 ci: Use optimized Debug build type in test-each-commit fa21c3401e ci: [doc] reword debug log message 84ef5524d5 fix spelling in tor.md docs 12a6959892 cmake: Drop no longer necessary "cmakeMinimumRequired" object 6a13a6106e Merge bitcoin/bitcoin#32937: Enable `-Werror=dev` in CI & Guix 44f5327824 [fuzz] add SeedRandomStateForTest(SeedRand::ZEROS) to txorphan 15a4ec9069 [prep/rpc] remove entry and expiry time from getorphantxs 08e58fa911 [prep/refactor] move txorphanage to node namespace and directory bb91d23fa9 [txorphanage] change type of usage to int64_t 23e15d40b9 Merge bitcoin/bitcoin#32631: refactor: Convert GenTxid to `std::variant` 8ffbd7b778 Merge bitcoin/bitcoin#32940: cmake: Use newer signature of `qt6_add_lrelease` when available 80ce513766 Merge bitcoin/bitcoin#32933: log: Properly log warnings with warn loglevel in addrdb c18bf0bd9b refactor: cleanup index logging 8f766f39df ci: enable -Werror=dev 7b420ca834 guix: configure with -Werror=dev 44097ddb19 cmake: enable -Werror=dev in dev-mode preset 12fb00fd42 Merge bitcoin/bitcoin#32927: fuzz: Add missing calls to `SetMockTime` for determinism f5647c6c5a depends: fix libevent _WIN32_WINNT usage 3c1418666b Merge bitcoin/bitcoin#32930: Resolve guix non-determinism with emplace_back instead of push_back bad998b7c0 Merge bitcoin/bitcoin#32921: test: less ambiguous error if bitcoind is missing 7f28e80329 Merge bitcoin/bitcoin#32758: wallet: remove dead code in legacy wallet migration 5ef0d4897b Merge bitcoin/bitcoin#30605: Cluster linearization: separate tests from tests-of-tests f43571010e Resolve guix non-determinism with emplace_back instead of push_back 44f3bae300 depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` 94931656b5 cmake: Use newer signature of `qt6_add_lrelease` when available fad191ff48 ci: Avoid cd into build dir b80ead8a71 Merge bitcoin/bitcoin#32890: bench: Avoid tmp files in pwd c4f90900b5 Merge bitcoin/bitcoin#32932: test: Add missing convert_to_json_for_cli fa894b0f3e log: Properly log warnings with warn loglevel in addrdb 83ae7802fe Merge bitcoin/bitcoin#32881: test: Turn rpcauth.py test into functional test fa0528479d test: Add missing convert_to_json_for_cli a40e953658 Merge bitcoin/bitcoin#30479: validation: Add eligible ancestors of reconsidered block to setBlockIndexCandidates 1ca62edd85 Merge bitcoin/bitcoin#32580: wallet, test: best block locator matches scan state follow-ups 2cad7226c2 Merge bitcoin/bitcoin#32799: mempool: use `FeeFrac` for ancestor/descendant score comparators 2d59977601 Merge bitcoin/bitcoin#32604: log: Mitigate disk filling attacks by rate limiting LogPrintf, LogInfo, LogWarning, LogError 4c772cbd83 doc: add release notes for new rate limiting logging behavior d541409a64 log: Add rate limiting to LogPrintf, LogInfo, LogWarning, LogError, LogPrintLevel a6a35cc0c2 log: use std::source_location in place of __func__, __FILE__, __LINE__ afb9e39ec5 log: introduce LogRateLimiter, LogLimitStats, Status df7972a6cf test: Mark ~DebugLogHelper as noexcept(false) fa8862723c fuzz: CheckGlobals in init fa26bfde98 test: Avoid resetting mocktime in testing setup fa6b45fa8e Add SetMockTime for time_point types a60f863d3e scripted-diff: Replace GenTxidVariant with GenTxid c8ba199598 Remove old GenTxid class 072a198ea4 Convert remaining instances of GenTxid to GenTxidVariant 1b528391c7 Convert `txrequest` to GenTxidVariant bde4579b07 Convert `txdownloadman_impl` to GenTxidVariant c876a892ec Replace GenTxid with Txid/Wtxid overloads in `txmempool` de858ce2be move-only: make GetInfo a private CTxMemPool member 4bb4c86599 test: document HOST for get_previous_releases.py 609203d507 test: stop signing previous releases >= v28.2 c6dc2c29f8 test: replace v28.0 with notarized v28.2 5bd73d96a3 test: fix macOS detection eee473d9f3 Convert `CompareInvMempoolOrder` to GenTxidVariant b7e9dc8e46 Merge bitcoin/bitcoin#32884: rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF` fa4d68cf97 Turn rpcauth.py test into functional test 83bb414557 test: less ambiguous error if bitcoind is missing 150b5c99ca wallet: replace `reload_wallet` with inline functionality 927055e42a Merge bitcoin/bitcoin#32893: doc: fix `BlockConnected` incorrect comment a8bff38236 Merge bitcoin/bitcoin#32862: rpc: use CScheduler for relocking wallet and remove RPCTimer 21b42f3c55 Merge bitcoin/bitcoin#32660: rpc: Use type-safe exception to pass RPC help 528f79f010 Merge bitcoin/bitcoin#32835: test: fix feature_init.py intermittencies fc543f94a9 Merge bitcoin/bitcoin#32385: test: refactor out same-txid-diff-wtxid tx to reuse in other tests 09add84fc5 Merge bitcoin/bitcoin#32618: wallet: Remove ISMINE_WATCHONLY and watchonly from RPCs 87ab69155d Merge bitcoin/bitcoin#31553: cluster mempool: add TxGraph reorg functionality 4e69aa5701 doc: fix `BlockConnected` incorrect comment d33c111448 Merge bitcoin/bitcoin#32829: threading: use correct mutex name in reverse_lock fatal error messages de4eef52d1 threading: use correct mutex name in reverse_lock fatal error messages fa2fbaa4a2 bench: Avoid tmp files in pwd d3b8a54a81 Refactor CFeeRate to use FeeFrac internally 6d19815cd4 rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF` for code clarity f49840dd90 doc: Fix typo in files.md 4207d9bf82 test: feature_init, ensure indexes are synced prior to perturbing files e3f416dbf7 Merge bitcoin/bitcoin#32463: test: fix an incorrect `feature_fee_estimation.py` subtest ea4285775e Merge bitcoin/bitcoin#29307: util: explicitly close all AutoFiles that have been written f5cf0b1ccc bitcoin wrapper: improve help output 51ccc71b1b Merge bitcoin/bitcoin#32858: doc: Add workaround for vcpkg issue with paths with embedded spaces fcfd3db563 remove RPCTimerInterface and RPCRunLater 8a1765795f use WalletContext scheduler for walletpassphrase callback 927e9b220f Merge bitcoin/bitcoin#32716: depends: Override host compilers for FreeBSD and OpenBSD c7fe8abb5f Merge bitcoin/bitcoin#31233: cmake: Improve Python robustness and test usability 6251949443 Merge bitcoin/bitcoin#32290: test: allow all functional tests to be run or skipped with --usecli 0f86da382d wallet: remove dead code in legacy wallet migration 49d5f1f2c6 Merge bitcoin/bitcoin#32850: test: check P2SH sigop count for coinbase tx abd07cf733 test: feature_init, only init what's needed per perturbation/deletion round 1927432354 Merge bitcoin/bitcoin#32859: functional test: correctly detect nonstd TRUC tx vsize in feature_taproot 68ca13e1f9 Merge bitcoin/bitcoin#32823: test: Fix wait_for_getheaders() call in test_outbound_eviction_blocks_relay_only() 35cae56a92 Merge bitcoin/bitcoin#31423: wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet 1632fc104b txgraph: Track multiple potential would-be clusters in Trim (improvement) 4608df37e0 txgraph: add Trim benchmark (benchmark) 9c436ff01c txgraph: add fuzz test scenario that avoids cycles inside Trim() (tests) 938e86f8fe txgraph: add unit test for TxGraph::Trim (tests) a04e205ab0 txgraph: Add ability to trim oversized clusters (feature) eabcd0eb6f txgraph: remove unnecessary m_group_oversized (simplification) 19b14e61ea txgraph: Permit transactions that exceed cluster size limit (feature) c4287b9b71 txgraph: Add ability to configure maximum cluster size/weight (feature) f0524cda39 functional test: correctly detect nonstd TRUC tx vsize in feature_taproot 0a1af4418e doc: Add workaround for vcpkg issue with paths with embedded spaces a92e8b10a5 Merge bitcoin/bitcoin#32564: miniscript, refactor: Make `operator""_mst` `consteval` (re-take) bf75c9964f Merge bitcoin/bitcoin#32828: build, docs: Fix Boost-related issues on NetBSD 7fa9b58bd9 Merge bitcoin/bitcoin#32841: feature_taproot: sample tx version border values more 1b5c545e82 wallet, test: best block locator matches scan state follow-ups fa33592898 Merge bitcoin/bitcoin#32723: Refactor: Redefine CTransaction equality to include witness data ce000c8ee0 Merge bitcoin/bitcoin#32219: test: enabling wallet migration functional test on windows f33154c464 Merge bitcoin/bitcoin#32432: wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them fa9b1e3544 Merge bitcoin/bitcoin#32846: doc: clarify that the "-j N" goes after the "--build build" part b1a8ac07e9 doc: Release note for removed watchonly parameters and results 15710869e1 wallet: Remove ISMINE_WATCH_ONLY 4439bf4b41 wallet, spend: Remove fWatchOnly from CCoinControl 1337c72198 wallet, rpc: Remove watchonly from RPCs e81d95d435 wallet: Remove watchonly balances d20dc9c6aa wallet: Wallets without private keys cannot grind R 9991f49c38 test: Watchonly wallets should estimate larger size d6aaffcb11 test: check P2SH sigop count for coinbase tx b1821d8dd3 Merge bitcoin/bitcoin#27286: wallet: Keep track of the wallet's own transaction outputs in memory 0e9f409db3 doc: clarify that the "-j N" goes after the "--build build" part 67dc7523f3 cmake, test: Disable tests instead of ignoring them bb9157db5d cmake, refactor: Switch to `Python3::Interpreter` imported target ed7a841f82 Merge bitcoin/bitcoin#32816: contrib: correct variable name in p2p_monitor.py 2ae5154dd8 Merge bitcoin/bitcoin#32842: doc: add `/spenttxouts` to REST-interface.md 243553d590 refactor: replace get_iter_from_wtxid with GetIter(const Wtxid&) fcf92fd640 refactor: make CTxMemPool::GetIter strongly typed 23a00fcf57 Merge bitcoin/bitcoin#32783: doc: Add fetching single PRs from upstream to productivity.md dd99cedc0b doc: add `/spenttxouts` to REST-interface.md 4be81e9746 feature_taproot: sample tx version border values more 6e5b67a370 Merge bitcoin/bitcoin#32697: test: Turn util/test_runner into functional test fb2c16cf7b Merge bitcoin/bitcoin#32826: p2p: add more bad ports f5f3e1f263 Merge bitcoin/bitcoin#32646: p2p: Add witness mutation check inside FillBlock a763497b1d Merge bitcoin/bitcoin#32834: test: Use msg_generic in p2p_ping.py fa3f100010 test: Use msg_generic in p2p_ping.py 33480573cb Merge bitcoin/bitcoin#32833: test: Add `msgtype` to `msg_generic` slots 9501738e1c Merge bitcoin/bitcoin#32825: rest: rename `strURIPart` to `uri_part` 5a5ddbd789 build: Add workaround for NetBSD bug in `Boost::headers` target 6967e8e8ab add more bad p2p ports 7dc43ea503 test: Add msgtype to msg_generic slots 4eb3cee919 doc: Update NetBSD Build Guide 856f4235b1 scripted-diff: rest: rename `strURIPart` -> `uri_part` b3bb4031ab Merge bitcoin/bitcoin#32540: rest: fetch spent transaction outputs by blockhash 3086c21df4 Merge bitcoin/bitcoin#32243: test: added fuzz coverage for consensus/merkle.cpp 319ff58bbd Merge bitcoin/bitcoin#32638: blocks: force hash validations on disk read ec004cdb86 test: Use rehash() in outbound eviction block-relay 26598ed21e test: Clarify roles in outbound eviction comments 689318ccd9 Merge bitcoin/bitcoin#32667: build: Find Boost in config mode 4a3475a43e Merge bitcoin/bitcoin#32819: Add release note for #32530 558f0880a8 Add release note for #32530 c43cc48aaa Merge bitcoin/bitcoin#32530: node: cap `-maxmempool` and `-dbcache` values for 32-bit 4145a9463a Merge bitcoin/bitcoin#32731: depends: Build `qt` package for FreeBSD hosts 14653b869b build: Find Boost in config mode 67ea4b9994 Merge bitcoin/bitcoin#32814: cmake: Explicitly specify `Boost_ROOT` for Homebrew's package 5170ec1ae3 Merge bitcoin/bitcoin#32665: depends: Bump boost to 1.88.0 and use new CMake buildsystem 8fafb81320 Merge bitcoin/bitcoin#32805: cmake: Use `HINTS` instead of `PATHS` in `find_*` commands 6bb38bf37f Update p2p_monitor.py 9b75cfda4d test: retain the intended behavior of `feature_fee_estimation.py` nodes 5c1236f04a test: fix incorrect subtest in `feature_fee_estimation.py` e5f9218b6a Merge bitcoin/bitcoin#32742: test: fix catchup loop in outbound eviction functional test 11d28f21bb Implement GenTxid as a variant 215e5999e2 wallet: Remove unused CachedTxGet{Available,Immature}Credit 49675de035 wallet: Have GetDebit use the wallet's TXO set 17d453cb3a wallet: Recompute wallet TXOs after descriptor migration 764016eb22 wallet: Retrieve TXO directly in FetchSelectedInputs c1801b78f1 wallet: Use wallet's TXO set in AvailableCoins dde7cbe105 wallet: Change balance calculation to use m_txos 96e7a89c5e wallet: Recalculate the wallet's txos after any imports ae888c38d0 wallet: Exit IsTrustedTx early if wtx is already in trusted_parents ae0876ec42 wallet: Keep track of transaction outputs owned by the wallet 0f269bc48c walletdb: Load Txs last 5cc32ee2a7 test: Test for balance update due to untracked output becoming spendable 8222341d4f wallet: MarkDirty after AddWalletDescriptor e02f2d331c bench: Have AvailableCoins benchmark include a lot of unrelated utxos f27898c8bf Merge bitcoin/bitcoin#32721: wallet, rpc: Remove deprecated balances from getwalletinfo and getunconfirmedbalance 8578fabb95 Merge bitcoin/bitcoin#32597: wallet: Always set descriptor cache upgraded flag for new wallets 941b8f54c0 ci: run get_previous_releases as part of test cross win job 5e2182140b test: increment mocked time for migrating wallet backups 5174565802 ci: disable feature_unsupported_utxo_db functional test 3dc90d69a6 test: remove mempool.dat before copying 67a6b20d50 test: add windows support to get previous releases script 01f9081955 Merge bitcoin/bitcoin#32768: wallet: Remove `CWalletTx::fTimeReceivedIsTxTime` c1d8a542b4 Merge bitcoin/bitcoin#32727: doc: add release notes for #32425 1a1b478ca3 scripted-diff: rename tarball to archive 4f06dc8484 test: remove building from source from get prev releases script 45b1d39757 doc: Add fetching single PRs from upstream 8800b5acc1 cmake: Explicitly specify `Boost_ROOT` for Homebrew's package b9a2e8ee96 doc: add release notes for https://github.com/bitcoin/bitcoin/pull/32425 aac0b6dd79 test: test sendall and send do anti-fee-sniping 20802c7b65 wallet, rpc: add anti-fee-sniping to `send` and `sendall` 6c2538d5bf depends: Bump boost to 1.88.0 and use new CMake buildsystem 7d5a6d1739 Merge bitcoin/bitcoin#32798: build: add root dir to CMAKE_PREFIX_PATH in toolchain a34fb9ad6c miniscript: Make `operator""_mst` `consteval` 14052162b1 Revert "miniscript: make operator_mst consteval" 5fe7915c86 doc: Add musig() example d576079ab4 tests: Test musig() parsing a53924bee3 descriptor: Parse musig() key expressions 9473e9606c descriptors: Move DeriveType parsing into its own function 4af0dca096 descriptor: Add MuSigPubkeyProvider ead4468748 cmake: Use `HINTS` instead of `PATHS` in `find_*` commands ad654a4807 Merge bitcoin/bitcoin#32767: ci: Allow running CI in worktrees 67e6746dc8 Merge bitcoin/bitcoin#32780: lsan: add more Qt suppressions e27a94596f build: add root dir to CMAKE_PREFIX_PATH 173394d951 depends: Build `qt` package for FreeBSD hosts 922adf66ac mempool: use `FeeFrac` for calculating regular score 3322b3a059 mempool: use `FeeFrac` for calculating ancestor score ac9c113bd2 mempool: use `FeeFrac` for calculating descendant score e95bfc1d53 Merge bitcoin/bitcoin#32797: doc: archive 28.2 release notes 666016e56b ci: use --usecli in one of the CI jobs 7ea248a020 test: Disable several (sub)tests with cli f420b6356b test: skip subtests that check for wrong types with cli 6530d0015b test: add function to convert to json for height_or_hash params 54d28722ba test: Don't send empty named args with cli cca422060e test: convert tuple to json for cli af34e98086 test: make rpc_psbt.py usable with --usecli 8f8ce9e174 test: rename .rpc to ._rpc and remove unnecessary uses 5b08885986 test: enable functional tests with large rpc args for cli 7d5352ac73 test: use -stdin for large rpc commands 6c364e0c10 test: Enable various tests for usage with cli 907842363c doc: archive 28.2 release notes c5849663ba Merge bitcoin/bitcoin#32771: contrib: tracing: Fix read of `pmsg_type` in p2p_monitor.py 8a36a471e6 Merge bitcoin/bitcoin#32781: refactor: modernize deprecated ipc headers ed060e01e7 Merge bitcoin/bitcoin#32725: test: round difficulty and networkhashps daf393b3f1 Merge bitcoin/bitcoin#32642: test: update BIP340 test vectors and implementation (variable-length messages) 482d255376 Merge bitcoin/bitcoin#32736: wallet: Correct dir iteration error handling c40dbbbf77 test: Move `script_assets_tests` into its own suite 74b7e9c7db refactor: modernize deprecated ipc headers 154b98a7aa Merge bitcoin/bitcoin#32772: fuzz: wallet: remove `FundTx` from `FuzzedWallet` fa183045a1 Merge bitcoin/bitcoin#32765: test: Fix list index out of range error in feature_bip68_sequence.py 5be31b20e5 lsan: add more Qt suppressions e18322eff2 Merge bitcoin/bitcoin#32774: doc: Explain how to fetch commits directly b861419254 Merge bitcoin/bitcoin#32777: doc: fix Transifex 404s 79afe6b7c0 Merge bitcoin/bitcoin#32776: doc: taproot became always active in v24.0 (doc/bips.md) 53a996f122 doc: fix transifex 404s 8ee8a951c2 doc: taproot became always active in v24.0 fa21631595 test: Use self.log fa346f7797 test: Move error string into exception fa1986181f test: Remove useless catch-throw fa94fd53c9 doc: Explain how to fetch commits directly 9a7eece5a4 Merge bitcoin/bitcoin#31981: Add checkBlock() to Mining interface 8cc9845b8d wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them 3473986fe1 contrib: tracing: Correctly read msg type in p2p_monitor.py cd1ae1b4df fuzz: wallet: remove FundTx from FuzzedWallet fa68dcb207 ci: Add missing errexit to lint CI install fa535a6de7 ci: Allow running CI in worktrees faf6a04597 ci: Clean UID/GID mismatch 9eb2c82e7c walletdb: Remove unused upgraded_txs c668033709 wallet: Remove unused fTimeReceivedIsTxTime 5e6dbfd14e Merge bitcoin/bitcoin#32465: thread-safety: fix annotations with REVERSE_LOCK e285e691b7 test: Fix list index out of range error in feature_bip68_sequence.py 1be688f575 Merge bitcoin/bitcoin#32682: wallet: have external signer use PSBT error code EXTERNAL_SIGNER_NOT_FOUND a201a99f8c thread-safety: fix annotations with REVERSE_LOCK 26747d9f3e Merge bitcoin/bitcoin#32760: depends: capnp 1.2.0 c10e382d2a flatfile: check whether the file has been closed successfully 4bb5dd78ea util: check that a file has been closed before ~AutoFile() is called 8bb34f07df Explicitly close all AutoFiles that have been written a69c4098b2 rpc: take ownership of the file by WriteUTXOSnapshot() c7eaac326a depends: capnp 1.2.0 afaaba69ed test: refactor out same-txid-diff-wtxid tx to reuse in other tests 084eee0291 Merge bitcoin/bitcoin#32743: refactor: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()` c48846ec41 doc: add release notes for #32540 d7fca5c171 clusterlin: add big comment explaning the relation between tests b64e61d2de clusterlin: abstract try-permutations into ExhaustiveLinearize function 1fa55a64ed clusterlin tests: verify that chunks are minimal da23ecef29 clusterlin tests: support non-empty ReadTopologicalSubset() 94f3e17c33 clusterlin tests: compare with fuzz-provided linearizations 5f92ebee0d clusterlin tests: compare with fuzz-provided topological sets 6e37824ac3 clusterlin tests: optimize clusterlin_simple_linearize 98c1c88b6f clusterlin tests: separate testing of SimpleLinearize and Linearize 10e90f7aef clusterlin tests: make SimpleCandidateFinder always find connected a38c38951e clusterlin tests: separate testing of Search- and SimpleCandidateFinder 77a432ee70 clusterlin tests: count SimpleCandidateFinder iterations better a18e572328 test: more template verification tests 10c908808f test: move gbt proposal mode tests to new file 94959b8dee Add checkBlock to Mining interface 6077157531 ipc: drop BlockValidationState special handling 74690f4ed8 validation: refactor TestBlockValidity 2def858473 Merge bitcoin/bitcoin#32481: wallet, refactor: Remove Legacy wallet unused warnings and errors 287cd04a32 Merge bitcoin/bitcoin#32594: wallet, rpc: Return normalized descriptor in parent_descs fd74d609be Merge bitcoin/bitcoin#32620: wallet: Fix wallet interface detection of encrypted wallets 6ecb9fc65f chore: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()` 65b26507b8 Merge bitcoin/bitcoin#32746: test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py 3e81684426 Merge bitcoin/bitcoin#32739: tsan: remove note about dropping Qt wildcards b8eb17792e Merge bitcoin/bitcoin#32175: fuzz: doc: add info about `afl-system-config` for macOS 206bc05e62 test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py 272cd09b79 log: Use warning level while scanning wallet dir 1777644367 qa, wallet: Verify warning when failing to scan 893e51ffeb wallet: Correct dir iteration error handling 52e6e93c3f Merge bitcoin/bitcoin#32693: depends: fix cmake compatibility error for freetype fa2f1c55b7 move-only util data to test/functional/data/util faa18bf287 test: Turn util/test_runner into functional test fa955154c7 test: Add missing skip_if_no_bitcoin_tx 9341b5333a blockstorage: make block read hash checks explicit 2371b9f4ee test/bench: verify hash in `ComputeFilter` reads 5d235d50d6 net: assert block hash in `ProcessGetBlockData` and `ProcessMessage` 5db0a4a2db tsan: remove note about dropping Qt wildcards d91c718a68 Merge bitcoin/bitcoin#32717: doc: Update Qt 6 packages on FreeBSD fac9db6eb0 test: Add missing tx util to Binaries fa91835ec6 test: Use lowercase env var as attribute name fac49094cd test: Remove duplicate ConfigParser 9dfc61d95f test: detect no external signer connected dd8447f70f test: fix catchup loop in outbound eviction functional test 19765dca19 Merge bitcoin/bitcoin#32694: index: move disk read lookups to base class 8cc3ac6c23 validation: Don't use IsValid() to filter for invalid blocks 86d98b94e5 test: verify that ancestors of a reconsidered block can become the chain tip 3c39a55e64 validation: Add ancestors of reconsiderblock to setBlockIndexCandidates 1df96f5931 doc: Update Qt 6 packages on FreeBSD d7c37906e7 build: patch cmake min version on freetype fa946520d2 refactor: Use structured binding for-loop eeeec1579e rpc: Use type-safe exception to pass RPC help 5757de4ddd Merge bitcoin/bitcoin#32673: clang-tidy: Apply modernize-deprecated-headers 1473f69924 Merge bitcoin/bitcoin#32421: test: refactor: overhaul (w)txid determination for `CTransaction` objects 7c0cfce20d Merge bitcoin/bitcoin#31405: validation: stricter internal handling of invalid blocks d00d95437d Add MuSig2 Keyagg Cache helper functions 8ecea91bf2 sign: Add GetMuSig2ParticipantPubkeys to SigningProvider fac0ee0bfc build: Enable secp256k1 musig module 1894f97503 descriptors: Add PubkeyProvider::IsBIP32() 12bc1d0b1e util/string: Allow Split to include the separator 8811312571 script/parsing: Allow Const to not skip the found constant 851f540d0e Merge bitcoin/bitcoin#32703: test: Explain how to reproduce zmq:: upstream race 5af5e9791d Merge bitcoin/bitcoin#32690: depends: fix multiprocess build on OpenBSD (apply capnp patch, correct SHA256SUM command) fed41b75fb Merge bitcoin/bitcoin#32431: deps: Bump lief to 0.16.6 e017ef3c7e init: make `-blockmaxweight` startup option debug-only 578ea3eedb test: round difficulty and networkhashps c8abd97281 Merge bitcoin/bitcoin#32719: doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project" 029ba1a21d index: remove CBlockIndex access from CustomAppend() 91b7ab6c69 refactor: index, simplify CopyHeightIndexToHashIndex to process single block 4f56c9145a refactor: contrib: Move FORTIFY check to BASE_ELF f6d25e8a2d contrib: Re-enable FORTIFY check for RISCV 765922d802 deps: bump lief to 0.16.6 4b8ac9eacd Merge bitcoin/bitcoin#32680: ci: Rewrite test-each-commit as py script 4ef6253017 test: avoid unneeded (w)txid hex -> integer conversions 472f3770ae scripted-diff: test: rename CTransaction `.getwtxid()` -> `wtxid_hex` for consistency 81af4334e8 test: rename CTransaction `.sha256` -> `.txid_int` for consistency ce83924237 test: rename CTransaction `.rehash()`/`.hash` -> `.txid_hex` for consistency 6efbd1e1dc refactor: CTransaction equality should consider witness data cbf9b2dab1 mempool: codify existing assumption about duplicate txids during removal c3fe85e2d6 wallet, rpc, test: Remove deprecated getunconfirmedbalance 0ec255139b wallet, rpc: Remove deprecated balances from getwalletinfo e9331cd6ab wallet: IsEquivalentTo should strip witness data in addition to scriptsigs 157bbd0a07 Merge bitcoin/bitcoin#32425: config: allow setting -proxy per network ebec7bf389 Merge bitcoin/bitcoin#32572: doc: Remove stale sections in dev notes ce90f0c99f rpc, wallet, refactor: Remove non-descriptor errors 573bcd75d7 wallet, refactor: Remove unused SetupGeneration 5431f2dc21 wallet, refactor: Remove Legacy warnings and errors 6f1392cc42 indexes, refactor: Remove remaining CBlockIndex* uses in index Rewind methods 0a248708dc indexes, refactor: Stop requiring CBlockIndex type to call IsBIP30Unspendable 011a8c5f01 Merge bitcoin/bitcoin#32696: doc: make `-DWITH_ZMQ=ON` explicit on `build-unix.md` fe39050a66 Merge bitcoin/bitcoin#32678: guix: warn and abort when SOURCE_DATE_EPOCH is set 692fe280c2 Merge bitcoin/bitcoin#32713: doc: fuzz: fix AFL++ link 28299ce776 p2p: remove vestigial READ_STATUS_CHECKBLOCK_FAILED bac9ee4830 p2p: Add witness mutation check inside FillBlock 4f10a57671 depends: Override host compilers for FreeBSD and OpenBSD 239fc4d62e doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project" c1d4253d31 Merge bitcoin/bitcoin#32711: doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md 89526deddf doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md a39b7071cf doc: fuzz: fix AFL++ link dff208bd5a Merge bitcoin/bitcoin#32708: rpc, doc: update `listdescriptors` RCP help d978a43d05 Merge bitcoin/bitcoin#32408: tests: Expand HTTP coverage to assert libevent behavior e9cdaefb0a test: introduce and use CTransaction `.wtxid_int` property 9b3dce24a3 test: remove bare CTransaction `.rehash()`/`.calc_sha256()` calls a2724e3ea3 test: remove txid caching in CTransaction class fa0b766f43 test: Remove intermittent and presumed fixed tsan race suppressions f3bbc74664 Merge bitcoin/bitcoin#32406: policy: uncap datacarrier by default b44514b876 rpc, doc: update `listdescriptors` RCP help fa4b659dcd test: Explain how to reproduce zmq:: upstream race d4e212e8a6 rest: fetch spent transaction outputs by blockhash 32d4e92b9a doc: make `-DWITH_ZMQ=ON` explicit on `build-unix.md` e2174378aa Merge bitcoin/bitcoin#32539: init: Configure reachable networks before we start the RPC server 2053c43684 Merge bitcoin/bitcoin#32675: test: wallet: cover wallet passphrase with a null char 331a25cb16 test: indexes, avoid creating threads when sync runs synchronously 95969bc58a test: added fuzz coverage to consensus/merkle.cpp f6b782f3aa doc: Improve m_best_header documentation ee673b9aa0 validation: remove m_failed_blocks ed764ea2b4 validation: Add more checks to CheckBlockIndex() 9a70883002 validation: in invalidateblock, calculate m_best_header right away 8e39f2d20d validation: in invalidateblock, mark children as invalid right away 4c29326183 validation: cache all headers with enough PoW in invalidateblock 15fa5b5a90 validation: call InvalidBlockFound also from AcceptBlock fa9cfdf3be ci: [doc] fix url redirect fac60b9c48 ci: Rewrite test-each-commit as py script 8713e8060d depends: fix SHA256SUM command on OpenBSD (use GNU mode output) 2d938720bd depends: add patch to fix capnp build on OpenBSD 0a4ee93529 wallet: use PSBTError::EXTERNAL_SIGNER_NOT_FOUND 8ba2f9b7c8 refactor: use util::Result for GetExternalSigner() ae024137bd Merge bitcoin/bitcoin#32496: depends: drop `ltcg` for Windows Qt 6a2ff67909 Merge bitcoin/bitcoin#32679: doc: update tor docs to use bitcoind binary from path fd4399cb9c Merge bitcoin/bitcoin#32602: fuzz: Add target for coins database 130a922980 wallet, interfaces: Use BERKELEY_RO in isEncrypted f94167512d Merge bitcoin/bitcoin#32676: test: apply microsecond precision to test framework logging 0dcb45290c Merge bitcoin/bitcoin#32607: rpc: Note in fundrawtransaction doc, fee rate is for package 4ce53495e5 doc: update tor docs to use bitcoind binary from path a5e98dc3ae Merge bitcoin/bitcoin#32651: cmake: Replace deprecated `qt6_add_translation` with `qt6_add_lrelease` 9653ebc053 depends: remove support for Windows Qt LTO builds 7cfbb8575e test: wallet: cover wallet passphrase with a null char 5c4a0f8009 guix: warn and abort when SOURCE_DATE_EPOCH is set 4af72d8b08 Merge bitcoin/bitcoin#32647: build: add -Wthread-safety-pointer a980918f51 Merge bitcoin/bitcoin#32568: depends: use "mkdir -p" when installing xproto ed179e0a65 test: apply microsecond precision to test framework logging fa9ca13f35 refactor: Sort includes of touched source files facb152697 scripted-diff: Bump copyright headers after include changes fae71d30f7 clang-tidy: Apply modernize-deprecated-headers e872a566f2 Merge bitcoin/bitcoin#32644: doc: miscellaneous changes e50312eab0 doc: fix typos c797e50dda ci: update codespell to 2.4.1 21ee656337 doc: Remove obselete link in notificator.cpp ee4406c04a doc: update URLs 2d819fa4df Merge bitcoin/bitcoin#29032: signet: omit commitment for some trivial challenges f999c3775c Merge bitcoin/bitcoin#32449: wallet: init, don't error out when loading legacy wallets 6135e0553e wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC 0def84d407 test: Verify parent_desc in RPCs f98e1aaf34 rpc: Note in fundrawtransaction doc, fee rate is for package db225cea56 wallet, refactor: Replace GetDisplayName() with LogName() 1c6602399b Merge bitcoin/bitcoin#32662: doc: Remove build instruction for running `clang-tidy` 01737883b3 wallet: Translate [default wallet] string in progress messages 4b1b36acb4 doc: Remove build instruction for running `clang-tidy` 9e105107bf Merge bitcoin/bitcoin#32656: depends: don't install & then delete sqlite pkgconf 72a5aa9b79 depends: don't install & then delete sqlite pkgconf 18cf727429 cmake: Replace deprecated `qt6_add_translation` with `qt6_add_lrelease` 83bfe1485c build: add -Wthread-safety-pointer e639ae0531 Update leveldb subtree to latest upstream 240a4fb95d Squashed 'src/leveldb/' changes from 113db4962b..aba469ad6a a189d63618 add release note for datacarriersize default change a141e1bf50 Add more OP_RETURN mempool acceptance functional tests 0b4048c733 datacarrier: deprecate startup arguments for future removal 63091b79e7 test: remove unnecessary -datacarriersize args from tests 9f36962b07 policy: uncap datacarrier by default 4b1d48a686 Merge bitcoin/bitcoin#32598: walletdb: Log additional exception error messages for corrupted wallets b933813386 Merge bitcoin/bitcoin#32619: wallet, rpc, gui: List legacy wallets with a message about migration 053bda5d9f Merge bitcoin/bitcoin#32460: fs: remove `_POSIX_C_SOURCE` defining 9393aeeca4 Merge bitcoin/bitcoin#32641: Update libmultiprocess subtree to fix clang-tidy errors b184f5c87c test: update BIP340 test vectors and implementation (variable-length messages) 5471e29d05 Merge bitcoin/bitcoin#32304: test: test MAX_SCRIPT_SIZE for block validity 154af1eea1 Squashed 'src/ipc/libmultiprocess/' changes from 35944ffd23fa..27c7e8e5a581 9f6565488f Merge commit '154af1eea1170f5626aa1c5f19cc77d1434bcc9d' into HEAD c810b168b8 doc: Add description of installed files to files.md c540ede1cb Merge bitcoin/bitcoin#32633: windows: Use predefined `RC_INVOKED` macro instead of custom one 94ffd01a02 doc: Add release notes describing libexec/ binaries cd97905ebc cmake: Move internal binaries from bin/ to libexec/ cfc42ae5b7 fuzz: add a target for the coins database 55f1c2ac8b windows: Use predefined `RC_INVOKED` macro instead of custom one 14c16e8159 Merge bitcoin/bitcoin#32582: log: Additional compact block logging aad5938c49 Merge bitcoin/bitcoin#32516: test: add MAX_DISCONNECTED_TX_POOL_BYTES, chainlimits coverage 1062df81ee Merge bitcoin/bitcoin#32634: build: Add resource file and manifest to `bitcoin.exe` b789907346 wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet 83df64d749 log: Stats when fulfilling GETBLOCKTXN 370c592612 Merge bitcoin/bitcoin#32630: test: fix sync function in rpc_psbt.py dbb2d4c3d5 windows: Add application manifest to `bitcoin.exe` df82c2dc17 windows: Add resource file for `bitcoin.exe` 3733ed2dae log: Size of missing tx'es when reconstructing compact block 4df4df45d7 test: fix sync function in rpc_psbt.py e86d71b749 wallet: refactor, dedup wallet re-loading code 1de423e0a0 wallet: introduce method to return all db created files d04f6a97ba refactor: remove sqlite dir path back-and-forth conversion 88b22acc3d Merge bitcoin/bitcoin#32528: rpc: Round verificationprogress to 1 for a recent tip aee7cec0db Merge bitcoin/bitcoin#32364: refactor: validation: mark CheckBlockIndex as const ce46000712 Merge bitcoin/bitcoin#32509: qa: feature_framework_startup_failures.py fixes & improvements (#30660 follow-up) d21612fc4b Merge bitcoin/bitcoin#32404: log: print reason when writing chainstate 84aa484d45 test: fix transaction_graph_test reorg test eaf44f3767 test: check chainlimits respects on reorg 47894367b5 functional test: add MAX_DISCONNECTED_TX_POOL_BYTES coverage 9bd9aee5a6 Merge bitcoin/bitcoin#32487: blocks: avoid recomputing block header hash in `ReadBlock` 4173805a15 Merge bitcoin/bitcoin#32623: test: Add missing ipc subtree to lint 012f347685 Merge bitcoin/bitcoin#31375: multiprocess: Add bitcoin wrapper executable 2554cee988 test: Enable default wallet for wallet_descriptor.py 3fc9d9f241 wallet, rpc: Push the normalized parent descriptor 38ad8027a2 Merge bitcoin/bitcoin#32439: guix: accomodate migration to codeberg fa4b8b16c3 test: Add missing ipc subtree to lint f7cc7f6468 Merge bitcoin/bitcoin#32591: test: fix and augment block tests of invalid_txs 87860143be Merge bitcoin/bitcoin#32270: test: fix pushdata scripts c8d9baae94 guix: accomodate migration to codeberg f3a444c45f gui: Disallow loading legacy wallets 09955172f3 wallet, rpc: Give warning in listwalletdir for legacy wallets 09ee8b7f27 node: avoid recomputing block hash in `ReadBlock` 2bf173210f test: exercise `ReadBlock` hash‑mismatch path fab1e02086 refactor: Pass verification_progress into block tip notifications 638a4c0bd8 Merge bitcoin/bitcoin#32596: wallet, rpc, doc: various legacy wallet removal cleanups in RPCs 53e9b71b2f log: print reason for why should_write was triggered in `FlushStateToDisk`…
1 parent 9d6e628 commit 22f55cf

File tree

1,597 files changed

+100463
-89638
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,597 files changed

+100463
-89638
lines changed

.cirrus.yml

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -96,21 +96,15 @@ task:
9696
name: 'lint'
9797
<< : *BASE_TEMPLATE
9898
container:
99-
image: debian:bookworm
99+
dockerfile: ci/lint_imagefile
100100
cpu: 1
101101
memory: 1G
102102
# For faster CI feedback, immediately schedule the linters
103103
<< : *CREDITS_TEMPLATE
104-
test_runner_cache:
105-
folder: "/lint_test_runner"
106-
fingerprint_script: echo $CIRRUS_TASK_NAME $(git rev-parse HEAD:test/lint/test_runner)
107-
python_cache:
108-
folder: "/python_build"
109-
fingerprint_script: cat .python-version /etc/os-release
110104
unshallow_script:
111105
- git fetch --unshallow --no-tags
112106
lint_script:
113-
- ./ci/lint_run_all.sh
107+
- ./ci/lint_run.sh
114108

115109
task:
116110
name: 'tidy'
@@ -131,22 +125,13 @@ task:
131125
FILE_ENV: "./ci/test/00_setup_env_arm.sh"
132126

133127
task:
134-
name: 'Win64, unit tests, no gui tests, no functional tests'
128+
name: 'CentOS, depends, gui'
135129
<< : *GLOBAL_TASK_TEMPLATE
136130
persistent_worker:
137131
labels:
138132
type: small
139133
env:
140-
FILE_ENV: "./ci/test/00_setup_env_win64.sh"
141-
142-
task:
143-
name: '32-bit CentOS, dash, gui'
144-
<< : *GLOBAL_TASK_TEMPLATE
145-
persistent_worker:
146-
labels:
147-
type: small
148-
env:
149-
FILE_ENV: "./ci/test/00_setup_env_i686_centos.sh"
134+
FILE_ENV: "./ci/test/00_setup_env_native_centos.sh"
150135

151136
task:
152137
name: 'previous releases, depends DEBUG'
@@ -158,7 +143,7 @@ task:
158143
FILE_ENV: "./ci/test/00_setup_env_native_previous_releases.sh"
159144

160145
task:
161-
name: 'TSan, depends, gui'
146+
name: 'TSan, depends, no gui'
162147
<< : *GLOBAL_TASK_TEMPLATE
163148
persistent_worker:
164149
labels:
@@ -182,6 +167,7 @@ task:
182167
persistent_worker:
183168
labels:
184169
type: medium
170+
timeout_in: 240m # larger timeout, due to the high CPU demand
185171
env:
186172
FILE_ENV: "./ci/test/00_setup_env_native_fuzz.sh"
187173

.github/ISSUE_TEMPLATE/good_first_issue.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ body:
2828
id: useful-skills
2929
attributes:
3030
label: Useful Skills
31-
description: For example, “`std::thread`”, “Qt5 GUI and async GUI design” or “basic understanding of Bitcoin mining and the Bitcoin Core RPC interface”.
31+
description: For example, “`std::thread`”, “Qt6 GUI and async GUI design” or “basic understanding of Bitcoin mining and the Bitcoin Core RPC interface”.
3232
value: |
3333
* Compiling Bitcoin Core from source
3434
* Running the C++ unit tests and the Python functional tests

.github/ci-test-each-commit-exec.py

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
#!/usr/bin/env python3
2+
# Copyright (c) The Bitcoin Core developers
3+
# Distributed under the MIT software license, see the accompanying
4+
# file COPYING or https://opensource.org/license/mit/.
5+
6+
import subprocess
7+
import sys
8+
import shlex
9+
10+
11+
def run(cmd, **kwargs):
12+
print("+ " + shlex.join(cmd), flush=True)
13+
try:
14+
return subprocess.run(cmd, check=True, **kwargs)
15+
except Exception as e:
16+
sys.exit(e)
17+
18+
19+
def main():
20+
print("Running tests on commit ...")
21+
run(["git", "log", "-1"])
22+
23+
num_procs = int(run(["nproc"], stdout=subprocess.PIPE).stdout)
24+
25+
run([
26+
"cmake",
27+
"-B",
28+
"build",
29+
"-Werror=dev",
30+
# Use clang++, because it is a bit faster and uses less memory than g++
31+
"-DCMAKE_C_COMPILER=clang",
32+
"-DCMAKE_CXX_COMPILER=clang++",
33+
# Use mold, because it is faster than the default linker
34+
"-DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=mold",
35+
# Use Debug build type for more debug checks, but enable optimizations
36+
"-DAPPEND_CXXFLAGS='-O3 -g2'",
37+
"-DAPPEND_CFLAGS='-O3 -g2'",
38+
"-DCMAKE_BUILD_TYPE=Debug",
39+
"-DWERROR=ON",
40+
"-DWITH_ZMQ=ON",
41+
"-DBUILD_GUI=ON",
42+
"-DBUILD_BENCH=ON",
43+
"-DBUILD_FUZZ_BINARY=ON",
44+
"-DWITH_USDT=ON",
45+
"-DBUILD_KERNEL_LIB=ON",
46+
"-DBUILD_KERNEL_TEST=ON",
47+
"-DCMAKE_CXX_FLAGS=-Wno-error=unused-member-function",
48+
])
49+
run(["cmake", "--build", "build", "-j", str(num_procs)])
50+
run([
51+
"ctest",
52+
"--output-on-failure",
53+
"--stop-on-failure",
54+
"--test-dir",
55+
"build",
56+
"-j",
57+
str(num_procs),
58+
])
59+
run([
60+
sys.executable,
61+
"./build/test/functional/test_runner.py",
62+
"-j",
63+
str(num_procs * 2),
64+
"--combinedlogslen=99999999",
65+
])
66+
67+
68+
if __name__ == "__main__":
69+
main()

0 commit comments

Comments
 (0)