smplx_sdk/transaction/
utxo.rs1use simplicityhl::elements::{AssetId, OutPoint, TxOut, TxOutSecrets};
2
3#[derive(Debug, Clone)]
4pub struct UTXO {
5 pub outpoint: OutPoint,
6 pub txout: TxOut,
7 pub secrets: Option<TxOutSecrets>,
8}
9
10impl UTXO {
11 pub fn explicit_asset(&self) -> AssetId {
12 self.txout.asset.explicit().expect("The UTXO's asset is not explicit")
13 }
14
15 pub fn explicit_amount(&self) -> u64 {
16 self.txout.value.explicit().expect("The UTXO's amount is not explicit")
17 }
18
19 pub fn unblinded_asset(&self) -> AssetId {
20 self.secrets.expect("The UTXO is not unblinded").asset
21 }
22
23 pub fn unblinded_amount(&self) -> u64 {
24 self.secrets.expect("The UTXO is not unblinded").value
25 }
26}