versioned
Module0xde2c…c772
- Move path
- 0x2592…f26d::versioned
- Functions
- 86 public, 2 entry
- Structs
- 5
- Friend modules
- poolpool_managerposition_manager
versioned
Bytecode245 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v6
module 25929e7f29e0a30eb4e692952ba1b5b65a3a4d65ab5f2a32e1ba3edcb587f26d.versioned {
use 25929e7f29e0a30eb4e692952ba1b5b65a3a4d65ab5f2a32e1ba3edcb587f26d::admin_cap;
use 0000000000000000000000000000000000000000000000000000000000000002::dynamic_field;
use 0000000000000000000000000000000000000000000000000000000000000002::event;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
struct GlobalPauseDfKey has copy, drop, store {
dummy_field: bool
}
struct Versioned has store, key {
id: UID,
version: u64
}
struct Upgraded has copy, drop, store {
previous_version: u64,
new_version: u64
}
struct Paused has copy, drop, store {
sender: address
}
struct Unpaused has copy, drop, store {
sender: address
}
init(Arg0: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: &mut TxContext)
1Call object::new(&mut TxContext): UID
2LdConst[0](u64: 6)
3Pack[1](Versioned)
4Call transfer::share_object<Versioned>(Versioned)
5Ret
}
public check_version(Arg0: &Versioned) {
B0:
0MoveLoc[0](Arg0: &Versioned)
1ImmBorrowField[0](Versioned.version: u64)
2ReadRef
3LdConst[0](u64: 6)
4Neq
5BrFalse(8)
B1:
6LdConst[1](u64: 999)
7Abort
B2:
8Ret
}
public check_pause(Arg0: &Versioned) {
B0:
0MoveLoc[0](Arg0: &Versioned)
1Call is_paused(&Versioned): bool
2BrFalse(5)
B1:
3LdConst[3](u64: 1001)
4Abort
B2:
5Ret
}
public upgrade(Arg0: &AdminCap, Arg1: &mut Versioned) {
B0:
0CopyLoc[1](Arg1: &mut Versioned)
1ImmBorrowField[0](Versioned.version: u64)
2ReadRef
3LdConst[0](u64: 6)
4Lt
5BrFalse(7)
B1:
6Branch(11)
B2:
7MoveLoc[1](Arg1: &mut Versioned)
8Pop
9LdConst[2](u64: 1000)
10Abort
B3:
11MoveLoc[1](Arg1: &mut Versioned)
12Call ugrade_internal(&mut Versioned)
13Ret
}
entry public pause(Arg0: &AdminCap, Arg1: &mut Versioned, Arg2: &TxContext) {
L3: loc0: &mut bool
B0:
0CopyLoc[1](Arg1: &mut Versioned)
1FreezeRef
2Call check_version(&Versioned)
3CopyLoc[1](Arg1: &mut Versioned)
4ImmBorrowField[1](Versioned.id: UID)
5LdFalse
6Pack[0](GlobalPauseDfKey)
7Call dynamic_field::exists_with_type<GlobalPauseDfKey, bool>(&UID, GlobalPauseDfKey): bool
8BrFalse(31)
B1:
9MoveLoc[1](Arg1: &mut Versioned)
10MutBorrowField[1](Versioned.id: UID)
11LdFalse
12Pack[0](GlobalPauseDfKey)
13Call dynamic_field::borrow_mut<GlobalPauseDfKey, bool>(&mut UID, GlobalPauseDfKey): &mut bool
14StLoc[3](loc0: &mut bool)
15CopyLoc[3](loc0: &mut bool)
16ReadRef
17LdFalse
18Eq
19BrFalse(21)
B2:
20Branch(27)
B3:
21MoveLoc[3](loc0: &mut bool)
22Pop
23MoveLoc[2](Arg2: &TxContext)
24Pop
25LdConst[3](u64: 1001)
26Abort
B4:
27LdTrue
28MoveLoc[3](loc0: &mut bool)
29WriteRef
30Branch(37)
B5:
31MoveLoc[1](Arg1: &mut Versioned)
32MutBorrowField[1](Versioned.id: UID)
33LdFalse
34Pack[0](GlobalPauseDfKey)
35LdTrue
36Call dynamic_field::add<GlobalPauseDfKey, bool>(&mut UID, GlobalPauseDfKey, bool)
B6:
37MoveLoc[2](Arg2: &TxContext)
38Call tx_context::sender(&TxContext): address
39Pack[3](Paused)
40Call event::emit<Paused>(Paused)
41Ret
}
entry public unpause(Arg0: &AdminCap, Arg1: &mut Versioned, Arg2: &TxContext) {
L3: loc0: &mut bool
B0:
0CopyLoc[1](Arg1: &mut Versioned)
1FreezeRef
2Call check_version(&Versioned)
3CopyLoc[1](Arg1: &mut Versioned)
4ImmBorrowField[1](Versioned.id: UID)
5LdFalse
6Pack[0](GlobalPauseDfKey)
7Call dynamic_field::exists_with_type<GlobalPauseDfKey, bool>(&UID, GlobalPauseDfKey): bool
8BrFalse(27)
B1:
9MoveLoc[1](Arg1: &mut Versioned)
10MutBorrowField[1](Versioned.id: UID)
11LdFalse
12Pack[0](GlobalPauseDfKey)
13Call dynamic_field::borrow_mut<GlobalPauseDfKey, bool>(&mut UID, GlobalPauseDfKey): &mut bool
14StLoc[3](loc0: &mut bool)
15CopyLoc[3](loc0: &mut bool)
16ReadRef
17LdTrue
18Eq
19BrFalse(21)
B2:
20Branch(33)
B3:
21MoveLoc[3](loc0: &mut bool)
22Pop
23MoveLoc[2](Arg2: &TxContext)
24Pop
25LdConst[4](u64: 1002)
26Abort
B4:
27MoveLoc[1](Arg1: &mut Versioned)
28Pop
29MoveLoc[2](Arg2: &TxContext)
30Pop
31LdConst[4](u64: 1002)
32Abort
B5:
33LdFalse
34MoveLoc[3](loc0: &mut bool)
35WriteRef
36MoveLoc[2](Arg2: &TxContext)
37Call tx_context::sender(&TxContext): address
38Pack[4](Unpaused)
39Call event::emit<Unpaused>(Unpaused)
40Ret
}
public is_paused(Arg0: &Versioned): bool {
L1: loc0: bool
B0:
0CopyLoc[0](Arg0: &Versioned)
1ImmBorrowField[1](Versioned.id: UID)
2LdFalse
3Pack[0](GlobalPauseDfKey)
4Call dynamic_field::exists_with_type<GlobalPauseDfKey, bool>(&UID, GlobalPauseDfKey): bool
5BrFalse(14)
B1:
6MoveLoc[0](Arg0: &Versioned)
7ImmBorrowField[1](Versioned.id: UID)
8LdFalse
9Pack[0](GlobalPauseDfKey)
10Call dynamic_field::borrow<GlobalPauseDfKey, bool>(&UID, GlobalPauseDfKey): &bool
11ReadRef
12StLoc[1](loc0: bool)
13Branch(18)
B2:
14MoveLoc[0](Arg0: &Versioned)
15Pop
16LdFalse
17StLoc[1](loc0: bool)
B3:
18MoveLoc[1](loc0: bool)
19Ret
}
ugrade_internal(Arg0: &mut Versioned) {
B0:
0CopyLoc[0](Arg0: &mut Versioned)
1ImmBorrowField[0](Versioned.version: u64)
2ReadRef
3LdConst[0](u64: 6)
4Pack[2](Upgraded)
5Call event::emit<Upgraded>(Upgraded)
6LdConst[0](u64: 6)
7MoveLoc[0](Arg0: &mut Versioned)
8MutBorrowField[0](Versioned.version: u64)
9WriteRef
10Ret
}
Constants [
0 => u64: 6
1 => u64: 999
2 => u64: 1000
3 => u64: 1001
4 => u64: 1002
]
}