validator_wrapper
Module0x0000…0003
- Move path
- 0x0000…0003::validator_wrapper
- Functions
- 50 public, 0 entry
- Structs
- 1
- Friend modules
- validator_set
validator_wrapper
Bytecode70 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v7
module 3.validator_wrapper {
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use 0000000000000000000000000000000000000000000000000000000000000002::versioned;
use 0000000000000000000000000000000000000000000000000000000000000003::validator;
struct ValidatorWrapper has store {
inner: Versioned
}
public(friend) create_v1(Arg0: Validator, Arg1: &mut TxContext): ValidatorWrapper {
B0:
0LdU64(1)
1MoveLoc[0](Arg0: Validator)
2MoveLoc[1](Arg1: &mut TxContext)
3Call versioned::create<Validator>(u64, Validator, &mut TxContext): Versioned
4Pack[0](ValidatorWrapper)
5Ret
}
public(friend) load_validator_maybe_upgrade(Arg0: &mut ValidatorWrapper): &mut Validator {
B0:
0CopyLoc[0](Arg0: &mut ValidatorWrapper)
1FreezeRef
2Call upgrade_to_latest(&ValidatorWrapper)
3MoveLoc[0](Arg0: &mut ValidatorWrapper)
4MutBorrowField[0](ValidatorWrapper.inner: Versioned)
5Call versioned::load_value_mut<Validator>(&mut Versioned): &mut Validator
6Ret
}
public(friend) destroy(Arg0: ValidatorWrapper): Validator {
B0:
0ImmBorrowLoc[0](Arg0: ValidatorWrapper)
1Call upgrade_to_latest(&ValidatorWrapper)
2MoveLoc[0](Arg0: ValidatorWrapper)
3Unpack[0](ValidatorWrapper)
4Call versioned::destroy<Validator>(Versioned): Validator
5Ret
}
upgrade_to_latest(Arg0: &ValidatorWrapper) {
B0:
0MoveLoc[0](Arg0: &ValidatorWrapper)
1Call version(&ValidatorWrapper): u64
2LdU64(1)
3Eq
4BrFalse(6)
B1:
5Branch(8)
B2:
6LdConst[0](u64: 0)
7Abort
B3:
8Ret
}
version(Arg0: &ValidatorWrapper): u64 {
B0:
0MoveLoc[0](Arg0: &ValidatorWrapper)
1ImmBorrowField[0](ValidatorWrapper.inner: Versioned)
2Call versioned::version(&Versioned): u64
3Ret
}
Constants [
0 => u64: 0
]
}