use {super::*, crate::wallet::Wallet, std::collections::BTreeSet}; #[derive(Serialize, Deserialize)] pub struct CardinalUtxo { pub output: OutPoint, pub amount: u64, } pub(crate) fn run(options: Options) -> SubcommandResult { let index = Index::open(&options)?; index.update()?; let unspent_outputs = index.get_unspent_outputs(Wallet::load(&options)?)?; let inscribed_utxos = index .get_inscriptions(&unspent_outputs)? .keys() .map(|satpoint| satpoint.outpoint) .collect::<BTreeSet<OutPoint>>(); let cardinal_utxos = unspent_outputs .iter() .filter_map(|(output, amount)| { if inscribed_utxos.contains(output) { None } else { Some(CardinalUtxo { output: *output, amount: amount.to_sat(), }) } }) .collect::<Vec<CardinalUtxo>>(); Ok(Box::new(cardinal_utxos)) }
Inscription number 44,987,803
Genesis block 819,066
File type text
File size 876 b
Creation date