Skip to content

Conversation

@tankyleo
Copy link
Contributor

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 all packages submitted there to be child-with-parents.

So we remove the possibility that a batch of transactions passed to a BroadcasterInterface implementation contains unrelated transactions, or multiple children.

@ldk-reviews-bot
Copy link

ldk-reviews-bot commented Oct 24, 2025

👋 Thanks for assigning @tnull as a reviewer!
I'll wait for their review and will help manage the review process.
Once they submit their review, I'll check if a second reviewer would be helpful.

@tankyleo tankyleo requested a review from TheBlueMatt October 24, 2025 18:52
@codecov
Copy link

codecov bot commented Oct 24, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.79%. Comparing base (0eec30a) to head (5916b2a).
⚠️ Report is 5 commits behind head on main.

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     
Flag Coverage Δ
fuzzing 21.59% <ø> (+0.02%) ⬆️
tests 88.63% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@tnull tnull self-requested a review October 24, 2025 19:15
/// 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
Copy link
Collaborator

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.
@tankyleo tankyleo force-pushed the 25-10-broadcaster-docs branch from 4ba0e53 to 5916b2a Compare October 24, 2025 23:13
Comment on lines +39 to +40
/// If more than one transaction is given, these transactions MUST be considered to be a
/// single-child-with-parents package and be broadcast together
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants