interface
Module0x126e…2a62
- Move path
- 0xbde4…f47d::interface
- Functions
- 88 public, 8 entry
- Structs
- 0
- Friend modules
- None
interface
Bytecode96 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v6
module bde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d.interface {
use bde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui;
use bde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::staking;
use 0000000000000000000000000000000000000000000000000000000000000002::clock;
use 0000000000000000000000000000000000000000000000000000000000000002::coin;
use 0000000000000000000000000000000000000000000000000000000000000002::sui;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use 0000000000000000000000000000000000000000000000000000000000000003::staking_pool;
use 0000000000000000000000000000000000000000000000000000000000000003::sui_system;
entry public request_stake(Arg0: &mut SuiSystemState, Arg1: &mut Staking, Arg2: Coin<SUI>, Arg3: address, Arg4: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: &mut SuiSystemState)
1MoveLoc[1](Arg1: &mut Staking)
2MoveLoc[2](Arg2: Coin<SUI>)
3MoveLoc[3](Arg3: address)
4CopyLoc[4](Arg4: &mut TxContext)
5Call staking::request_stake_coin(&mut SuiSystemState, &mut Staking, Coin<SUI>, address, &mut TxContext): Coin<HASUI>
6MoveLoc[4](Arg4: &mut TxContext)
7FreezeRef
8Call tx_context::sender(&TxContext): address
9Call transfer::public_transfer<Coin<HASUI>>(Coin<HASUI>, address)
10Ret
}
entry public request_unstake_instant(Arg0: &mut Staking, Arg1: Coin<HASUI>, Arg2: &mut TxContext) {
B0:
0LdU64(0)
1Abort
}
entry public request_unstake_instant_v2(Arg0: &mut SuiSystemState, Arg1: &mut Staking, Arg2: Coin<HASUI>, Arg3: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: &mut SuiSystemState)
1MoveLoc[1](Arg1: &mut Staking)
2MoveLoc[2](Arg2: Coin<HASUI>)
3MoveLoc[3](Arg3: &mut TxContext)
4Call staking::request_unstake_instant_v2(&mut SuiSystemState, &mut Staking, Coin<HASUI>, &mut TxContext)
5Ret
}
entry public request_unstake_delay(Arg0: &mut Staking, Arg1: &Clock, Arg2: Coin<HASUI>, Arg3: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: &mut Staking)
1MoveLoc[1](Arg1: &Clock)
2MoveLoc[2](Arg2: Coin<HASUI>)
3MoveLoc[3](Arg3: &mut TxContext)
4Call staking::request_unstake_delay(&mut Staking, &Clock, Coin<HASUI>, &mut TxContext)
5Ret
}
entry public claim(Arg0: &mut Staking, Arg1: UnstakeTicket, Arg2: &mut TxContext) {
B0:
0LdU64(0)
1Abort
}
entry public claim_v2(Arg0: &mut SuiSystemState, Arg1: &mut Staking, Arg2: UnstakeTicket, Arg3: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: &mut SuiSystemState)
1MoveLoc[1](Arg1: &mut Staking)
2MoveLoc[2](Arg2: UnstakeTicket)
3MoveLoc[3](Arg3: &mut TxContext)
4Call staking::claim_v2(&mut SuiSystemState, &mut Staking, UnstakeTicket, &mut TxContext)
5Ret
}
entry public import_stake_sui_vec(Arg0: &mut SuiSystemState, Arg1: &mut Staking, Arg2: vector<StakedSui>, Arg3: address, Arg4: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: &mut SuiSystemState)
1MoveLoc[1](Arg1: &mut Staking)
2MoveLoc[2](Arg2: vector<StakedSui>)
3MoveLoc[3](Arg3: address)
4CopyLoc[4](Arg4: &mut TxContext)
5Call staking::import_stake_sui_vec(&mut SuiSystemState, &mut Staking, vector<StakedSui>, address, &mut TxContext): Coin<HASUI>
6MoveLoc[4](Arg4: &mut TxContext)
7FreezeRef
8Call tx_context::sender(&TxContext): address
9Call transfer::public_transfer<Coin<HASUI>>(Coin<HASUI>, address)
10Ret
}
entry public inject_rewards(Arg0: &mut SuiSystemState, Arg1: &mut Staking, Arg2: Coin<SUI>, Arg3: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: &mut SuiSystemState)
1MoveLoc[1](Arg1: &mut Staking)
2MoveLoc[2](Arg2: Coin<SUI>)
3MoveLoc[3](Arg3: &mut TxContext)
4Call staking::inject_rewards(&mut SuiSystemState, &mut Staking, Coin<SUI>, &mut TxContext)
5Ret
}
}