bitcoindevkit/bdk_wallet

Add spent trait to improve sent_and_received()

Open

#31 ouverte le 30 janv. 2025

Voir sur GitHub
 (12 commentaires) (0 réactions) (1 assigné)Rust (94 forks)auto 404
good first issue

Métriques du dépôt

Stars
 (54 stars)
Métriques de merge PR
 (Métriques PR en attente)

Description

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

Guide contributeur