config
Module0x67b3…928a
- Move path
- 0x3492…c267::config
- Functions
- 94 public, 0 entry
- Structs
- 1
config
Bytecode290 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v6
module 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267.config {
use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::constants;
use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::errors;
use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::tick_math;
use 3492c874c1e3b3e2984e8c41b589e642d4d0a5d6459e5a9cfc2d52fd7c89c267::utils;
use 714a63a0dba6da4f017b42d5d0fb78867f18bcde904868e51d951a5a6f5b7f57::i32;
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000001::vector;
use 0000000000000000000000000000000000000000000000000000000000000002::dynamic_field;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::table;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
struct GlobalConfig has store, key {
id: UID,
min_tick: I32,
max_tick: I32,
version: u64,
reward_managers: vector<address>
}
public(friend) remove_reward_manager(Arg0: &mut GlobalConfig, Arg1: address) {
L2: loc0: address
L3: loc1: u64
L4: loc2: u64
B0:
0CopyLoc[0](Arg0: &mut GlobalConfig)
1CopyLoc[1](Arg1: address)
2StLoc[2](loc0: address)
3FreezeRef
4MoveLoc[2](loc0: address)
5Call verify_reward_manager(&GlobalConfig, address): bool
6BrFalse(8)
B1:
7Branch(12)
B2:
8MoveLoc[0](Arg0: &mut GlobalConfig)
9Pop
10Call errors::reward_manager_not_found(): u64
11Abort
B3:
12LdU64(0)
13StLoc[3](loc1: u64)
14CopyLoc[0](Arg0: &mut GlobalConfig)
15ImmBorrowField[0](GlobalConfig.reward_managers: vector<address>)
16VecLen(13)
17StLoc[4](loc2: u64)
B4:
18CopyLoc[3](loc1: u64)
19CopyLoc[4](loc2: u64)
20Lt
21BrFalse(42)
B5:
22Branch(23)
B6:
23CopyLoc[0](Arg0: &mut GlobalConfig)
24ImmBorrowField[0](GlobalConfig.reward_managers: vector<address>)
25CopyLoc[3](loc1: u64)
26VecImmBorrow(13)
27ReadRef
28CopyLoc[1](Arg1: address)
29Eq
30BrFalse(37)
B7:
31MoveLoc[0](Arg0: &mut GlobalConfig)
32MutBorrowField[0](GlobalConfig.reward_managers: vector<address>)
33MoveLoc[3](loc1: u64)
34Call vector::remove<address>(&mut vector<address>, u64): address
35Pop
36Branch(42)
B8:
37MoveLoc[3](loc1: u64)
38LdU64(1)
39Add
40StLoc[3](loc1: u64)
41Branch(18)
B9:
42Ret
}
public(friend) set_reward_manager(Arg0: &mut GlobalConfig, Arg1: address) {
L2: loc0: address
B0:
0CopyLoc[0](Arg0: &mut GlobalConfig)
1CopyLoc[1](Arg1: address)
2StLoc[2](loc0: address)
3FreezeRef
4MoveLoc[2](loc0: address)
5Call verify_reward_manager(&GlobalConfig, address): bool
6Not
7BrFalse(9)
B1:
8Branch(13)
B2:
9MoveLoc[0](Arg0: &mut GlobalConfig)
10Pop
11Call errors::already_a_reward_manger(): u64
12Abort
B3:
13MoveLoc[0](Arg0: &mut GlobalConfig)
14MutBorrowField[0](GlobalConfig.reward_managers: vector<address>)
15MoveLoc[1](Arg1: address)
16VecPushBack(13)
17Ret
}
public(friend) increase_version(Arg0: &mut GlobalConfig): u64 * u64 {
L1: loc0: u64
B0:
0CopyLoc[0](Arg0: &mut GlobalConfig)
1ImmBorrowField[1](GlobalConfig.version: u64)
2ReadRef
3LdConst[0](u64: 9)
4Lt
5BrFalse(7)
B1:
6Branch(11)
B2:
7MoveLoc[0](Arg0: &mut GlobalConfig)
8Pop
9Call errors::verion_cant_be_increased(): u64
10Abort
B3:
11CopyLoc[0](Arg0: &mut GlobalConfig)
12ImmBorrowField[1](GlobalConfig.version: u64)
13ReadRef
14StLoc[1](loc0: u64)
15CopyLoc[0](Arg0: &mut GlobalConfig)
16ImmBorrowField[1](GlobalConfig.version: u64)
17ReadRef
18LdU64(1)
19Add
20CopyLoc[0](Arg0: &mut GlobalConfig)
21MutBorrowField[1](GlobalConfig.version: u64)
22WriteRef
23MoveLoc[1](loc0: u64)
24MoveLoc[0](Arg0: &mut GlobalConfig)
25ImmBorrowField[1](GlobalConfig.version: u64)
26ReadRef
27Ret
}
public(friend) get_config_id(Arg0: &mut GlobalConfig): &mut UID {
B0:
0MoveLoc[0](Arg0: &mut GlobalConfig)
1MutBorrowField[2](GlobalConfig.id: UID)
2Ret
}
init(Arg0: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: &mut TxContext)
1Call object::new(&mut TxContext): UID
2Call tick_math::min_tick(): I32
3Call tick_math::max_tick(): I32
4LdConst[0](u64: 9)
5VecPack(13, 0)
6Pack[0](GlobalConfig)
7Call transfer::share_object<GlobalConfig>(GlobalConfig)
8Ret
}
public get_tick_range(Arg0: &GlobalConfig): I32 * I32 {
B0:
0CopyLoc[0](Arg0: &GlobalConfig)
1ImmBorrowField[3](GlobalConfig.min_tick: I32)
2ReadRef
3MoveLoc[0](Arg0: &GlobalConfig)
4ImmBorrowField[4](GlobalConfig.max_tick: I32)
5ReadRef
6Ret
}
public verify_version(Arg0: &GlobalConfig) {
B0:
0MoveLoc[0](Arg0: &GlobalConfig)
1ImmBorrowField[1](GlobalConfig.version: u64)
2ReadRef
3LdConst[0](u64: 9)
4Eq
5BrFalse(7)
B1:
6Branch(9)
B2:
7Call errors::version_mismatch(): u64
8Abort
B3:
9Ret
}
public verify_reward_manager(Arg0: &GlobalConfig, Arg1: address): bool {
L2: loc0: u64
B0:
0LdU64(0)
1StLoc[2](loc0: u64)
B1:
2CopyLoc[2](loc0: u64)
3CopyLoc[0](Arg0: &GlobalConfig)
4ImmBorrowField[0](GlobalConfig.reward_managers: vector<address>)
5VecLen(13)
6Lt
7BrFalse(26)
B2:
8Branch(9)
B3:
9CopyLoc[0](Arg0: &GlobalConfig)
10ImmBorrowField[0](GlobalConfig.reward_managers: vector<address>)
11CopyLoc[2](loc0: u64)
12VecImmBorrow(13)
13ReadRef
14CopyLoc[1](Arg1: address)
15Eq
16BrFalse(21)
B4:
17MoveLoc[0](Arg0: &GlobalConfig)
18Pop
19LdTrue
20Ret
B5:
21MoveLoc[2](loc0: u64)
22LdU64(1)
23Add
24StLoc[2](loc0: u64)
25Branch(2)
B6:
26MoveLoc[0](Arg0: &GlobalConfig)
27Pop
28LdFalse
29Ret
}
public get_pool_creation_fee_amount<Ty0>(Arg0: &GlobalConfig): bool * u64 {
L1: loc0: u64
L2: loc1: String
L3: loc2: &Table<String, u64>
L4: loc3: String
L5: loc4: &UID
B0:
0MoveLoc[0](Arg0: &GlobalConfig)
1ImmBorrowField[2](GlobalConfig.id: UID)
2StLoc[5](loc4: &UID)
3Call constants::pool_creation_fee_dynamic_key(): String
4StLoc[4](loc3: String)
5Call utils::get_type_string<Ty0>(): String
6StLoc[2](loc1: String)
7CopyLoc[5](loc4: &UID)
8CopyLoc[4](loc3: String)
9Call dynamic_field::exists_<String>(&UID, String): bool
10Not
11BrFalse(17)
B1:
12MoveLoc[5](loc4: &UID)
13Pop
14LdFalse
15LdU64(0)
16Ret
B2:
17MoveLoc[5](loc4: &UID)
18MoveLoc[4](loc3: String)
19Call dynamic_field::borrow<String, Table<String, u64>>(&UID, String): &Table<String, u64>
20StLoc[3](loc2: &Table<String, u64>)
21CopyLoc[3](loc2: &Table<String, u64>)
22CopyLoc[2](loc1: String)
23Call table::contains<String, u64>(&Table<String, u64>, String): bool
24Not
25BrFalse(31)
B3:
26MoveLoc[3](loc2: &Table<String, u64>)
27Pop
28LdFalse
29LdU64(0)
30Ret
B4:
31MoveLoc[3](loc2: &Table<String, u64>)
32MoveLoc[2](loc1: String)
33Call table::borrow<String, u64>(&Table<String, u64>, String): &u64
34ReadRef
35StLoc[1](loc0: u64)
36LdTrue
37MoveLoc[1](loc0: u64)
38Ret
}
Constants [
0 => u64: 9
]
}