-
Notifications
You must be signed in to change notification settings - Fork 809
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
Wallet: add BIP125 RBF bump fee #1170
Open
pinheadmz
wants to merge
21
commits into
bcoin-org:master
Choose a base branch
from
pinheadmz:rbf1-wallet
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Commits on Aug 11, 2023
-
mempool: Allow double spend of RBF transaction
"Quick and dirty" isDoubleSpend() check evaluates to false if the conflicting tx has opted in to RBF. More verbose checks are still required for BIP125. General RBF tests added.
Configuration menu - View commit details
-
Copy full SHA for 0a3ecf2 - Browse repository at this point
Copy the full SHA 0a3ecf2View commit details -
mempool: Reject RBF replacements with insufficient fees
Implements and tests BIP125 rules specifically pertaining to fee requirements for replacement transactions. Valid replacements must pay a higher fee rate than the original TX, and also must pay for the bandwidth of all potentially evicted transactions in addition to its own bandwidth.
Configuration menu - View commit details
-
Copy full SHA for bb8b4b0 - Browse repository at this point
Copy the full SHA bb8b4b0View commit details -
mempool: Reject RBF replacement edge cases
Implements two extra rules defined in BIP125: - The replacement transaction may only include an unconfirmed input if that input was included in one of the original transactions. - The number of original transactions to be replaced and their descendant transactions which will be evicted from the mempool must not exceed a total of 100 transactions.
Configuration menu - View commit details
-
Copy full SHA for d62f1b3 - Browse repository at this point
Copy the full SHA d62f1b3View commit details -
All the BIP125 rules have been implemented to reject invalid replacement TXs. This is where the actual replacement happens, adding the replacement TX and evicting all the conflicts and their descendants.
Configuration menu - View commit details
-
Copy full SHA for 70ef286 - Browse repository at this point
Copy the full SHA 70ef286View commit details -
Configuration menu - View commit details
-
Copy full SHA for f3cd659 - Browse repository at this point
Copy the full SHA f3cd659View commit details
Commits on Aug 19, 2023
-
Configuration menu - View commit details
-
Copy full SHA for bf43d9a - Browse repository at this point
Copy the full SHA bf43d9aView commit details -
Configuration menu - View commit details
-
Copy full SHA for caabf10 - Browse repository at this point
Copy the full SHA caabf10View commit details
Commits on Aug 20, 2023
-
mempool: restore original isDoubleSpend() implementation
We only need to call the "quick and dirty test" if the user has set mempool RBF option to false. Do the Rule #1 check in verifyRBF() instead where it belongs. This leaves one loose end in maybeOrphan() that must be caught so we don't treat double-spends like orphans.
Configuration menu - View commit details
-
Copy full SHA for 5e0cd19 - Browse repository at this point
Copy the full SHA 5e0cd19View commit details -
The current implementation improperly assumed that any unconfirmed inputs spent by the replacement TX were also spent by its direct conflict. It therefore did not account for the case where the replacement was spending an unconfirmed CHILD of its direct replacement. This would cause it to replace its own inputs which is an invalid mempool state and led to unexpected errors.
Configuration menu - View commit details
-
Copy full SHA for 6f04c0d - Browse repository at this point
Copy the full SHA 6f04c0dView commit details
Commits on Aug 21, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 6ae1752 - Browse repository at this point
Copy the full SHA 6ae1752View commit details
Commits on Sep 21, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 24408b9 - Browse repository at this point
Copy the full SHA 24408b9View commit details -
Configuration menu - View commit details
-
Copy full SHA for f316989 - Browse repository at this point
Copy the full SHA f316989View commit details -
Configuration menu - View commit details
-
Copy full SHA for f83e39d - Browse repository at this point
Copy the full SHA f83e39dView commit details -
Configuration menu - View commit details
-
Copy full SHA for f99a7c2 - Browse repository at this point
Copy the full SHA f99a7c2View commit details -
Configuration menu - View commit details
-
Copy full SHA for b8afe61 - Browse repository at this point
Copy the full SHA b8afe61View commit details -
Configuration menu - View commit details
-
Copy full SHA for e83563a - Browse repository at this point
Copy the full SHA e83563aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9a1135a - Browse repository at this point
Copy the full SHA 9a1135aView commit details -
Configuration menu - View commit details
-
Copy full SHA for d5d302c - Browse repository at this point
Copy the full SHA d5d302cView commit details
Commits on Sep 22, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 4d97480 - Browse repository at this point
Copy the full SHA 4d97480View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5f472ad - Browse repository at this point
Copy the full SHA 5f472adView commit details -
Configuration menu - View commit details
-
Copy full SHA for 14e5743 - Browse repository at this point
Copy the full SHA 14e5743View commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.