.map(|flotsam| flotsam.inscription_id) .collect::>(); for flotsam in &mut floating_inscriptions { if let Flotsam { origin: Origin::New { parent, .. }, .. } = flotsam { if let Some(purported_parent) = parent { if !potential_parents.contains(purported_parent) { *parent = None; } } } } // still have to normalize over inscription size let total_output_value = tx.output.iter().map(|txout| txout.value).sum::(); for flotsam in &mut floating_inscriptions { if let Flotsam { origin: Origin::New { ref mut fee, .. }, .. } = flotsam { *fee = (total_input_value - total_output_value) / u64::from(id_counter); } } let is_coinbase = tx .input .first() .map(|tx_in| tx_in.previous_output.is_null()) .unwrap_or_default(); if is_coinbase { floating_inscriptions.append(&mut self.flotsam); }