bitcoindevkit/bdk_wallet

Add spent trait to improve sent_and_received()

Open

#31 geöffnet am 30. Jan. 2025

Auf GitHub ansehen
 (12 Kommentare) (0 Reaktionen) (1 zugewiesene Person)Rust (94 Forks)auto 404
good first issue

Repository-Metriken

Stars
 (54 Stars)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

Describe the enhancement Add a TxAmountSpent trait to improve how transaction spending amounts are calculated. The trait will add a .spent() method to tuples returned by sent_and_received(), calculating total amount spent including fees.

Use case

// Current: Manual calculation needed
let (sent, received) = wallet.sent_and_received(&tx);
let fee = wallet.calculate_fee(&tx)?;
let total = sent - received + fee; // Error-prone 

// Proposed: Clean trait implementation
let (sent, received) = wallet.sent_and_received(&tx);
let total = (sent, received, fee).spent(); // Clear and consistent

Additional context

  • Non-breaking change that extends existing functionality
  • Makes transaction cost calculations more intuitive
  • Helps prevent calculation errors
  • Small, focused improvement suitable for a first-time contributor

Contributor Guide