Skip to content

feat(lnd): expose direct wallet transaction lookup - #15

Merged
tompro merged 1 commit into
masterfrom
feat/lnd-get-transaction
Sep 28, 2026
Merged

tompro merged 1 commit into
masterfrom
feat/lnd-get-transaction

Conversation

@tompro

@tompro tompro commented Sep 28, 2026

Copy link
Copy Markdown
Owner

Summary

Expose LndApi::get_transaction(&str) using WalletKit.GetTransaction so callers can retrieve one wallet transaction by txid instead of scanning wallet history.

  • Pin fedimint-tonic-lnd to immutable commit 86fde7f1928d06ec57d843e919e7b62b2858df70 from chore: sync upstream LND RPC definitions tonic_lnd#2.
  • Return lnrpc::Transaction, including wallet-owned output details and unconfirmed transactions.
  • Cap decoded transaction responses at 4 MiB and release the shared client mutex before awaiting the RPC.
  • Preserve typed UNIMPLEMENTED as Error::NodeApiUnsupported; retain existing error handling for other statuses. No error-text matching, retry or wallet-history fallback.
  • Existing TLS/PEM configuration is unchanged.

Dependency / rollout

Depends on tonic_lnd PR #2. This is intended for https://github.com/The-Bitcoin-Company/tbc-rust/pull/652. Requires LND >= 0.18 with WalletKit and onchain:read permission. Callers retain responsibility for their RPC timeout.

Validation

Using the TBC Rust Nix development shell:

  • 35 relevant tests passed: 15 payday_core + 20 payday_node_lnd.
  • Workspace all-target check passed.
  • Relevant crate Clippy with -D warnings passed.
  • Focused tests cover exact txid, unconfirmed/output details, typed status mapping (including misleading error text), and mockable lookup without history calls.
  • No live LND/TLS tests performed.

@tompro
tompro merged commit 7ed517a into master Sep 28, 2026
1 check passed
@tompro
tompro deleted the feat/lnd-get-transaction branch September 28, 2026 14:40
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.

1 participant