Search by name, SuiNS, address, digest, object ID, coin type or checkpoint.

utils

Module0xbca0…1fe8
Move path
0x2c8d…4809::utils
Functions
40 public, 0 entry
Structs
0
Friend modules
big_vectorbookorder
utils

Bytecode135 lines

The on-chain disassembly. Offsets are instruction numbers within each function.

// Move bytecode v7
module 2c8d603bc51326b8c13cef9dd07031a408a48dddb541963357661df5d3204809.utils {
use 0000000000000000000000000000000000000000000000000000000000000001::vector;
 
public(friend) pop_until<Ty0>(Arg0: &mut vector<Ty0>, Arg1: u64): vector<Ty0> {
L2: loc0: vector<Ty0>
B0:
0VecPack(4, 0)
1StLoc[2](loc0: vector<Ty0>)
B1:
2CopyLoc[0](Arg0: &mut vector<Ty0>)
3FreezeRef
4VecLen(4)
5CopyLoc[1](Arg1: u64)
6Gt
7BrFalse(14)
B2:
8Branch(9)
B3:
9MutBorrowLoc[2](loc0: vector<Ty0>)
10CopyLoc[0](Arg0: &mut vector<Ty0>)
11VecPopBack(4)
12VecPushBack(4)
13Branch(2)
B4:
14MoveLoc[0](Arg0: &mut vector<Ty0>)
15Pop
16MutBorrowLoc[2](loc0: vector<Ty0>)
17Call vector::reverse<Ty0>(&mut vector<Ty0>)
18MoveLoc[2](loc0: vector<Ty0>)
19Ret
}
 
public(friend) pop_n<Ty0>(Arg0: &mut vector<Ty0>, Arg1: u64): vector<Ty0> {
L2: loc0: u64
L3: loc1: u64
L4: loc2: vector<Ty0>
L5: loc3: u64
B0:
0VecPack(4, 0)
1StLoc[4](loc2: vector<Ty0>)
2MoveLoc[1](Arg1: u64)
3StLoc[2](loc0: u64)
4LdU64(0)
5StLoc[3](loc1: u64)
6MoveLoc[2](loc0: u64)
7StLoc[5](loc3: u64)
B1:
8CopyLoc[3](loc1: u64)
9CopyLoc[5](loc3: u64)
10Lt
11BrFalse(23)
B2:
12CopyLoc[3](loc1: u64)
13Pop
14MutBorrowLoc[4](loc2: vector<Ty0>)
15CopyLoc[0](Arg0: &mut vector<Ty0>)
16VecPopBack(4)
17VecPushBack(4)
18MoveLoc[3](loc1: u64)
19LdU64(1)
20Add
21StLoc[3](loc1: u64)
22Branch(8)
B3:
23MoveLoc[0](Arg0: &mut vector<Ty0>)
24Pop
25MutBorrowLoc[4](loc2: vector<Ty0>)
26Call vector::reverse<Ty0>(&mut vector<Ty0>)
27MoveLoc[4](loc2: vector<Ty0>)
28Ret
}
 
public(friend) encode_order_id(Arg0: bool, Arg1: u64, Arg2: u64): u128 {
L3: loc0: u128
B0:
0MoveLoc[0](Arg0: bool)
1BrFalse(11)
B1:
2MoveLoc[1](Arg1: u64)
3CastU128
4LdU8(64)
5Shl
6MoveLoc[2](Arg2: u64)
7CastU128
8Add
9StLoc[3](loc0: u128)
10Branch(21)
B2:
11LdU128(170141183460469231731687303715884105728)
12MoveLoc[1](Arg1: u64)
13CastU128
14LdU8(64)
15Shl
16Add
17MoveLoc[2](Arg2: u64)
18CastU128
19Add
20StLoc[3](loc0: u128)
B3:
21MoveLoc[3](loc0: u128)
22Ret
}
 
public(friend) decode_order_id(Arg0: u128): bool * u64 * u64 {
L1: loc0: bool
L2: loc1: u64
L3: loc2: u64
B0:
0CopyLoc[0](Arg0: u128)
1LdU8(127)
2Shr
3LdU128(0)
4Eq
5StLoc[1](loc0: bool)
6CopyLoc[0](Arg0: u128)
7LdU8(64)
8Shr
9CastU64
10LdU64(9223372036854775807)
11BitAnd
12StLoc[3](loc2: u64)
13MoveLoc[0](Arg0: u128)
14LdU128(18446744073709551615)
15BitAnd
16CastU64
17StLoc[2](loc1: u64)
18MoveLoc[1](loc0: bool)
19MoveLoc[3](loc2: u64)
20MoveLoc[2](loc1: u64)
21Ret
}
 
}