use super::*;
use std::collections::BTreeSet;
pub(crate) fn run(options: Options) -> Result {
let index = Index::open(&options)?;
index.update()?;
let inscription_outputs = index
.get_inscriptions(None)?
.keys()
.map(|satpoint| satpoint.outpoint)
.collect::<BTreeSet<OutPoint>>();
let mut balance = 0;
for (outpoint, amount) in get_unspent_outputs(&options)? {
if !inscription_outputs.contains(&outpoint) {
balance += amount.to_sat()
}
}
println!("{}", balance);
Ok(())
}