let inscriptions = index.get_inscriptions(&unspent_outputs)?; let satpoint = match self.outgoing { Outgoing::SatPoint(satpoint) => { for inscription_satpoint in inscriptions.keys() { if satpoint == *inscription_satpoint { bail!("inscriptions must be sent by inscription ID"); } } satpoint } Outgoing::InscriptionId(id) => index .get_inscription_satpoint_by_id(id)? .ok_or_else(|| anyhow!("Inscription {id} not found"))?, Outgoing::Amount(amount) => { Self::lock_inscriptions(&client, inscriptions, unspent_outputs)?; let txid = Self::send_amount(&client, amount, address, self.fee_rate.n())?; return Ok(Box::new(Output { transaction: txid })); } }; let change = [ get_change_address(&client, chain)?, get_change_address(&client, chain)?, ]; let postage = if let Some(postage) = self.postage { Target::ExactPostage(postage) } else { Target::Postage