let dust_value = self.recipient.script_pubkey().dust_value(); if output_value < dust_value { return Err(Error::Dust { output_value, dust_value, }); } } _ => (), } self .select_outgoing()? .align_outgoing() .pad_alignment_output()? .add_value()? .strip_value() .deduct_fee() .build() } fn select_outgoing(mut self) -> Result { let dust_limit = self .unused_change_addresses .last() .unwrap() .script_pubkey() .dust_value() .to_sat(); for (inscribed_satpoint, inscription_id) in self.inscriptions.iter().rev() { if self.outgoing.outpoint == inscribed_satpoint.outpoint && self.outgoing.offset != inscribed_satpoint.offset && self.outgoing.offset < inscribed_satpoint.offset + dust_limit { return Err(Error::UtxoContainsAdditionalInscription { outgoing_satpoint: self.outgoing, inscribed_satpoint: *inscribed_satpoint,