bitcoindevkit/bdk_wallet

Add spent trait to improve sent_and_received()

Open

#31 aperta il 30 gen 2025

Vedi su GitHub
 (12 commenti) (0 reazioni) (1 assegnatario)Rust (94 fork)auto 404
good first issue

Metriche repository

Star
 (54 star)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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

Guida contributor