redgold_schema/
input.rs

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}