use super::*;
#[derive(Debug, PartialEq, Copy, Clone)]
enum Curse {
DuplicateField,
IncompleteField,
NotAtOffsetZero,
NotInFirstInput,
Pointer,
Pushnum,
Reinscription,
UnrecognizedEvenField,
}
#[derive(Debug, Clone)]
pub(super) struct Flotsam {
inscription_id: InscriptionId,
offset: u64,
origin: Origin,
}
#[derive(Debug, Clone)]
enum Origin {
New {
cursed: bool,
fee: u64,
hidden: bool,
parent: Option<InscriptionId>,
pointer: Option<u64>,
reinscription: bool,
unbound: bool,
},
Old {
old_satpoint: SatPoint,
},
}
pub(super) struct InscriptionUpdater<'a, 'db, 'tx> {
pub(super) blessed_inscription_count: u64,
pub(super) cursed_inscription_count: u64,
pub(super) flotsam: Vec<Flotsam>,
pub(super) height: u32,
pub(super) home_inscription_count: u64,
pub(super) home_inscriptions: &'a mut Table<'db, 'tx, u32, InscriptionIdValue>,
pub(super) id_to_sequence_number: &'a mut Table<'db, 'tx, InscriptionIdValue, u32>,
pub(super) inscription_number_to_sequence_number: &'a mut Table<'db, 'tx, i32, u32>,