Add value_balance to orchard builder

This commit is contained in:
Aditya Kulkarni 2022-09-02 10:05:38 -05:00
parent 3faab98e9e
commit c88fdf1c59
1 changed files with 11 additions and 0 deletions

View File

@ -221,6 +221,7 @@ pub struct Builder {
recipients: Vec<RecipientInfo>,
flags: Flags,
anchor: Anchor,
value_balance: i64,
}
impl Builder {
@ -231,9 +232,15 @@ impl Builder {
recipients: vec![],
flags,
anchor,
value_balance: 0,
}
}
/// Returns the net value represented by the spends and outputs added to this builder.
pub fn value_balance(&self) -> i64 {
self.value_balance
}
/// Adds a note to be spent in this transaction.
///
/// - `note` is a spendable note, obtained by trial-decrypting an [`Action`] using the
@ -277,6 +284,8 @@ impl Builder {
merkle_path,
});
self.value_balance += note.value().inner() as i64;
Ok(())
}
@ -299,6 +308,8 @@ impl Builder {
memo,
});
self.value_balance -= value.inner() as i64;
Ok(())
}