Provide functions for binding L2 state to L1(UTXO, Inscription)
module bitcoin_move::utxo{
#[private_generics(S)]
public fun add_temp_state<S: store+drop>(utxo: &mut Object<UTXO>, state: S);
#[private_generics(S)]
public fun remove_temp_state<S: store+drop>(utxo: &mut Object<UTXO>): S;
}
When the UTXO is spent, the Temporary Area states will be cleared.
module bitcoin_move::ord{
#[private_generics(S)]
public fun add_temp_state<S: drop>(inscription: &mut Object<Inscription>, state: S);
#[private_generics(S)]
public fun remove_temp_state<S: drop>(inscription: &mut Object<Inscription>): S;
#[private_generics(S)]
public fun add_permanent_state<S: store>(inscription: &mut Object<Inscription>, state: S);
#[private_generics(S)]
public fun remove_permanent_state<S: store>(inscription: &mut Object<Inscription>): S;
}
When the Inscription transfers, the Temporary Area states will be cleared, and the Permanent Area state will be kept.
Provide functions for binding L2 state to L1(UTXO, Inscription)
When the UTXO is spent, the Temporary Area states will be cleared.
When the Inscription transfers, the Temporary Area states will be cleared, and the Permanent Area state will be kept.