utils
Module0x3864…c032
- Move path
- 0xeffc…c302::utils
- Functions
- 33 public, 0 entry
- Structs
- 0
- Friend modules
- None
utils
Bytecode100 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v7
module effc8ae61f439bb34c9b905ff8f29ec56873dcedf81c7123ff2f1f67c45ec302.utils {
use 0000000000000000000000000000000000000000000000000000000000000002::coin;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
public transfer_or_destroy_coin<Ty0>(Arg0: Coin<Ty0>, Arg1: &TxContext) {
B0:
0ImmBorrowLoc[0](Arg0: Coin<Ty0>)
1Call coin::value<Ty0>(&Coin<Ty0>): u64
2LdU64(0)
3Gt
4BrFalse(10)
B1:
5MoveLoc[0](Arg0: Coin<Ty0>)
6MoveLoc[1](Arg1: &TxContext)
7Call tx_context::sender(&TxContext): address
8Call transfer::public_transfer<Coin<Ty0>>(Coin<Ty0>, address)
9Branch(14)
B2:
10MoveLoc[1](Arg1: &TxContext)
11Pop
12MoveLoc[0](Arg0: Coin<Ty0>)
13Call coin::destroy_zero<Ty0>(Coin<Ty0>)
B3:
14Ret
}
public check_coin_threshold<Ty0>(Arg0: &Coin<Ty0>, Arg1: u64) {
B0:
0MoveLoc[0](Arg0: &Coin<Ty0>)
1Call coin::value<Ty0>(&Coin<Ty0>): u64
2MoveLoc[1](Arg1: u64)
3Ge
4BrFalse(6)
B1:
5Branch(8)
B2:
6LdConst[0](u64: 1)
7Abort
B3:
8Ret
}
public check_coins_threshold<Ty0>(Arg0: &vector<Coin<Ty0>>, Arg1: u64) {
L2: loc0: &Coin<Ty0>
L3: loc1: u64
L4: loc2: u64
L5: loc3: u64
B0:
0LdU64(0)
1StLoc[3](loc1: u64)
2LdU64(0)
3StLoc[5](loc3: u64)
4CopyLoc[0](Arg0: &vector<Coin<Ty0>>)
5VecLen(9)
6StLoc[4](loc2: u64)
B1:
7CopyLoc[3](loc1: u64)
8CopyLoc[4](loc2: u64)
9Lt
10BrFalse(26)
B2:
11Branch(12)
B3:
12CopyLoc[0](Arg0: &vector<Coin<Ty0>>)
13CopyLoc[3](loc1: u64)
14VecImmBorrow(9)
15StLoc[2](loc0: &Coin<Ty0>)
16MoveLoc[5](loc3: u64)
17MoveLoc[2](loc0: &Coin<Ty0>)
18Call coin::value<Ty0>(&Coin<Ty0>): u64
19Add
20StLoc[5](loc3: u64)
21MoveLoc[3](loc1: u64)
22LdU64(1)
23Add
24StLoc[3](loc1: u64)
25Branch(7)
B4:
26MoveLoc[0](Arg0: &vector<Coin<Ty0>>)
27Pop
28MoveLoc[5](loc3: u64)
29MoveLoc[1](Arg1: u64)
30Ge
31BrFalse(33)
B5:
32Branch(35)
B6:
33LdConst[0](u64: 1)
34Abort
B7:
35Ret
}
Constants [
0 => u64: 1
]
}