let new_satpoint = match flotsam.origin {
Origin::New {
pointer: Some(pointer),
..
} if pointer < output_value => {
match range_to_vout.iter().find_map(|((start, end), vout)| {
(pointer >= *start && pointer < *end).then(|| (vout, pointer - start))
}) {
Some((vout, offset)) => {
flotsam.offset = pointer;
SatPoint {
outpoint: OutPoint { txid, vout: *vout },
offset,
}
}
_ => new_satpoint,
}
}
_ => new_satpoint,
};
self.update_inscription_location(input_sat_ranges, flotsam, new_satpoint)?;
}
if is_coinbase {
for flotsam in inscriptions {
let new_satpoint = SatPoint {
outpoint: OutPoint::null(),
offset: self.lost_sats + flotsam.offset - output_value,
};
self.update_inscription_location(input_sat_ranges, flotsam, new_satpoint)?;
}
self.lost_sats += self.reward - output_value;