SHOWING: First 60
#66,349,345textuse {super::*, crate::wallet::Wallet};
#[derive(Debug, Parser)]
pub(crate) struct Sats {
#[arg(
long,
help = "Find satoshis listed in first column of tab-separated value file <TSV>."
)]
tsv: Option<PathBuf>,
}
#[derive(Serialize, Deserialize)]
pub struct OutputTsv {
pub sat: String,
pub output: OutPoint,
}
#[derive(Serialize, Deserialize)]
pub struct OutputRare {
pub sat: Sat,
pub output: OutPoint,
pub offset: u64,
pub rarity: Rarity,
}
impl Sats {
pub(crate) fn run(&self, options: Options) -> SubcommandResult {
let index = Index::open(&options)?;
if !index.has_sat_index() {
bail!("sats requires index created with `--index-sats` flag");
}
index.update()?;
let utxos = index.get_unspent_output_ranges(Wallet::load(&options)?)?;
if let Some(path) = &self.tsv {
let mut output = Vec::new();
for (outpoint, sat) in sats_from_tsv(
utxos,
&fs::read_to_string(path)
.with_context(|| format!("I/O error reading `{}`", path.display()))?,#45,037,205textcazetv.btc#44,375,011textpacova.btc#44,375,009textcenaslamentaveis.btc#44,375,008textdengo.btc#44,375,002textliveforclass.btc#44,374,995textsenna.btc#44,374,993textstmarche.btc#44,374,984textamazonbrasil.btc#44,374,983textarruda.btc#44,374,972textvinho.btc#44,374,941textpeppo.btc#44,374,939textespnbrasil.btc#44,374,923textcampari.btc#44,374,922textnegroni.btc#44,374,921textcerveja.btc#44,374,920textestadao.btc#44,374,919textspfc.btc#43,719,557textibba.btc#43,719,463textsnkrs.btc#43,719,426textbirken.btc#43,719,186textcryptopro.btc#43,719,121textoriba.btc#43,718,937textpravaler.btc#43,711,198textcasimiro.btc#43,711,147textc6bank.btc#43,710,958textxpinc.btc#43,710,937textnikerunclub.btc#43,710,856textmercadopago.btc#43,710,855textbawclothing.btc#43,710,854textvidabandida.btc#43,710,853textsantanderbr.btc#43,710,852text