-
Notifications
You must be signed in to change notification settings - Fork 422
Assure BroadcasterInterface packages of len > 1 are child-with-parents #4173
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
base: main
Are you sure you want to change the base?
Conversation
|
👋 Thanks for assigning @tnull as a reviewer! |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4173 +/- ##
=======================================
Coverage 88.78% 88.79%
=======================================
Files 180 180
Lines 137066 137103 +37
Branches 137066 137103 +37
=======================================
+ Hits 121694 121738 +44
+ Misses 12552 12549 -3
+ Partials 2820 2816 -4
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| /// package and broadcast together. Some of the transactions may or may not depend on each other, | ||
| /// be sure to manage both cases correctly. | ||
| /// If more than one transaction is given, these transactions MUST be considered to be a | ||
| /// child-with-parents package and be broadcast together. Implementations MUST NOT |
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.
nit: might be worth clarifying a single child and linking the Bitcoin Core docs (if they're online or just saying "the submitpackage RPC").
Implementations MUST NOT assume any topological order on the transactions. While Bitcoin Core v29+ `submitpackage` RPC allows packages of length 1 to be submitted via `submitpackage`, it still requires any package submitted there to be a `child-with-parents` package. So we remove the possibility that a batch of transactions passed to a `BroadcasterInterface` implementation contains unrelated transactions, or multiple children.
4ba0e53 to
5916b2a
Compare
| /// If more than one transaction is given, these transactions MUST be considered to be a | ||
| /// single-child-with-parents package and be broadcast together |
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.
| /// If more than one transaction is given, these transactions MUST be considered to be a | |
| /// single-child-with-parents package and be broadcast together | |
| /// If more than one transaction is given, these transactions MUST be a | |
| /// single child and its parents and be broadcast together as a package |
Implementations MUST NOT assume any topological order on the transactions.
While Bitcoin Core v29+
submitpackageRPC allows packages of length 1 to be submitted viasubmitpackage, it still requires all packages submitted there to bechild-with-parents.So we remove the possibility that a batch of transactions passed to a
BroadcasterInterfaceimplementation contains unrelated transactions, or multiple children.