use {super::*, crate::wallet::Wallet}; #[derive(Serialize, Deserialize)] pub struct Output { pub inscription: InscriptionId, pub location: SatPoint, pub explorer: String, pub postage: 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 inscriptions = index.get_inscriptions(&unspent_outputs)?; let explorer = match options.chain() { Chain::Mainnet => "https://ordinals.com/inscription/", Chain::Regtest => "http://localhost/inscription/", Chain::Signet => "https://signet.ordinals.com/inscription/", Chain::Testnet => "https://testnet.ordinals.com/inscription/", }; let mut output = Vec::new(); for (location, inscription) in inscriptions { if let Some(postage) = unspent_outputs.get(&location.outpoint) { output.push(Output { location, inscription, explorer: format!("{explorer}{inscription}"), postage: postage.to_sat(),