-
Notifications
You must be signed in to change notification settings - Fork 38.8k
[28.x] backports + 28.3rc1 #33476
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[28.x] backports + 28.3rc1 #33476
Conversation
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code Coverage & BenchmarksFor details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33476. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. |
ff9de5b to
407a494
Compare
Github-Pull: bitcoin#33106 Rebased-From: e5f896b
Github-Pull: bitcoin#33106 Rebased-From: 85f4988
Github-Pull: bitcoin#33106 Rebased-From: 72dc184
Github-Pull: bitcoin#33106 Rebased-From: 1fbee5d
Github-Pull: bitcoin#33106 Rebased-From: d6213d6
The padding method used matches the one used in MiniWallet, `MiniWallet._bulk_tx`. Github-Pull: bitcoin#30784 Rebased-From: ed7d224
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: bitcoin#33106 Rebased-From: 5f2df0e
This is needed for the next commit Github-Pull: bitcoin#30948 Rebased-From: fa48be6
Also disable the function, when it is not needed. Github-Pull: bitcoin#30948 Rebased-From: faf8015
Github-Pull: bitcoin#33106 Rebased-From: 3eab8b7
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: bitcoin#33106 Rebased-From: 457cfb6
… explicit Github-Pull: bitcoin#33106 Rebased-From: 2e515d2
…t/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: bitcoin#33106 Rebased-From: 6da5de5
…l 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 bitcoin#26606 easier and to also possibly improve our functional tests for the BDB parser by comparing with an alternative implementation. Github-Pull: bitcoin#30125 Rebased-From: 01ddd9f
Github-Pull: bitcoin#30125 Rebased-From: d45eb39
407a494 to
78b9686
Compare
|
Ready for review, though I think the tidy job tripped somehow? |
|
Can you do the version bump stuff here? |
78b9686 to
dcac362
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK dcac362 , 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:
- cf875f1 backported from 72dc184: addressed merge conflict from c16ae71 and re-added
-datacarriersizearg because of 9f36962, no other changes - e3273e0 backported from 1fbee5d: addressed merge conflict from a141e1b, no other changes
- 27b7755 backported from d6213d6: addressed merge conflict from fa2b529, no other changes
- 08eeb0d backported from 5f2df0e: addressed merge conflict from 10c9088, no other changes
- 4d809ef backported from 3eab8b7: addressed merge conflict from tests added in 45c7a4b and 93f48fc, no other changes
- a02e0a4 backported from 2e515d2:
settxfeeRPC was deprecated in bf194c9, no other changes - 66559d1 backported from 6da5de5:
I verified the release notes, and was able to produce identical manpages.
nit: e3273e0 and 08eeb0d 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)
| cpfp_parent = self.wallet.create_self_transfer( | ||
| utxo_to_spend=mempool_evicted_tx["new_utxo"], | ||
| fee_rate=mempoolmin_feerate - Decimal('0.00001'), | ||
| fee_rate=mempoolmin_feerate / 2, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The commit from which this is backported just added an extra zero:
6da5de5#diff-63dc84ee23b871d1f4931c4f261b3c6b815bd8d5a65098a61bce8ea9b6b81965
What's the reason for changing that to dividing by 2 here? It also doesn't seem necessary for the test to complete.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
|
Can you also do |
|
ACK 9968b15 |
stickies-v
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
re-ACK 9968b15
Getting the same bitcoin.conf example.
| cpfp_parent = self.wallet.create_self_transfer( | ||
| utxo_to_spend=mempool_evicted_tx["new_utxo"], | ||
| fee_rate=mempoolmin_feerate - Decimal('0.00001'), | ||
| fee_rate=mempoolmin_feerate / 2, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Includes backports of