interface
Module0x07e7…67a7
- Move path
- 0xd5b3…fd97::interface
- Functions
- 99 public, 7 entry
- Structs
- 0
- Friend modules
- None
Bytecode128 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v6
module d5b301aae5f5bbd01d7cc067efd1ea27f566aaa2f62e504aac60dd0062ebfd97.interface {
use d5b301aae5f5bbd01d7cc067efd1ea27f566aaa2f62e504aac60dd0062ebfd97::core;
use 0000000000000000000000000000000000000000000000000000000000000001::type_name;
use 0000000000000000000000000000000000000000000000000000000000000002::clock;
use 0000000000000000000000000000000000000000000000000000000000000002::coin;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use 0000000000000000000000000000000000000000000000000000000000000002::vec_map;
entry public deposit<Ty0>(Arg0: &Setting, Arg1: Coin<Ty0>, Arg2: &mut Pool<Ty0>, Arg3: &Clock, Arg4: &mut TxContext) {
B0:
0CopyLoc[0](Arg0: &Setting)
1Call core::assert_version(&Setting)
2MoveLoc[0](Arg0: &Setting)
3MoveLoc[1](Arg1: Coin<Ty0>)
4MoveLoc[2](Arg2: &mut Pool<Ty0>)
5MoveLoc[3](Arg3: &Clock)
6MoveLoc[4](Arg4: &mut TxContext)
7Call core::deposit<Ty0>(&Setting, Coin<Ty0>, &mut Pool<Ty0>, &Clock, &mut TxContext)
8Ret
}
entry public add_deposit<Ty0>(Arg0: &Setting, Arg1: Coin<Ty0>, Arg2: &mut Pool<Ty0>, Arg3: &mut Deposit<Ty0>, Arg4: &Clock) {
B0:
0CopyLoc[0](Arg0: &Setting)
1Call core::assert_version(&Setting)
2MoveLoc[0](Arg0: &Setting)
3MoveLoc[1](Arg1: Coin<Ty0>)
4MoveLoc[2](Arg2: &mut Pool<Ty0>)
5MoveLoc[3](Arg3: &mut Deposit<Ty0>)
6MoveLoc[4](Arg4: &Clock)
7Call core::add_deposit<Ty0>(&Setting, Coin<Ty0>, &mut Pool<Ty0>, &mut Deposit<Ty0>, &Clock)
8Ret
}
entry public get_deposit<Ty0>(Arg0: &mut Pool<Ty0>, Arg1: &mut TxContext): address {
B0:
0MoveLoc[0](Arg0: &mut Pool<Ty0>)
1FreezeRef
2MoveLoc[1](Arg1: &mut TxContext)
3FreezeRef
4Call core::get_deposit<Ty0>(&Pool<Ty0>, &TxContext): address
5Ret
}
public raw_withdraw<Ty0>(Arg0: &Setting, Arg1: &mut Pool<Ty0>, Arg2: &mut Deposit<Ty0>, Arg3: u64, Arg4: &Clock, Arg5: &mut TxContext): Coin<Ty0> {
B0:
0CopyLoc[0](Arg0: &Setting)
1Call core::assert_version(&Setting)
2MoveLoc[0](Arg0: &Setting)
3MoveLoc[1](Arg1: &mut Pool<Ty0>)
4MoveLoc[2](Arg2: &mut Deposit<Ty0>)
5MoveLoc[3](Arg3: u64)
6MoveLoc[4](Arg4: &Clock)
7MoveLoc[5](Arg5: &mut TxContext)
8Call core::withdraw<Ty0>(&Setting, &mut Pool<Ty0>, &mut Deposit<Ty0>, u64, &Clock, &mut TxContext): Coin<Ty0>
9Ret
}
entry public withdraw<Ty0>(Arg0: &Setting, Arg1: &mut Pool<Ty0>, Arg2: &mut Deposit<Ty0>, Arg3: u64, Arg4: &Clock, Arg5: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: &Setting)
1MoveLoc[1](Arg1: &mut Pool<Ty0>)
2MoveLoc[2](Arg2: &mut Deposit<Ty0>)
3MoveLoc[3](Arg3: u64)
4MoveLoc[4](Arg4: &Clock)
5CopyLoc[5](Arg5: &mut TxContext)
6Call raw_withdraw<Ty0>(&Setting, &mut Pool<Ty0>, &mut Deposit<Ty0>, u64, &Clock, &mut TxContext): Coin<Ty0>
7MoveLoc[5](Arg5: &mut TxContext)
8FreezeRef
9Call tx_context::sender(&TxContext): address
10Call transfer::public_transfer<Coin<Ty0>>(Coin<Ty0>, address)
11Ret
}
public raw_harvest<Ty0, Ty1>(Arg0: &Setting, Arg1: &mut Pool<Ty0>, Arg2: &mut Deposit<Ty0>, Arg3: &mut Bank<Ty0, Ty1>, Arg4: &Clock, Arg5: &mut TxContext): Coin<Ty1> {
B0:
0MoveLoc[0](Arg0: &Setting)
1Call core::assert_version(&Setting)
2MoveLoc[1](Arg1: &mut Pool<Ty0>)
3MoveLoc[2](Arg2: &mut Deposit<Ty0>)
4MoveLoc[3](Arg3: &mut Bank<Ty0, Ty1>)
5MoveLoc[4](Arg4: &Clock)
6MoveLoc[5](Arg5: &mut TxContext)
7Call core::harvest<Ty0, Ty1>(&mut Pool<Ty0>, &mut Deposit<Ty0>, &mut Bank<Ty0, Ty1>, &Clock, &mut TxContext): Coin<Ty1>
8Ret
}
entry public harvest<Ty0, Ty1>(Arg0: &Setting, Arg1: &mut Pool<Ty0>, Arg2: &mut Deposit<Ty0>, Arg3: &mut Bank<Ty0, Ty1>, Arg4: &Clock, Arg5: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: &Setting)
1MoveLoc[1](Arg1: &mut Pool<Ty0>)
2MoveLoc[2](Arg2: &mut Deposit<Ty0>)
3MoveLoc[3](Arg3: &mut Bank<Ty0, Ty1>)
4MoveLoc[4](Arg4: &Clock)
5CopyLoc[5](Arg5: &mut TxContext)
6Call raw_harvest<Ty0, Ty1>(&Setting, &mut Pool<Ty0>, &mut Deposit<Ty0>, &mut Bank<Ty0, Ty1>, &Clock, &mut TxContext): Coin<Ty1>
7MoveLoc[5](Arg5: &mut TxContext)
8FreezeRef
9Call tx_context::sender(&TxContext): address
10Call transfer::public_transfer<Coin<Ty1>>(Coin<Ty1>, address)
11Ret
}
entry public settle<Ty0>(Arg0: &Setting, Arg1: &mut Pool<Ty0>, Arg2: &mut Deposit<Ty0>, Arg3: &Clock) {
B0:
0CopyLoc[0](Arg0: &Setting)
1Call core::assert_version(&Setting)
2MoveLoc[0](Arg0: &Setting)
3MoveLoc[1](Arg1: &mut Pool<Ty0>)
4MoveLoc[2](Arg2: &mut Deposit<Ty0>)
5MoveLoc[3](Arg3: &Clock)
6Call core::settle<Ty0>(&Setting, &mut Pool<Ty0>, &mut Deposit<Ty0>, &Clock)
7Ret
}
entry public remaining<Ty0>(Arg0: &Pool<Ty0>, Arg1: &Deposit<Ty0>, Arg2: &Clock): VecMap<TypeName, u64> {
B0:
0MoveLoc[0](Arg0: &Pool<Ty0>)
1MoveLoc[1](Arg1: &Deposit<Ty0>)
2MoveLoc[2](Arg2: &Clock)
3Call core::remaining<Ty0>(&Pool<Ty0>, &Deposit<Ty0>, &Clock): VecMap<TypeName, u64>
4Ret
}
}