bitcoindevkit/bdk_wallet
Auf GitHub ansehenAdd spent trait to improve sent_and_received()
Open
#31 geöffnet am 30. Jan. 2025
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