config
Module0x19e6…967c
- Move path
- 0xbde4…f47d::config
- Functions
- 146 public, 0 entry
- Structs
- 3
config
Bytecode350 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v6
module bde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d.config {
use 0000000000000000000000000000000000000000000000000000000000000002::event;
struct StakingConfig has store {
deposit_fee: u64,
reward_fee: u64,
validator_reward_fee: u64,
service_fee: u64,
withdraw_time_limit: u64,
validator_count: u64
}
struct StakingConfigCreated has copy, drop {
deposit_fee: u64,
reward_fee: u64,
validator_reward_fee: u64,
service_fee: u64,
withdraw_time_limit: u64,
validator_count: u64
}
struct StakingFeeConfigUpdated has copy, drop {
name: vector<u8>,
old: u64,
new: u64
}
public(friend) new(Arg0: u64, Arg1: u64, Arg2: u64, Arg3: u64, Arg4: u64, Arg5: u64): StakingConfig {
B0:
0CopyLoc[0](Arg0: u64)
1CopyLoc[1](Arg1: u64)
2CopyLoc[2](Arg2: u64)
3CopyLoc[3](Arg3: u64)
4CopyLoc[4](Arg4: u64)
5CopyLoc[5](Arg5: u64)
6Call new_event(u64, u64, u64, u64, u64, u64)
7MoveLoc[0](Arg0: u64)
8MoveLoc[1](Arg1: u64)
9MoveLoc[2](Arg2: u64)
10MoveLoc[3](Arg3: u64)
11MoveLoc[4](Arg4: u64)
12MoveLoc[5](Arg5: u64)
13Pack[0](StakingConfig)
14Ret
}
public(friend) set_deposit_fee(Arg0: &mut StakingConfig, Arg1: u64) {
B0:
0CopyLoc[0](Arg0: &mut StakingConfig)
1ImmBorrowField[0](StakingConfig.deposit_fee: u64)
2ReadRef
3CopyLoc[1](Arg1: u64)
4Neq
5BrFalse(7)
B1:
6Branch(11)
B2:
7MoveLoc[0](Arg0: &mut StakingConfig)
8Pop
9LdConst[1](u64: 1)
10Abort
B3:
11CopyLoc[1](Arg1: u64)
12LdConst[0](u64: 1000..)
13Le
14BrFalse(16)
B4:
15Branch(20)
B5:
16MoveLoc[0](Arg0: &mut StakingConfig)
17Pop
18LdConst[2](u64: 2)
19Abort
B6:
20LdConst[3](vector<u8>: "Dep..)
21CopyLoc[0](Arg0: &mut StakingConfig)
22ImmBorrowField[0](StakingConfig.deposit_fee: u64)
23ReadRef
24CopyLoc[1](Arg1: u64)
25Pack[2](StakingFeeConfigUpdated)
26Call event::emit<StakingFeeConfigUpdated>(StakingFeeConfigUpdated)
27MoveLoc[1](Arg1: u64)
28MoveLoc[0](Arg0: &mut StakingConfig)
29MutBorrowField[0](StakingConfig.deposit_fee: u64)
30WriteRef
31Ret
}
public(friend) set_reward_fee(Arg0: &mut StakingConfig, Arg1: u64) {
B0:
0CopyLoc[0](Arg0: &mut StakingConfig)
1ImmBorrowField[1](StakingConfig.reward_fee: u64)
2ReadRef
3CopyLoc[1](Arg1: u64)
4Neq
5BrFalse(7)
B1:
6Branch(11)
B2:
7MoveLoc[0](Arg0: &mut StakingConfig)
8Pop
9LdConst[1](u64: 1)
10Abort
B3:
11CopyLoc[1](Arg1: u64)
12LdConst[0](u64: 1000..)
13Le
14BrFalse(16)
B4:
15Branch(20)
B5:
16MoveLoc[0](Arg0: &mut StakingConfig)
17Pop
18LdConst[2](u64: 2)
19Abort
B6:
20LdConst[4](vector<u8>: "Rew..)
21CopyLoc[0](Arg0: &mut StakingConfig)
22ImmBorrowField[1](StakingConfig.reward_fee: u64)
23ReadRef
24CopyLoc[1](Arg1: u64)
25Pack[2](StakingFeeConfigUpdated)
26Call event::emit<StakingFeeConfigUpdated>(StakingFeeConfigUpdated)
27MoveLoc[1](Arg1: u64)
28MoveLoc[0](Arg0: &mut StakingConfig)
29MutBorrowField[1](StakingConfig.reward_fee: u64)
30WriteRef
31Ret
}
public(friend) set_validator_reward_fee(Arg0: &mut StakingConfig, Arg1: u64) {
B0:
0CopyLoc[0](Arg0: &mut StakingConfig)
1ImmBorrowField[2](StakingConfig.validator_reward_fee: u64)
2ReadRef
3CopyLoc[1](Arg1: u64)
4Neq
5BrFalse(7)
B1:
6Branch(11)
B2:
7MoveLoc[0](Arg0: &mut StakingConfig)
8Pop
9LdConst[1](u64: 1)
10Abort
B3:
11LdConst[5](vector<u8>: "Val..)
12CopyLoc[0](Arg0: &mut StakingConfig)
13ImmBorrowField[2](StakingConfig.validator_reward_fee: u64)
14ReadRef
15CopyLoc[1](Arg1: u64)
16Pack[2](StakingFeeConfigUpdated)
17Call event::emit<StakingFeeConfigUpdated>(StakingFeeConfigUpdated)
18MoveLoc[1](Arg1: u64)
19MoveLoc[0](Arg0: &mut StakingConfig)
20MutBorrowField[2](StakingConfig.validator_reward_fee: u64)
21WriteRef
22Ret
}
public(friend) set_service_fee(Arg0: &mut StakingConfig, Arg1: u64) {
B0:
0CopyLoc[0](Arg0: &mut StakingConfig)
1ImmBorrowField[3](StakingConfig.service_fee: u64)
2ReadRef
3CopyLoc[1](Arg1: u64)
4Neq
5BrFalse(7)
B1:
6Branch(11)
B2:
7MoveLoc[0](Arg0: &mut StakingConfig)
8Pop
9LdConst[1](u64: 1)
10Abort
B3:
11CopyLoc[1](Arg1: u64)
12LdConst[0](u64: 1000..)
13Le
14BrFalse(16)
B4:
15Branch(20)
B5:
16MoveLoc[0](Arg0: &mut StakingConfig)
17Pop
18LdConst[2](u64: 2)
19Abort
B6:
20LdConst[6](vector<u8>: "Ser..)
21CopyLoc[0](Arg0: &mut StakingConfig)
22ImmBorrowField[3](StakingConfig.service_fee: u64)
23ReadRef
24CopyLoc[1](Arg1: u64)
25Pack[2](StakingFeeConfigUpdated)
26Call event::emit<StakingFeeConfigUpdated>(StakingFeeConfigUpdated)
27MoveLoc[1](Arg1: u64)
28MoveLoc[0](Arg0: &mut StakingConfig)
29MutBorrowField[3](StakingConfig.service_fee: u64)
30WriteRef
31Ret
}
public(friend) set_withdraw_time_limit(Arg0: &mut StakingConfig, Arg1: u64) {
B0:
0CopyLoc[0](Arg0: &mut StakingConfig)
1ImmBorrowField[4](StakingConfig.withdraw_time_limit: u64)
2ReadRef
3CopyLoc[1](Arg1: u64)
4Neq
5BrFalse(7)
B1:
6Branch(11)
B2:
7MoveLoc[0](Arg0: &mut StakingConfig)
8Pop
9LdConst[1](u64: 1)
10Abort
B3:
11LdConst[7](vector<u8>: "Wit..)
12CopyLoc[0](Arg0: &mut StakingConfig)
13ImmBorrowField[4](StakingConfig.withdraw_time_limit: u64)
14ReadRef
15CopyLoc[1](Arg1: u64)
16Pack[2](StakingFeeConfigUpdated)
17Call event::emit<StakingFeeConfigUpdated>(StakingFeeConfigUpdated)
18MoveLoc[1](Arg1: u64)
19MoveLoc[0](Arg0: &mut StakingConfig)
20MutBorrowField[4](StakingConfig.withdraw_time_limit: u64)
21WriteRef
22Ret
}
public(friend) set_validator_count(Arg0: &mut StakingConfig, Arg1: u64) {
L2: loc0: bool
B0:
0CopyLoc[1](Arg1: u64)
1LdU64(0)
2Gt
3BrFalse(11)
B1:
4CopyLoc[0](Arg0: &mut StakingConfig)
5ImmBorrowField[5](StakingConfig.validator_count: u64)
6ReadRef
7CopyLoc[1](Arg1: u64)
8Neq
9StLoc[2](loc0: bool)
10Branch(13)
B2:
11LdFalse
12StLoc[2](loc0: bool)
B3:
13MoveLoc[2](loc0: bool)
14BrFalse(16)
B4:
15Branch(20)
B5:
16MoveLoc[0](Arg0: &mut StakingConfig)
17Pop
18LdConst[1](u64: 1)
19Abort
B6:
20LdConst[8](vector<u8>: "Val..)
21CopyLoc[0](Arg0: &mut StakingConfig)
22ImmBorrowField[5](StakingConfig.validator_count: u64)
23ReadRef
24CopyLoc[1](Arg1: u64)
25Pack[2](StakingFeeConfigUpdated)
26Call event::emit<StakingFeeConfigUpdated>(StakingFeeConfigUpdated)
27MoveLoc[1](Arg1: u64)
28MoveLoc[0](Arg0: &mut StakingConfig)
29MutBorrowField[5](StakingConfig.validator_count: u64)
30WriteRef
31Ret
}
public get_deposit_fee(Arg0: &StakingConfig): u64 {
B0:
0MoveLoc[0](Arg0: &StakingConfig)
1ImmBorrowField[0](StakingConfig.deposit_fee: u64)
2ReadRef
3Ret
}
public get_reward_fee(Arg0: &StakingConfig): u64 {
B0:
0MoveLoc[0](Arg0: &StakingConfig)
1ImmBorrowField[1](StakingConfig.reward_fee: u64)
2ReadRef
3Ret
}
public get_validator_reward_fee(Arg0: &StakingConfig): u64 {
B0:
0MoveLoc[0](Arg0: &StakingConfig)
1ImmBorrowField[2](StakingConfig.validator_reward_fee: u64)
2ReadRef
3Ret
}
public get_service_fee(Arg0: &StakingConfig): u64 {
B0:
0MoveLoc[0](Arg0: &StakingConfig)
1ImmBorrowField[3](StakingConfig.service_fee: u64)
2ReadRef
3Ret
}
public get_withdraw_time_limit(Arg0: &StakingConfig): u64 {
B0:
0MoveLoc[0](Arg0: &StakingConfig)
1ImmBorrowField[4](StakingConfig.withdraw_time_limit: u64)
2ReadRef
3Ret
}
public get_validator_count(Arg0: &StakingConfig): u64 {
B0:
0MoveLoc[0](Arg0: &StakingConfig)
1ImmBorrowField[5](StakingConfig.validator_count: u64)
2ReadRef
3Ret
}
new_event(Arg0: u64, Arg1: u64, Arg2: u64, Arg3: u64, Arg4: u64, Arg5: u64) {
B0:
0MoveLoc[0](Arg0: u64)
1MoveLoc[1](Arg1: u64)
2MoveLoc[2](Arg2: u64)
3MoveLoc[3](Arg3: u64)
4MoveLoc[4](Arg4: u64)
5MoveLoc[5](Arg5: u64)
6Pack[1](StakingConfigCreated)
7Call event::emit<StakingConfigCreated>(StakingConfigCreated)
8Ret
}
Constants [
0 => u64: 10000000
1 => u64: 1
2 => u64: 2
3 => vector<u8>: "DepositFeeUpdated" // interpreted as UTF8 string
4 => vector<u8>: "RewardFeeUpdated" // interpreted as UTF8 string
5 => vector<u8>: "ValidatorRewardFeeUpdated" // interpreted as UTF8 string
6 => vector<u8>: "ServiceFeeUpdated" // interpreted as UTF8 string
7 => vector<u8>: "WithdrawTimeLimitUpdated" // interpreted as UTF8 string
8 => vector<u8>: "ValidatorCountUpdated" // interpreted as UTF8 string
]
}