Includes backports of
[28.x] backports + 28.3rc1 #33476
pull glozow wants to merge 19 commits into bitcoin:28.x from glozow:2025-09-28.3-backport changing 32 files +424 −158-
glozow commented at 7:18 pm on September 24, 2025: member
-
DrahtBot added the label Backport on Sep 24, 2025
-
DrahtBot commented at 7:18 pm on September 24, 2025: contributor
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
Code Coverage & Benchmarks
For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33476.
Reviews
See the guideline for information on the review process.
Type Reviewers ACK achow101, stickies-v If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
-
glozow force-pushed on Sep 24, 2025
-
in test/functional/test_framework/mempool_util.py:36 in 407a4946b3
37 To avoid unintentional tx dependencies, the mempool filling txs are created with a 38 tagged ephemeral miniwallet instance. 39 """ 40 test_framework.log.info("Fill the mempool until eviction is triggered and the mempoolminfee rises") 41 txouts = gen_return_txouts() 42+<<<<<<< HEAD
fanquake commented at 7:40 pm on September 24, 2025:Leftover from cherry-pick?
glozow commented at 2:35 pm on September 26, 2025:fixedachow101 added this to the milestone 28.3 on Sep 25, 2025DrahtBot added the label Needs rebase on Sep 25, 2025[test] check miner doesn't select 0fee transactions
Github-Pull: #33106 Rebased-From: e5f896bb1f052fb8c7811c6024cb49143b427512
[test] check bypass of minrelay for various minrelaytxfee settings
Github-Pull: #33106 Rebased-From: 85f498893f54ea7d84f2bdf12aa35d198edf8a72
[test] RBF rule 4 for various incrementalrelayfee settings
Github-Pull: #33106 Rebased-From: 72dc18467dbfc16cdbda2dd109b087243b397799
[test] explicitly check default -minrelaytxfee and -incrementalrelayfee
Github-Pull: #33106 Rebased-From: 1fbee5d7b61b83e68e4230c8a97ca308de92c4c3
[doc] assert that default min relay feerate and incremental are the same
Github-Pull: #33106 Rebased-From: d6213d6aa114aeed6804a585491d741386fd2739
test: add `BulkTransaction` helper to unit test transaction utils
The padding method used matches the one used in MiniWallet, `MiniWallet._bulk_tx`. Github-Pull: #30784 Rebased-From: ed7d2246661ec1789b7db0f21668270f0681ea4a
[miner] lower default -blockmintxfee to 1sat/kvB
Back when we implemented coin age priority as a miner policy, miners mempools might admit transactions paying very low fees, but then want to set a higher fee for block inclusion. However, since coin age priority was removed in v0.15, the block assembly policy is solely based on fees, so we do not need to apply minimum feerate rules in multiple places. In fact, the block assembly policy ignoring transactions that are added to the mempool is likely undesirable as we waste resources accepting and storing this transaction. Instead, rely on mempool policy to enforce a minimum entry feerate to the mempool (minrelaytxfee). Set the minimum block feerate to the minimum non-zero amount (1sat/kvB) so it collects everything it finds in mempool into the block. Github-Pull: #33106 Rebased-From: 5f2df0ef78be7b24798d0983c9b962740608f1f4
test: Refactor fill_mempool to extract send_batch helper
This is needed for the next commit Github-Pull: #30948 Rebased-From: fa48be6f0233cfbd5c1eab7b832c913912062fa5
test: Add missing sync_mempools() to fill_mempool()
Also disable the function, when it is not needed. Github-Pull: #30948 Rebased-From: faf801515f8fcd11a3454105cab66c38f6f240fe
[prep/test] replace magic number 1000 with respective feerate vars
Github-Pull: #33106 Rebased-From: 3eab8b724044dc321f70e5eed66b149713158a04
[prep/util] help MockMempoolMinFee handle more precise feerates
Use a virtual size of 1000 to keep precision when using a feerate (which is rounded to the nearest satoshi per kvb) that isn't just an integer. Github-Pull: #33106 Rebased-From: 457cfb61b5323a13218b3cfb5a6a6d8b3a7c5f7f
[prep/test] make wallet_fundrawtransaction's minrelaytxfee assumption explicit
Github-Pull: #33106 Rebased-From: 2e515d2897eaa5a9b012eb78aef105e1cf80d42b
[policy] lower default minrelaytxfee and incrementalrelayfee to 100sat/kvB
Let's say an attacker wants to use/exhaust the network's bandwidth, and has the choice between renting resources from a commercial provider and getting the network to "spam" itself it by sending unconfirmed transactions. We'd like the latter to be more expensive than the former. The bandwidth for relaying a transaction across the network is roughly its serialized size (plus relay overhead) x number of nodes. A 1000vB transaction is 1000-4000B serialized. With 100k nodes, that's 0.1-0.4GB If the going rate for commercial services is 10c/GB, that's like 1-4c per kvB of transaction data, so a 1000vB transaction should pay at least $0.04. At a price of 120k USD/BTC, 100sat is about $0.12. This price allows us to tolerate a large decrease in the conversion rate or increase in the number of nodes. Github-Pull: #33106 Rebased-From: 6da5de58cabc4133c379baa50845e30e5bc6b3e4
test: complete BDB parser (handle internal/overflow pages, support all page sizes)
This aims to complete our test framework BDB parser to reflect our read-only BDB parser in the wallet codebase. This could be useful both for making review of #26606 easier and to also possibly improve our functional tests for the BDB parser by comparing with an alternative implementation. Github-Pull: #30125 Rebased-From: 01ddd9f646a5329a92341bb216f3757fa97c0709
test: compare BDB dumps of test framework parser and wallet tool
Github-Pull: #30125 Rebased-From: d45eb3964f693eddcf96f1e4083cf19d327be989
[doc] update release notes for 28.x d3194cb8cdglozow force-pushed on Sep 26, 2025glozow marked this as ready for review on Sep 26, 2025glozow commented at 2:46 pm on September 26, 2025: memberReady for review, though I think the tidy job tripped somehow?DrahtBot removed the label Needs rebase on Sep 26, 2025achow101 commented at 9:56 pm on September 26, 2025: memberCan you do the version bump stuff here?[build] bump version to 28.3rc1 df7412803d[doc] manpages for 28.3rc1 dcac36271fglozow force-pushed on Sep 29, 2025bitcoin deleted a comment on Sep 30, 2025bitcoin deleted a comment on Sep 30, 2025bitcoin deleted a comment on Sep 30, 2025bitcoin deleted a comment on Sep 30, 2025bitcoin deleted a comment on Sep 30, 2025bitcoin deleted a comment on Sep 30, 2025bitcoin deleted a comment on Sep 30, 2025bitcoin deleted a comment on Sep 30, 2025bitcoin deleted a comment on Sep 30, 2025bitcoin deleted a comment on Sep 30, 2025in test/functional/mempool_limit.py:124 in 66559d1a4a outdated
120@@ -121,7 +121,7 @@ def test_mid_package_eviction(self): 121 # coin is no longer available, but the cache could still contains the tx. 122 cpfp_parent = self.wallet.create_self_transfer( 123 utxo_to_spend=mempool_evicted_tx["new_utxo"], 124- fee_rate=mempoolmin_feerate - Decimal('0.00001'), 125+ fee_rate=mempoolmin_feerate / 2,
stickies-v commented at 3:32 pm on September 30, 2025:The commit from which this is backported just added an extra zero:
What’s the reason for changing that to dividing by 2 here? It also doesn’t seem necessary for the test to complete.
glozow commented at 5:36 pm on September 30, 2025:I think you are right that changing the
Decimal
would have worked - apologies for the confusing change in approach.This test doesn’t exist on master, so it isn’t part of the backport. It’s a conflict resolution - the test was adapted to make it pass on that commit. I think you’re referring to a different line lower down (L315) where it’s backported and adds a 0.
stickies-v commented at 11:40 am on October 1, 2025:Oh I see. The fact that test functions are named slightly differently combined with this patch of code being ~duplicated tripped me up a bit. Thanks for the clarification, can be marked as resolved.stickies-v approvedstickies-v commented at 5:12 pm on September 30, 2025: contributorACK dcac36271f9c6d47a863ab638a91382be6f7a50f
, although I’m a bit confused about one change (see comment) that doesn’t seem like a backport (but not necessarily bad by itself).I verified all backports are clean, except for a bunch of test-only merge conflicts in 33106:
- cf875f15596052d42abccecb81a96d8e343fd2cd backported from 72dc18467dbfc16cdbda2dd109b087243b397799: addressed merge conflict from c16ae717689295338025dde74c0a7a51965c383f and re-added
-datacarriersize
arg because of 9f36962b07eff2369577a17c8adeaa0433697e1c, no other changes - e3273e03b1aea0c3ee3aeca802c984ab007f91ed backported from 1fbee5d7b61b83e68e4230c8a97ca308de92c4c3: addressed merge conflict from a141e1bf501bb2660f3a62083a65678250085e56, no other changes
- 27b775586ebe702c6ac7fe022e2a42216aefea27 backported from d6213d6aa114aeed6804a585491d741386fd2739: addressed merge conflict from fa2b529f9269639abdb3ec5e152b66cbed04b890, no other changes
- 08eeb0d3423cdfb6110794dd2bfdd5571459f751 backported from 5f2df0ef78be7b24798d0983c9b962740608f1f4: addressed merge conflict from 10c908808fb80cd4fbde9d377079951b91944755, no other changes
- 4d809efeb980aa76693c7cda179ae91e3deb4c57 backported from 3eab8b724044dc321f70e5eed66b149713158a04: addressed merge conflict from tests added in 45c7a4b56d28c75bb9c48f0a9e7f3a73a7899328 and 93f48fceb7dd332ef980ce890ff7750b995d6077, no other changes
- a02e0a401ceae2f2242c364164df828b51d9cdd4 backported from 2e515d2897eaa5a9b012eb78aef105e1cf80d42b:
settxfee
RPC was deprecated in bf194c920cf768d1339d41aef1441a78e2f5fcbe, no other changes - 66559d1a4af5f5a4d7e311d0ab8e0c1e3c9e2d4a backported from 6da5de58cabc4133c379baa50845e30e5bc6b3e4:
- revert usage of
AddToMempool
which was added in 7fb62f7db60c7d793828ae45f87bc3f5c63cc989 - a merge conflict with c876a892ec0b04851bea0a688d7681b6aaca4cb7
- a bunch more conflicts that I CBA to all list here
- revert usage of
I verified the release notes, and was able to produce identical manpages.
nit: e3273e03b1aea0c3ee3aeca802c984ab007f91ed and 08eeb0d3423cdfb6110794dd2bfdd5571459f751 have two spaces after
Rebased-From:
instead of the usual one, I’m not sure if that’d break any tooling (it did for me, but was an easy fix)glozow commented at 5:38 pm on September 30, 2025: membernit: https://github.com/bitcoin/bitcoin/commit/e3273e03b1aea0c3ee3aeca802c984ab007f91ed and https://github.com/bitcoin/bitcoin/commit/08eeb0d3423cdfb6110794dd2bfdd5571459f751 have two spaces after Rebased-From: instead of the usual one, I’m not sure if that’d break any tooling (it did for me, but was an easy fix)
Sorry about that! I hadn’t really thought about the number of spaces, but will keep it in mind in the future.
achow101 commented at 7:37 pm on September 30, 2025: memberCan you also dogen-bitcoin-conf.sh
since that will need to update for the new defaults as well.[doc] update bitcoin.conf example 9968b15937achow101 commented at 9:51 pm on September 30, 2025: memberACK 9968b15937cbc2071c3474bd83f9c9fb4bb3a970DrahtBot requested review from stickies-v on Sep 30, 2025stickies-v approvedstickies-v commented at 11:41 am on October 1, 2025: contributorre-ACK 9968b15937cbc2071c3474bd83f9c9fb4bb3a970
Getting the same bitcoin.conf example.
achow101 merged this on Oct 1, 2025achow101 closed this on Oct 1, 2025
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-10-19 15:13 UTC
More mirrored repositories can be found on mirror.b10c.me