Skip to content

Bump BDK, address pending payment store follow ups#937

Open
tnull wants to merge 9 commits into
lightningdevkit:mainfrom
tnull:2026-06-fix-770-payment-store-followups
Open

Bump BDK, address pending payment store follow ups#937
tnull wants to merge 9 commits into
lightningdevkit:mainfrom
tnull:2026-06-fix-770-payment-store-followups

Conversation

@tnull

@tnull tnull commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

Fixes #770.
Fixes #776.
Fixes #901.

We bump our BDK dependency and address some follow-ups to #658.

(cc @Camillarhi)

@tnull tnull requested a review from jkczyz June 12, 2026 11:27
@ldk-reviews-bot

ldk-reviews-bot commented Jun 12, 2026

Copy link
Copy Markdown

👋 Thanks for assigning @jkczyz 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.

@ldk-reviews-bot

Copy link
Copy Markdown

🔔 1st Reminder

Hey @jkczyz! This PR has been waiting for your review.
Please take a look when you have a chance. If you're unable to review, please let us know so we can find another reviewer.

tnull added 9 commits June 15, 2026 10:14
Update the direct BDK wallet stack to the latest crate releases.

This lets follow-up wallet event code use the upstream BDK API. It
also preserves temporary transaction cleanup after BDK removed its
cancel_tx helper.

Co-Authored-By: HAL 9000
Use BDK's wallet event helper for mempool updates.

This removes the local event diffing copy now that BDK exposes the
needed event API.

Co-Authored-By: HAL 9000
Move affected on-chain payments back to pending when BDK reports that
their transaction is unconfirmed again.

This keeps payment history aligned with wallet events after a reorg. It
does not update payment records directly from disconnected-block
notifications.

Co-Authored-By: HAL 9000
Keep pending payment namespace constants next to the primary payment
store constants.

This keeps related persistence keys discoverable together.

Co-Authored-By: HAL 9000
Stop exporting the pending payment index record from the public
payment module.

The pending index is an internal persistence detail and should not
become public API before this ships.

Co-Authored-By: HAL 9000
Move the pending payment index record into the payment store module.

This keeps the primary payment record and its pending index within the
same persistence boundary.

Co-Authored-By: HAL 9000
Persist only the payment id, current txid, and conflict txids in the
pending payment index.

This avoids duplicating payment state before the format ships and keeps
RBF lookup aliases intact across replacement events.

Co-Authored-By: HAL 9000
Update splice integration expectations for BDK 3.1's fee rounding fix.

This keeps the remaining LDK/BDK fee-accounting drift explicit.

It prevents future dependency changes from restoring the larger surplus.

Refs lightningdevkit#901

Co-Authored-By: HAL 9000
RBF can spend fee increases from the original transaction's change
output.

Check the replacement fee increase against the current anchor-channel
reserve before signing. This prevents high manual fee rates from
consuming funds reserved for anchor spends.

This finding was discovered by Project Loupe.

Co-Authored-By: HAL 9000
@tnull tnull force-pushed the 2026-06-fix-770-payment-store-followups branch from 70654b2 to da75376 Compare June 15, 2026 08:40
@tnull

tnull commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator Author

Now that bdk_wallet 3.1 shipped over the weekend, I now directly bump to that and include a commit addressing #901. I also added a commit that has us respect anchor reserves when fee bumping.

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.

Drop rounding correction once we update to BDK 3.1.0 Drop copied-over wallet_events when possible Follow-ups to PR #658

2 participants