1use crate::SafeOption;
2use crate::structs::{Address, AddressSelector, ErrorInfo, FloatingUtxoId, Input, Proof};
3
4impl Input {
5
6 pub fn address(&self) -> Result<Address, ErrorInfo> {
7 let result = self.output.as_ref().ok_msg("Missing output")?;
8 result.address.clone().ok_msg("Missing address")
9 }
10
11 pub fn predicate_filter(address: &Address) -> Self {
12 let mut input = Self::default();
13 let mut f = FloatingUtxoId::default();
14 let mut a = AddressSelector::default();
15 a.address = Some(address.clone());
16 a.requires_output_contract_predicate_match = Some(true);
17 f.address_selector = Some(a);
18
19 input.floating_utxo_id = Some(f);
20 input
21 }
22
23}