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

API

warehouse_utils

Module0x3c72…b6fd
Move path
0x7112…f603::warehouse_utils
Functions
11 public, 0 entry
Structs
0
Friend modules
None
warehouse_utils

Bytecode74 lines

The on-chain disassembly. Offsets are bytecode positions within each function.

// Move bytecode v6
module 7112eaa13769bf331de6c8e42875021fb6ef72e4f5e52dd62f162cb06ef6f603.warehouse_utils {
use c74531639fadfb02d30f05f37de4cf1e1149ed8d23658edd089004830068180b::warehouse;
use 9e5962d5183664be8a7762fbe94eee6e3457c0cc701750c94c17f7f8ac5a32fb::pseudorandom;
use 0000000000000000000000000000000000000000000000000000000000000001::vector;
use 0000000000000000000000000000000000000000000000000000000000000002::bcs;
use 0000000000000000000000000000000000000000000000000000000000000002::clock;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
 
public redeem_random_nft<Ty0: store + key>(Arg0: &Clock, Arg1: &mut Warehouse<Ty0>, Arg2: &mut TxContext): Ty0 {
L3: loc0: u64
L4: loc1: &mut vector<u8>
L5: loc2: u64
L6: loc3: vector<u8>
L7: loc4: vector<u8>
L8: loc5: u64
B0:
0CopyLoc[1](Arg1: &mut Warehouse<Ty0>)
1FreezeRef
2Call warehouse::supply<Ty0>(&Warehouse<Ty0>): u64
3StLoc[8](loc5: u64)
4CopyLoc[8](loc5: u64)
5LdU64(0)
6Neq
7BrFalse(9)
B1:
8Branch(17)
B2:
9MoveLoc[1](Arg1: &mut Warehouse<Ty0>)
10Pop
11MoveLoc[2](Arg2: &mut TxContext)
12Pop
13MoveLoc[0](Arg0: &Clock)
14Pop
15LdConst[0](u64: 1)
16Abort
B3:
17VecPack(5, 0)
18StLoc[6](loc3: vector<u8>)
19MutBorrowLoc[6](loc3: vector<u8>)
20ImmBorrowLoc[8](loc5: u64)
21Call bcs::to_bytes<u64>(&u64): vector<u8>
22Call vector::append<u8>(&mut vector<u8>, vector<u8>)
23MutBorrowLoc[6](loc3: vector<u8>)
24StLoc[4](loc1: &mut vector<u8>)
25MoveLoc[0](Arg0: &Clock)
26Call clock::timestamp_ms(&Clock): u64
27StLoc[3](loc0: u64)
28MoveLoc[4](loc1: &mut vector<u8>)
29ImmBorrowLoc[3](loc0: u64)
30Call bcs::to_bytes<u64>(&u64): vector<u8>
31Call vector::append<u8>(&mut vector<u8>, vector<u8>)
32MoveLoc[6](loc3: vector<u8>)
33MoveLoc[2](Arg2: &mut TxContext)
34Call pseudorandom::rand_no_counter(vector<u8>, &mut TxContext): vector<u8>
35StLoc[7](loc4: vector<u8>)
36ImmBorrowLoc[7](loc4: vector<u8>)
37Call pseudorandom::u256_from_bytes(&vector<u8>): u256
38MoveLoc[8](loc5: u64)
39CastU256
40Mod
41CastU64
42StLoc[5](loc2: u64)
43MoveLoc[1](Arg1: &mut Warehouse<Ty0>)
44MoveLoc[5](loc2: u64)
45Call warehouse::redeem_nft_at_index<Ty0>(&mut Warehouse<Ty0>, u64): Ty0
46Ret
}
 
Constants [
0 => u64: 1
]
}