fix(electrum): Don't ignore multiple coinbase txs#1090
Merged
notmandatory merged 2 commits intobitcoindevkit:release/0.28from Aug 22, 2023
Merged
fix(electrum): Don't ignore multiple coinbase txs#1090notmandatory merged 2 commits intobitcoindevkit:release/0.28from
notmandatory merged 2 commits intobitcoindevkit:release/0.28from
Conversation
We would previously insert just one coinbase transaction in the database if we caught multiple in the same sync. When we sync with electrum, before committing to the database, we remove from the update conflicting transactions, using the `make_txs_consistent` function. This function considers two txs to be conflicting if they spend from the same outpoint - but every coinbase transaction spends from the same outpoint! Here we make sure to avoid filtering out coinbase transactions, by adding a check on the txid just before we do the filtering. Fixes bitcoindevkit#1051
- reqwest 0.11.19 has MSRV 1.63.0+, pin to 0.11.18 - h2 0.3.21 has MSRV 1.63.0+, pin to 0.3.20 - rustls-webpki has MSRV 1.60.0+, pin to 0.100.1
af7531d to
530ba36
Compare
30 tasks
notmandatory
approved these changes
Aug 22, 2023
Member
notmandatory
left a comment
There was a problem hiding this comment.
tACK 530ba36
I tested without the fix to confirm the 2nd coinbase isn't included and with the fix it is.
Thanks for the clear explanation and concise fix.
This was referenced Oct 5, 2023
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
We would previously insert just one coinbase transaction in the database if we caught multiple in the same sync.
When we sync with electrum, before committing to the database, we remove from the update conflicting transactions, using the
make_txs_consistentfunction. This function considers two txs to be conflicting if they spend from the same outpoint - but every coinbase transaction spends from the same outpoint!Here we make sure to avoid filtering out coinbase transactions, by adding a check on the txid just before we do the filtering.
Fixes #1051
Changelog notice
Checklists
All Submissions:
cargo fmtandcargo clippybefore committingBugfixes: