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

API

launchpad

Module0x01ec…1199
Move path
0x1f46…0d8b::launchpad
Functions
224 public, 12 entry
Structs
12
Friend modules
None
launchpad

Bytecode1520 lines

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

// Move bytecode v6
module 1f468aaa1e906c4e7e87c7b4976ccca82693b7bdc51e380ae314b3a681bc0d8b.launchpad {
use 434b5bd8f6a7b05fede0ff46c6e511d71ea326ed38056e3bcd681d2d7c2a7879::royalty_rule;
use 0000000000000000000000000000000000000000000000000000000000000001::option;
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000002::balance;
use 0000000000000000000000000000000000000000000000000000000000000002::bcs;
use 0000000000000000000000000000000000000000000000000000000000000002::clock;
use 0000000000000000000000000000000000000000000000000000000000000002::coin;
use 0000000000000000000000000000000000000000000000000000000000000002::display;
use 0000000000000000000000000000000000000000000000000000000000000002::event;
use 0000000000000000000000000000000000000000000000000000000000000002::kiosk;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::package;
use 0000000000000000000000000000000000000000000000000000000000000002::pay;
use 0000000000000000000000000000000000000000000000000000000000000002::sui;
use 0000000000000000000000000000000000000000000000000000000000000002::table;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer_policy;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use 1f468aaa1e906c4e7e87c7b4976ccca82693b7bdc51e380ae314b3a681bc0d8b::mint_box;
use 1f468aaa1e906c4e7e87c7b4976ccca82693b7bdc51e380ae314b3a681bc0d8b::pseudorandom;
use 1f468aaa1e906c4e7e87c7b4976ccca82693b7bdc51e380ae314b3a681bc0d8b::signature;
 
struct LAUNCHPAD has drop {
dummy_field: bool
}
 
struct Manager has store, key {
id: UID,
version: u64,
admin: address,
public_key: vector<u8>,
balance: Balance<SUI>,
pseudorandom_counter: PseudoRandomCounter
}
 
struct Collection has store, key {
id: UID,
collection_id: String,
mint_box: MintBox,
orders: Table<String, u64>,
supplies: Table<String, u64>,
reserved_supplies: Table<String, u64>,
balance: Balance<SUI>
}
 
struct CollectionOwnerCap has store, key {
id: UID,
collection_id: String
}
 
struct Request has drop {
sender: vector<u8>,
nft_id: vector<u8>,
edition_id: String,
collection_id: String,
order_id: String,
expire_at: u64,
name: String,
description: String,
media_url: String,
attribute_keys: vector<String>,
attribute_values: vector<String>,
max_supply: u64,
autoreserve_interval: u64,
is_soulbound: bool,
price: u64,
fee: u64,
recipient: vector<u8>
}
 
struct CreateCollectionEvent has copy, drop {
collection_id: String
}
 
struct FundCollectionEvent has copy, drop {
collection_id: String,
funded: u64
}
 
struct UpdateCollectionEvent has copy, drop {
collection_id: String
}
 
struct WithdrawCollectionEvent has copy, drop {
collection_id: String,
withdrawn: u64,
recipient: address
}
 
struct LoadMintBoxEvent has copy, drop {
collection_id: String,
marker: u64
}
 
struct MintOrderEvent has copy, drop {
collection_id: String,
order_id: String,
nft_hash: u256
}
 
struct MintNftEvent has copy, drop {
collection_id: String,
order_id: String,
nft_id: ID,
price: u64,
is_autoreserved: bool
}
 
struct UpdateNftEvent has copy, drop {
nft_id: ID
}
 
init(Arg0: LAUNCHPAD, Arg1: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: LAUNCHPAD)
1CopyLoc[1](Arg1: &mut TxContext)
2Call package::claim_and_keep<LAUNCHPAD>(LAUNCHPAD, &mut TxContext)
3CopyLoc[1](Arg1: &mut TxContext)
4Call object::new(&mut TxContext): UID
5LdU64(0)
6CopyLoc[1](Arg1: &mut TxContext)
7FreezeRef
8Call tx_context::sender(&TxContext): address
9VecPack(29, 0)
10Call balance::zero<SUI>(): Balance<SUI>
11MoveLoc[1](Arg1: &mut TxContext)
12Call pseudorandom::new(&mut TxContext): PseudoRandomCounter
13Pack[1](Manager)
14Call transfer::share_object<Manager>(Manager)
15Ret
}
 
public mint_order(Arg0: &mut Manager, Arg1: &Clock, Arg2: &mut Collection, Arg3: String, Arg4: u64, Arg5: u64, Arg6: u64, Arg7: vector<u8>, Arg8: Coin<SUI>, Arg9: &mut TxContext) {
L10: loc0: address
L11: loc1: String
L12: loc2: String
L13: loc3: u64
L14: loc4: String
L15: loc5: String
L16: loc6: String
L17: loc7: vector<u8>
L18: loc8: address
L19: loc9: vector<u8>
L20: loc10: u64
L21: loc11: u64
L22: loc12: vector<String>
L23: loc13: vector<String>
L24: loc14: String
L25: loc15: u256
L26: loc16: Request
B0:
0CopyLoc[0](Arg0: &mut Manager)
1FreezeRef
2Call verify_version(&Manager)
3CopyLoc[9](Arg9: &mut TxContext)
4FreezeRef
5Call tx_context::sender(&TxContext): address
6StLoc[18](loc8: address)
7ImmBorrowLoc[18](loc8: address)
8Call bcs::to_bytes<address>(&address): vector<u8>
9StLoc[19](loc9: vector<u8>)
10VecPack(29, 0)
11StLoc[17](loc7: vector<u8>)
12VecPack(29, 0)
13Call string::utf8(vector<u8>): String
14StLoc[16](loc6: String)
15CopyLoc[2](Arg2: &mut Collection)
16ImmBorrowField[0](Collection.collection_id: String)
17ReadRef
18StLoc[15](loc5: String)
19CopyLoc[3](Arg3: String)
20StLoc[14](loc4: String)
21CopyLoc[4](Arg4: u64)
22StLoc[13](loc3: u64)
23VecPack(29, 0)
24Call string::utf8(vector<u8>): String
25StLoc[12](loc2: String)
26VecPack(29, 0)
27Call string::utf8(vector<u8>): String
28StLoc[11](loc1: String)
29VecPack(29, 0)
30Call string::utf8(vector<u8>): String
31StLoc[24](loc14: String)
32VecPack(38, 0)
33StLoc[23](loc13: vector<String>)
34VecPack(38, 0)
35StLoc[22](loc12: vector<String>)
36CopyLoc[5](Arg5: u64)
37StLoc[21](loc11: u64)
38CopyLoc[6](Arg6: u64)
39StLoc[20](loc10: u64)
40CopyLoc[9](Arg9: &mut TxContext)
41FreezeRef
42Call tx_context::sender(&TxContext): address
43StLoc[10](loc0: address)
44MoveLoc[19](loc9: vector<u8>)
45MoveLoc[17](loc7: vector<u8>)
46MoveLoc[16](loc6: String)
47MoveLoc[15](loc5: String)
48MoveLoc[14](loc4: String)
49MoveLoc[13](loc3: u64)
50MoveLoc[12](loc2: String)
51MoveLoc[11](loc1: String)
52MoveLoc[24](loc14: String)
53MoveLoc[23](loc13: vector<String>)
54MoveLoc[22](loc12: vector<String>)
55LdU64(0)
56LdU64(0)
57LdFalse
58MoveLoc[21](loc11: u64)
59MoveLoc[20](loc10: u64)
60ImmBorrowLoc[10](loc0: address)
61Call bcs::to_bytes<address>(&address): vector<u8>
62Pack[4](Request)
63StLoc[26](loc16: Request)
64MoveLoc[7](Arg7: vector<u8>)
65CopyLoc[0](Arg0: &mut Manager)
66ImmBorrowField[1](Manager.public_key: vector<u8>)
67ReadRef
68ImmBorrowLoc[26](loc16: Request)
69Call signature::verify_signature<Request>(vector<u8>, vector<u8>, &Request)
70CopyLoc[2](Arg2: &mut Collection)
71CopyLoc[3](Arg3: String)
72LdU64(0)
73Call upsert_order(&mut Collection, String, u64)
74MoveLoc[1](Arg1: &Clock)
75Call clock::timestamp_ms(&Clock): u64
76MoveLoc[4](Arg4: u64)
77LdU64(1000)
78Mul
79Lt
80BrFalse(82)
B1:
81Branch(90)
B2:
82MoveLoc[0](Arg0: &mut Manager)
83Pop
84MoveLoc[9](Arg9: &mut TxContext)
85Pop
86MoveLoc[2](Arg2: &mut Collection)
87Pop
88LdConst[2](u64: 3)
89Abort
B3:
90CopyLoc[2](Arg2: &mut Collection)
91MutBorrowField[2](Collection.mint_box: MintBox)
92CopyLoc[0](Arg0: &mut Manager)
93MutBorrowField[3](Manager.pseudorandom_counter: PseudoRandomCounter)
94CopyLoc[9](Arg9: &mut TxContext)
95Call mint_box::get(&mut MintBox, &mut PseudoRandomCounter, &mut TxContext): u256
96StLoc[25](loc15: u256)
97CopyLoc[2](Arg2: &mut Collection)
98ImmBorrowField[0](Collection.collection_id: String)
99ReadRef
100MoveLoc[3](Arg3: String)
101MoveLoc[25](loc15: u256)
102Pack[10](MintOrderEvent)
103Call event::emit<MintOrderEvent>(MintOrderEvent)
104ImmBorrowLoc[8](Arg8: Coin<SUI>)
105Call coin::value<SUI>(&Coin<SUI>): u64
106MoveLoc[5](Arg5: u64)
107Eq
108BrFalse(110)
B4:
109Branch(118)
B5:
110MoveLoc[0](Arg0: &mut Manager)
111Pop
112MoveLoc[9](Arg9: &mut TxContext)
113Pop
114MoveLoc[2](Arg2: &mut Collection)
115Pop
116LdConst[3](u64: 4)
117Abort
B6:
118CopyLoc[2](Arg2: &mut Collection)
119MutBorrowField[4](Collection.balance: Balance<SUI>)
120MoveLoc[8](Arg8: Coin<SUI>)
121Call coin::put<SUI>(&mut Balance<SUI>, Coin<SUI>)
122MoveLoc[0](Arg0: &mut Manager)
123MutBorrowField[5](Manager.balance: Balance<SUI>)
124MoveLoc[2](Arg2: &mut Collection)
125MutBorrowField[4](Collection.balance: Balance<SUI>)
126MoveLoc[6](Arg6: u64)
127MoveLoc[9](Arg9: &mut TxContext)
128Call coin::take<SUI>(&mut Balance<SUI>, u64, &mut TxContext): Coin<SUI>
129Call coin::put<SUI>(&mut Balance<SUI>, Coin<SUI>)
130Ret
}
 
public mint_nft<Ty0: store + key>(Arg0: &Manager, Arg1: &TransferPolicy<Ty0>, Arg2: &mut Collection, Arg3: String, Arg4: String, Arg5: String, Arg6: String, Arg7: String, Arg8: vector<String>, Arg9: vector<String>, Arg10: u64, Arg11: u64, Arg12: u64, Arg13: address, Arg14: vector<u8>, Arg15: Ty0, Arg16: &mut TxContext) {
L17: loc0: address
L18: loc1: Kiosk
L19: loc2: KioskOwnerCap
L20: loc3: Request
B0:
0CopyLoc[0](Arg0: &Manager)
1CopyLoc[16](Arg16: &mut TxContext)
2FreezeRef
3Call verify_admin_and_version(&Manager, &TxContext)
4CopyLoc[16](Arg16: &mut TxContext)
5FreezeRef
6Call tx_context::sender(&TxContext): address
7StLoc[17](loc0: address)
8ImmBorrowLoc[17](loc0: address)
9Call bcs::to_bytes<address>(&address): vector<u8>
10VecPack(29, 0)
11CopyLoc[3](Arg3: String)
12CopyLoc[2](Arg2: &mut Collection)
13ImmBorrowField[0](Collection.collection_id: String)
14ReadRef
15CopyLoc[4](Arg4: String)
16LdU64(0)
17MoveLoc[5](Arg5: String)
18MoveLoc[6](Arg6: String)
19MoveLoc[7](Arg7: String)
20MoveLoc[8](Arg8: vector<String>)
21MoveLoc[9](Arg9: vector<String>)
22CopyLoc[12](Arg12: u64)
23LdU64(0)
24LdFalse
25CopyLoc[10](Arg10: u64)
26MoveLoc[11](Arg11: u64)
27ImmBorrowLoc[13](Arg13: address)
28Call bcs::to_bytes<address>(&address): vector<u8>
29Pack[4](Request)
30StLoc[20](loc3: Request)
31MoveLoc[14](Arg14: vector<u8>)
32MoveLoc[0](Arg0: &Manager)
33ImmBorrowField[1](Manager.public_key: vector<u8>)
34ReadRef
35ImmBorrowLoc[20](loc3: Request)
36Call signature::verify_signature<Request>(vector<u8>, vector<u8>, &Request)
37CopyLoc[2](Arg2: &mut Collection)
38CopyLoc[4](Arg4: String)
39LdU64(1)
40Call upsert_order(&mut Collection, String, u64)
41CopyLoc[12](Arg12: u64)
42LdU64(0)
43Gt
44BrFalse(51)
B1:
45CopyLoc[2](Arg2: &mut Collection)
46MoveLoc[3](Arg3: String)
47MoveLoc[12](Arg12: u64)
48Call option::none<u64>(): Option<u64>
49Call upsert_supply(&mut Collection, String, u64, Option<u64>): bool
50Pop
B2:
51MoveLoc[2](Arg2: &mut Collection)
52ImmBorrowField[0](Collection.collection_id: String)
53ReadRef
54MoveLoc[4](Arg4: String)
55ImmBorrowLoc[15](Arg15: Ty0)
56Call object::id<Ty0>(&Ty0): ID
57MoveLoc[10](Arg10: u64)
58LdFalse
59Pack[11](MintNftEvent)
60Call event::emit<MintNftEvent>(MintNftEvent)
61MoveLoc[16](Arg16: &mut TxContext)
62Call kiosk::new(&mut TxContext): Kiosk * KioskOwnerCap
63StLoc[19](loc2: KioskOwnerCap)
64StLoc[18](loc1: Kiosk)
65MutBorrowLoc[18](loc1: Kiosk)
66ImmBorrowLoc[19](loc2: KioskOwnerCap)
67MoveLoc[1](Arg1: &TransferPolicy<Ty0>)
68MoveLoc[15](Arg15: Ty0)
69Call kiosk::lock<Ty0>(&mut Kiosk, &KioskOwnerCap, &TransferPolicy<Ty0>, Ty0)
70MoveLoc[19](loc2: KioskOwnerCap)
71MoveLoc[13](Arg13: address)
72Call transfer::public_transfer<KioskOwnerCap>(KioskOwnerCap, address)
73MoveLoc[18](loc1: Kiosk)
74Call transfer::public_share_object<Kiosk>(Kiosk)
75Ret
}
 
public mint_edition_nft<Ty0: store + key>(Arg0: &mut Manager, Arg1: &TransferPolicy<Ty0>, Arg2: &Clock, Arg3: &mut Collection, Arg4: String, Arg5: String, Arg6: u64, Arg7: String, Arg8: String, Arg9: String, Arg10: vector<String>, Arg11: vector<String>, Arg12: u64, Arg13: u64, Arg14: u64, Arg15: u64, Arg16: vector<u8>, Arg17: Coin<SUI>, Arg18: Ty0, Arg19: &mut Kiosk, Arg20: &KioskOwnerCap, Arg21: &mut TxContext) {
L22: loc0: address
L23: loc1: String
L24: loc2: String
L25: loc3: u64
L26: loc4: String
L27: loc5: String
L28: loc6: String
L29: loc7: vector<u8>
L30: loc8: address
L31: loc9: vector<u8>
L32: loc10: u64
L33: loc11: u64
L34: loc12: u64
L35: loc13: u64
L36: loc14: vector<String>
L37: loc15: vector<String>
L38: loc16: String
L39: loc17: bool
L40: loc18: Request
B0:
0CopyLoc[0](Arg0: &mut Manager)
1FreezeRef
2Call verify_version(&Manager)
3CopyLoc[21](Arg21: &mut TxContext)
4FreezeRef
5Call tx_context::sender(&TxContext): address
6StLoc[30](loc8: address)
7ImmBorrowLoc[30](loc8: address)
8Call bcs::to_bytes<address>(&address): vector<u8>
9StLoc[31](loc9: vector<u8>)
10VecPack(29, 0)
11StLoc[29](loc7: vector<u8>)
12CopyLoc[4](Arg4: String)
13StLoc[28](loc6: String)
14CopyLoc[3](Arg3: &mut Collection)
15ImmBorrowField[0](Collection.collection_id: String)
16ReadRef
17StLoc[27](loc5: String)
18CopyLoc[5](Arg5: String)
19StLoc[26](loc4: String)
20CopyLoc[6](Arg6: u64)
21StLoc[25](loc3: u64)
22MoveLoc[7](Arg7: String)
23StLoc[24](loc2: String)
24MoveLoc[8](Arg8: String)
25StLoc[23](loc1: String)
26MoveLoc[9](Arg9: String)
27StLoc[38](loc16: String)
28MoveLoc[10](Arg10: vector<String>)
29StLoc[37](loc15: vector<String>)
30MoveLoc[11](Arg11: vector<String>)
31StLoc[36](loc14: vector<String>)
32CopyLoc[14](Arg14: u64)
33StLoc[35](loc13: u64)
34CopyLoc[15](Arg15: u64)
35StLoc[34](loc12: u64)
36CopyLoc[12](Arg12: u64)
37StLoc[33](loc11: u64)
38CopyLoc[13](Arg13: u64)
39StLoc[32](loc10: u64)
40CopyLoc[21](Arg21: &mut TxContext)
41FreezeRef
42Call tx_context::sender(&TxContext): address
43StLoc[22](loc0: address)
44MoveLoc[31](loc9: vector<u8>)
45MoveLoc[29](loc7: vector<u8>)
46MoveLoc[28](loc6: String)
47MoveLoc[27](loc5: String)
48MoveLoc[26](loc4: String)
49MoveLoc[25](loc3: u64)
50MoveLoc[24](loc2: String)
51MoveLoc[23](loc1: String)
52MoveLoc[38](loc16: String)
53MoveLoc[37](loc15: vector<String>)
54MoveLoc[36](loc14: vector<String>)
55MoveLoc[35](loc13: u64)
56MoveLoc[34](loc12: u64)
57LdFalse
58MoveLoc[33](loc11: u64)
59MoveLoc[32](loc10: u64)
60ImmBorrowLoc[22](loc0: address)
61Call bcs::to_bytes<address>(&address): vector<u8>
62Pack[4](Request)
63StLoc[40](loc18: Request)
64MoveLoc[16](Arg16: vector<u8>)
65CopyLoc[0](Arg0: &mut Manager)
66ImmBorrowField[1](Manager.public_key: vector<u8>)
67ReadRef
68ImmBorrowLoc[40](loc18: Request)
69Call signature::verify_signature<Request>(vector<u8>, vector<u8>, &Request)
70CopyLoc[3](Arg3: &mut Collection)
71CopyLoc[5](Arg5: String)
72LdU64(1)
73Call upsert_order(&mut Collection, String, u64)
74MoveLoc[2](Arg2: &Clock)
75Call clock::timestamp_ms(&Clock): u64
76MoveLoc[6](Arg6: u64)
77LdU64(1000)
78Mul
79Lt
80BrFalse(82)
B1:
81Branch(96)
B2:
82MoveLoc[1](Arg1: &TransferPolicy<Ty0>)
83Pop
84MoveLoc[0](Arg0: &mut Manager)
85Pop
86MoveLoc[20](Arg20: &KioskOwnerCap)
87Pop
88MoveLoc[19](Arg19: &mut Kiosk)
89Pop
90MoveLoc[21](Arg21: &mut TxContext)
91Pop
92MoveLoc[3](Arg3: &mut Collection)
93Pop
94LdConst[2](u64: 3)
95Abort
B3:
96CopyLoc[3](Arg3: &mut Collection)
97MoveLoc[4](Arg4: String)
98MoveLoc[14](Arg14: u64)
99MoveLoc[15](Arg15: u64)
100Call option::some<u64>(u64): Option<u64>
101Call upsert_supply(&mut Collection, String, u64, Option<u64>): bool
102StLoc[39](loc17: bool)
103CopyLoc[3](Arg3: &mut Collection)
104ImmBorrowField[0](Collection.collection_id: String)
105ReadRef
106MoveLoc[5](Arg5: String)
107ImmBorrowLoc[18](Arg18: Ty0)
108Call object::id<Ty0>(&Ty0): ID
109CopyLoc[12](Arg12: u64)
110MoveLoc[39](loc17: bool)
111Pack[11](MintNftEvent)
112Call event::emit<MintNftEvent>(MintNftEvent)
113MoveLoc[19](Arg19: &mut Kiosk)
114MoveLoc[20](Arg20: &KioskOwnerCap)
115MoveLoc[1](Arg1: &TransferPolicy<Ty0>)
116MoveLoc[18](Arg18: Ty0)
117Call kiosk::lock<Ty0>(&mut Kiosk, &KioskOwnerCap, &TransferPolicy<Ty0>, Ty0)
118ImmBorrowLoc[17](Arg17: Coin<SUI>)
119Call coin::value<SUI>(&Coin<SUI>): u64
120MoveLoc[12](Arg12: u64)
121Eq
122BrFalse(124)
B4:
123Branch(132)
B5:
124MoveLoc[0](Arg0: &mut Manager)
125Pop
126MoveLoc[21](Arg21: &mut TxContext)
127Pop
128MoveLoc[3](Arg3: &mut Collection)
129Pop
130LdConst[3](u64: 4)
131Abort
B6:
132CopyLoc[3](Arg3: &mut Collection)
133MutBorrowField[4](Collection.balance: Balance<SUI>)
134MoveLoc[17](Arg17: Coin<SUI>)
135Call coin::put<SUI>(&mut Balance<SUI>, Coin<SUI>)
136MoveLoc[0](Arg0: &mut Manager)
137MutBorrowField[5](Manager.balance: Balance<SUI>)
138MoveLoc[3](Arg3: &mut Collection)
139MutBorrowField[4](Collection.balance: Balance<SUI>)
140MoveLoc[13](Arg13: u64)
141MoveLoc[21](Arg21: &mut TxContext)
142Call coin::take<SUI>(&mut Balance<SUI>, u64, &mut TxContext): Coin<SUI>
143Call coin::put<SUI>(&mut Balance<SUI>, Coin<SUI>)
144Ret
}
 
public update_nft(Arg0: &mut Manager, Arg1: ID, Arg2: String, Arg3: String, Arg4: String, Arg5: vector<String>, Arg6: vector<String>, Arg7: vector<u8>, Arg8: &mut TxContext) {
L9: loc0: address
L10: loc1: String
L11: loc2: String
L12: loc3: String
L13: loc4: String
L14: loc5: String
L15: loc6: vector<u8>
L16: loc7: address
L17: loc8: vector<u8>
L18: loc9: vector<String>
L19: loc10: vector<String>
L20: loc11: String
L21: loc12: Request
B0:
0CopyLoc[0](Arg0: &mut Manager)
1FreezeRef
2Call verify_version(&Manager)
3CopyLoc[8](Arg8: &mut TxContext)
4FreezeRef
5Call tx_context::sender(&TxContext): address
6StLoc[16](loc7: address)
7ImmBorrowLoc[16](loc7: address)
8Call bcs::to_bytes<address>(&address): vector<u8>
9StLoc[17](loc8: vector<u8>)
10ImmBorrowLoc[1](Arg1: ID)
11Call object::id_to_bytes(&ID): vector<u8>
12StLoc[15](loc6: vector<u8>)
13VecPack(29, 0)
14Call string::utf8(vector<u8>): String
15StLoc[14](loc5: String)
16VecPack(29, 0)
17Call string::utf8(vector<u8>): String
18StLoc[13](loc4: String)
19VecPack(29, 0)
20Call string::utf8(vector<u8>): String
21StLoc[12](loc3: String)
22MoveLoc[2](Arg2: String)
23StLoc[11](loc2: String)
24MoveLoc[3](Arg3: String)
25StLoc[10](loc1: String)
26MoveLoc[4](Arg4: String)
27StLoc[20](loc11: String)
28MoveLoc[5](Arg5: vector<String>)
29StLoc[19](loc10: vector<String>)
30MoveLoc[6](Arg6: vector<String>)
31StLoc[18](loc9: vector<String>)
32MoveLoc[8](Arg8: &mut TxContext)
33FreezeRef
34Call tx_context::sender(&TxContext): address
35StLoc[9](loc0: address)
36MoveLoc[17](loc8: vector<u8>)
37MoveLoc[15](loc6: vector<u8>)
38MoveLoc[14](loc5: String)
39MoveLoc[13](loc4: String)
40MoveLoc[12](loc3: String)
41LdU64(0)
42MoveLoc[11](loc2: String)
43MoveLoc[10](loc1: String)
44MoveLoc[20](loc11: String)
45MoveLoc[19](loc10: vector<String>)
46MoveLoc[18](loc9: vector<String>)
47LdU64(0)
48LdU64(0)
49LdFalse
50LdU64(0)
51LdU64(0)
52ImmBorrowLoc[9](loc0: address)
53Call bcs::to_bytes<address>(&address): vector<u8>
54Pack[4](Request)
55StLoc[21](loc12: Request)
56MoveLoc[7](Arg7: vector<u8>)
57MoveLoc[0](Arg0: &mut Manager)
58ImmBorrowField[1](Manager.public_key: vector<u8>)
59ReadRef
60ImmBorrowLoc[21](loc12: Request)
61Call signature::verify_signature<Request>(vector<u8>, vector<u8>, &Request)
62MoveLoc[1](Arg1: ID)
63Pack[12](UpdateNftEvent)
64Call event::emit<UpdateNftEvent>(UpdateNftEvent)
65Ret
}
 
entry set_version(Arg0: &mut Manager, Arg1: u64, Arg2: &TxContext) {
B0:
0CopyLoc[0](Arg0: &mut Manager)
1FreezeRef
2MoveLoc[2](Arg2: &TxContext)
3Call verify_admin(&Manager, &TxContext)
4MoveLoc[1](Arg1: u64)
5MoveLoc[0](Arg0: &mut Manager)
6MutBorrowField[6](Manager.version: u64)
7WriteRef
8Ret
}
 
entry set_admin(Arg0: &mut Manager, Arg1: address, Arg2: &TxContext) {
B0:
0CopyLoc[0](Arg0: &mut Manager)
1FreezeRef
2MoveLoc[2](Arg2: &TxContext)
3Call verify_admin_and_version(&Manager, &TxContext)
4MoveLoc[1](Arg1: address)
5MoveLoc[0](Arg0: &mut Manager)
6MutBorrowField[7](Manager.admin: address)
7WriteRef
8Ret
}
 
entry set_public_key(Arg0: &mut Manager, Arg1: vector<u8>, Arg2: &TxContext) {
B0:
0CopyLoc[0](Arg0: &mut Manager)
1FreezeRef
2MoveLoc[2](Arg2: &TxContext)
3Call verify_admin_and_version(&Manager, &TxContext)
4MoveLoc[1](Arg1: vector<u8>)
5MoveLoc[0](Arg0: &mut Manager)
6MutBorrowField[1](Manager.public_key: vector<u8>)
7WriteRef
8Ret
}
 
entry withdraw_balance(Arg0: &mut Manager, Arg1: u64, Arg2: address, Arg3: &mut TxContext) {
L4: loc0: Balance<SUI>
L5: loc1: Coin<SUI>
B0:
0CopyLoc[0](Arg0: &mut Manager)
1FreezeRef
2CopyLoc[3](Arg3: &mut TxContext)
3FreezeRef
4Call verify_admin_and_version(&Manager, &TxContext)
5CopyLoc[1](Arg1: u64)
6LdU64(0)
7Eq
8BrFalse(14)
B1:
9MoveLoc[0](Arg0: &mut Manager)
10MutBorrowField[5](Manager.balance: Balance<SUI>)
11Call balance::withdraw_all<SUI>(&mut Balance<SUI>): Balance<SUI>
12StLoc[4](loc0: Balance<SUI>)
13Branch(19)
B2:
14MoveLoc[0](Arg0: &mut Manager)
15MutBorrowField[5](Manager.balance: Balance<SUI>)
16MoveLoc[1](Arg1: u64)
17Call balance::split<SUI>(&mut Balance<SUI>, u64): Balance<SUI>
18StLoc[4](loc0: Balance<SUI>)
B3:
19MoveLoc[4](loc0: Balance<SUI>)
20CopyLoc[3](Arg3: &mut TxContext)
21Call coin::from_balance<SUI>(Balance<SUI>, &mut TxContext): Coin<SUI>
22StLoc[5](loc1: Coin<SUI>)
23CopyLoc[3](Arg3: &mut TxContext)
24FreezeRef
25Call tx_context::sender(&TxContext): address
26CopyLoc[2](Arg2: address)
27Eq
28BrFalse(34)
B4:
29MoveLoc[5](loc1: Coin<SUI>)
30MoveLoc[3](Arg3: &mut TxContext)
31FreezeRef
32Call pay::keep<SUI>(Coin<SUI>, &TxContext)
33Branch(39)
B5:
34MoveLoc[3](Arg3: &mut TxContext)
35Pop
36MoveLoc[5](loc1: Coin<SUI>)
37MoveLoc[2](Arg2: address)
38Call transfer::public_transfer<Coin<SUI>>(Coin<SUI>, address)
B6:
39Ret
}
 
entry create_collection(Arg0: &Manager, Arg1: String, Arg2: vector<u8>, Arg3: &mut TxContext) {
L4: loc0: address
L5: loc1: String
L6: loc2: String
L7: loc3: String
L8: loc4: String
L9: loc5: String
L10: loc6: vector<u8>
L11: loc7: address
L12: loc8: vector<u8>
L13: loc9: vector<String>
L14: loc10: vector<String>
L15: loc11: String
L16: loc12: Collection
L17: loc13: CollectionOwnerCap
L18: loc14: Request
B0:
0CopyLoc[0](Arg0: &Manager)
1Call verify_version(&Manager)
2CopyLoc[3](Arg3: &mut TxContext)
3FreezeRef
4Call tx_context::sender(&TxContext): address
5StLoc[11](loc7: address)
6ImmBorrowLoc[11](loc7: address)
7Call bcs::to_bytes<address>(&address): vector<u8>
8StLoc[12](loc8: vector<u8>)
9VecPack(29, 0)
10StLoc[10](loc6: vector<u8>)
11VecPack(29, 0)
12Call string::utf8(vector<u8>): String
13StLoc[9](loc5: String)
14CopyLoc[1](Arg1: String)
15StLoc[8](loc4: String)
16VecPack(29, 0)
17Call string::utf8(vector<u8>): String
18StLoc[7](loc3: String)
19VecPack(29, 0)
20Call string::utf8(vector<u8>): String
21StLoc[6](loc2: String)
22VecPack(29, 0)
23Call string::utf8(vector<u8>): String
24StLoc[5](loc1: String)
25VecPack(29, 0)
26Call string::utf8(vector<u8>): String
27StLoc[15](loc11: String)
28VecPack(38, 0)
29StLoc[14](loc10: vector<String>)
30VecPack(38, 0)
31StLoc[13](loc9: vector<String>)
32CopyLoc[3](Arg3: &mut TxContext)
33FreezeRef
34Call tx_context::sender(&TxContext): address
35StLoc[4](loc0: address)
36MoveLoc[12](loc8: vector<u8>)
37MoveLoc[10](loc6: vector<u8>)
38MoveLoc[9](loc5: String)
39MoveLoc[8](loc4: String)
40MoveLoc[7](loc3: String)
41LdU64(0)
42MoveLoc[6](loc2: String)
43MoveLoc[5](loc1: String)
44MoveLoc[15](loc11: String)
45MoveLoc[14](loc10: vector<String>)
46MoveLoc[13](loc9: vector<String>)
47LdU64(0)
48LdU64(0)
49LdFalse
50LdU64(0)
51LdU64(0)
52ImmBorrowLoc[4](loc0: address)
53Call bcs::to_bytes<address>(&address): vector<u8>
54Pack[4](Request)
55StLoc[18](loc14: Request)
56MoveLoc[2](Arg2: vector<u8>)
57MoveLoc[0](Arg0: &Manager)
58ImmBorrowField[1](Manager.public_key: vector<u8>)
59ReadRef
60ImmBorrowLoc[18](loc14: Request)
61Call signature::verify_signature<Request>(vector<u8>, vector<u8>, &Request)
62CopyLoc[3](Arg3: &mut TxContext)
63Call object::new(&mut TxContext): UID
64CopyLoc[1](Arg1: String)
65CopyLoc[3](Arg3: &mut TxContext)
66Call mint_box::new(&mut TxContext): MintBox
67CopyLoc[3](Arg3: &mut TxContext)
68Call table::new<String, u64>(&mut TxContext): Table<String, u64>
69CopyLoc[3](Arg3: &mut TxContext)
70Call table::new<String, u64>(&mut TxContext): Table<String, u64>
71CopyLoc[3](Arg3: &mut TxContext)
72Call table::new<String, u64>(&mut TxContext): Table<String, u64>
73Call balance::zero<SUI>(): Balance<SUI>
74Pack[2](Collection)
75StLoc[16](loc12: Collection)
76CopyLoc[3](Arg3: &mut TxContext)
77Call object::new(&mut TxContext): UID
78CopyLoc[1](Arg1: String)
79Pack[3](CollectionOwnerCap)
80StLoc[17](loc13: CollectionOwnerCap)
81MoveLoc[1](Arg1: String)
82Pack[5](CreateCollectionEvent)
83Call event::emit<CreateCollectionEvent>(CreateCollectionEvent)
84MoveLoc[17](loc13: CollectionOwnerCap)
85MoveLoc[3](Arg3: &mut TxContext)
86FreezeRef
87Call tx_context::sender(&TxContext): address
88Call transfer::public_transfer<CollectionOwnerCap>(CollectionOwnerCap, address)
89MoveLoc[16](loc12: Collection)
90Call transfer::public_share_object<Collection>(Collection)
91Ret
}
 
entry fund_collection(Arg0: &mut Manager, Arg1: &Collection, Arg2: u64, Arg3: vector<u8>, Arg4: Coin<SUI>, Arg5: &TxContext) {
L6: loc0: address
L7: loc1: String
L8: loc2: String
L9: loc3: String
L10: loc4: String
L11: loc5: String
L12: loc6: vector<u8>
L13: loc7: address
L14: loc8: vector<u8>
L15: loc9: u64
L16: loc10: vector<String>
L17: loc11: vector<String>
L18: loc12: String
L19: loc13: Request
B0:
0CopyLoc[0](Arg0: &mut Manager)
1FreezeRef
2Call verify_version(&Manager)
3CopyLoc[5](Arg5: &TxContext)
4Call tx_context::sender(&TxContext): address
5StLoc[13](loc7: address)
6ImmBorrowLoc[13](loc7: address)
7Call bcs::to_bytes<address>(&address): vector<u8>
8StLoc[14](loc8: vector<u8>)
9VecPack(29, 0)
10StLoc[12](loc6: vector<u8>)
11VecPack(29, 0)
12Call string::utf8(vector<u8>): String
13StLoc[11](loc5: String)
14CopyLoc[1](Arg1: &Collection)
15ImmBorrowField[0](Collection.collection_id: String)
16ReadRef
17StLoc[10](loc4: String)
18VecPack(29, 0)
19Call string::utf8(vector<u8>): String
20StLoc[9](loc3: String)
21VecPack(29, 0)
22Call string::utf8(vector<u8>): String
23StLoc[8](loc2: String)
24VecPack(29, 0)
25Call string::utf8(vector<u8>): String
26StLoc[7](loc1: String)
27VecPack(29, 0)
28Call string::utf8(vector<u8>): String
29StLoc[18](loc12: String)
30VecPack(38, 0)
31StLoc[17](loc11: vector<String>)
32VecPack(38, 0)
33StLoc[16](loc10: vector<String>)
34CopyLoc[2](Arg2: u64)
35StLoc[15](loc9: u64)
36MoveLoc[5](Arg5: &TxContext)
37Call tx_context::sender(&TxContext): address
38StLoc[6](loc0: address)
39MoveLoc[14](loc8: vector<u8>)
40MoveLoc[12](loc6: vector<u8>)
41MoveLoc[11](loc5: String)
42MoveLoc[10](loc4: String)
43MoveLoc[9](loc3: String)
44LdU64(0)
45MoveLoc[8](loc2: String)
46MoveLoc[7](loc1: String)
47MoveLoc[18](loc12: String)
48MoveLoc[17](loc11: vector<String>)
49MoveLoc[16](loc10: vector<String>)
50LdU64(0)
51LdU64(0)
52LdFalse
53LdU64(0)
54MoveLoc[15](loc9: u64)
55ImmBorrowLoc[6](loc0: address)
56Call bcs::to_bytes<address>(&address): vector<u8>
57Pack[4](Request)
58StLoc[19](loc13: Request)
59MoveLoc[3](Arg3: vector<u8>)
60CopyLoc[0](Arg0: &mut Manager)
61ImmBorrowField[1](Manager.public_key: vector<u8>)
62ReadRef
63ImmBorrowLoc[19](loc13: Request)
64Call signature::verify_signature<Request>(vector<u8>, vector<u8>, &Request)
65MoveLoc[1](Arg1: &Collection)
66ImmBorrowField[0](Collection.collection_id: String)
67ReadRef
68CopyLoc[2](Arg2: u64)
69Pack[6](FundCollectionEvent)
70Call event::emit<FundCollectionEvent>(FundCollectionEvent)
71ImmBorrowLoc[4](Arg4: Coin<SUI>)
72Call coin::value<SUI>(&Coin<SUI>): u64
73MoveLoc[2](Arg2: u64)
74Eq
75BrFalse(77)
B1:
76Branch(81)
B2:
77MoveLoc[0](Arg0: &mut Manager)
78Pop
79LdConst[3](u64: 4)
80Abort
B3:
81MoveLoc[0](Arg0: &mut Manager)
82MutBorrowField[5](Manager.balance: Balance<SUI>)
83MoveLoc[4](Arg4: Coin<SUI>)
84Call coin::put<SUI>(&mut Balance<SUI>, Coin<SUI>)
85Ret
}
 
entry load_mint_box(Arg0: &Manager, Arg1: &mut Collection, Arg2: u64, Arg3: vector<u256>, Arg4: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: &Manager)
1CopyLoc[4](Arg4: &mut TxContext)
2FreezeRef
3Call verify_admin_and_version(&Manager, &TxContext)
4CopyLoc[1](Arg1: &mut Collection)
5MutBorrowField[2](Collection.mint_box: MintBox)
6CopyLoc[2](Arg2: u64)
7MoveLoc[3](Arg3: vector<u256>)
8MoveLoc[4](Arg4: &mut TxContext)
9Call mint_box::load(&mut MintBox, u64, vector<u256>, &mut TxContext)
10MoveLoc[1](Arg1: &mut Collection)
11ImmBorrowField[0](Collection.collection_id: String)
12ReadRef
13MoveLoc[2](Arg2: u64)
14Pack[9](LoadMintBoxEvent)
15Call event::emit<LoadMintBoxEvent>(LoadMintBoxEvent)
16Ret
}
 
entry update_collection<Ty0: store + key>(Arg0: &Manager, Arg1: &CollectionOwnerCap, Arg2: &mut Display<Ty0>, Arg3: vector<String>, Arg4: vector<String>, Arg5: vector<String>) {
L6: loc0: u64
B0:
0MoveLoc[0](Arg0: &Manager)
1Call verify_version(&Manager)
2LdU64(0)
3StLoc[6](loc0: u64)
B1:
4CopyLoc[6](loc0: u64)
5ImmBorrowLoc[3](Arg3: vector<String>)
6VecLen(38)
7Lt
8BrFalse(21)
B2:
9Branch(10)
B3:
10CopyLoc[2](Arg2: &mut Display<Ty0>)
11ImmBorrowLoc[3](Arg3: vector<String>)
12CopyLoc[6](loc0: u64)
13VecImmBorrow(38)
14ReadRef
15Call display::remove<Ty0>(&mut Display<Ty0>, String)
16MoveLoc[6](loc0: u64)
17LdU64(1)
18Add
19StLoc[6](loc0: u64)
20Branch(4)
B4:
21ImmBorrowLoc[4](Arg4: vector<String>)
22VecLen(38)
23ImmBorrowLoc[5](Arg5: vector<String>)
24VecLen(38)
25Eq
26BrFalse(28)
B5:
27Branch(34)
B6:
28MoveLoc[2](Arg2: &mut Display<Ty0>)
29Pop
30MoveLoc[1](Arg1: &CollectionOwnerCap)
31Pop
32LdConst[4](u64: 5)
33Abort
B7:
34LdU64(0)
35StLoc[6](loc0: u64)
B8:
36CopyLoc[6](loc0: u64)
37ImmBorrowLoc[4](Arg4: vector<String>)
38VecLen(38)
39Lt
40BrFalse(56)
B9:
41CopyLoc[2](Arg2: &mut Display<Ty0>)
42ImmBorrowLoc[4](Arg4: vector<String>)
43CopyLoc[6](loc0: u64)
44VecImmBorrow(38)
45ReadRef
46ImmBorrowLoc[5](Arg5: vector<String>)
47CopyLoc[6](loc0: u64)
48VecImmBorrow(38)
49ReadRef
50Call display::add<Ty0>(&mut Display<Ty0>, String, String)
51MoveLoc[6](loc0: u64)
52LdU64(1)
53Add
54StLoc[6](loc0: u64)
55Branch(36)
B10:
56MoveLoc[2](Arg2: &mut Display<Ty0>)
57Pop
58MoveLoc[1](Arg1: &CollectionOwnerCap)
59ImmBorrowField[8](CollectionOwnerCap.collection_id: String)
60ReadRef
61Pack[7](UpdateCollectionEvent)
62Call event::emit<UpdateCollectionEvent>(UpdateCollectionEvent)
63Ret
}
 
entry update_collection_royalty<Ty0: store + key, Ty1: drop, Ty2: drop + store>(Arg0: &Manager, Arg1: &CollectionOwnerCap, Arg2: &mut TransferPolicy<Ty0>, Arg3: &TransferPolicyCap<Ty0>, Arg4: u16) {
B0:
0MoveLoc[0](Arg0: &Manager)
1Call verify_version(&Manager)
2CopyLoc[2](Arg2: &mut TransferPolicy<Ty0>)
3FreezeRef
4Call transfer_policy::has_rule<Ty0, Ty1>(&TransferPolicy<Ty0>): bool
5BrFalse(9)
B1:
6CopyLoc[2](Arg2: &mut TransferPolicy<Ty0>)
7CopyLoc[3](Arg3: &TransferPolicyCap<Ty0>)
8Call transfer_policy::remove_rule<Ty0, Ty1, Ty2>(&mut TransferPolicy<Ty0>, &TransferPolicyCap<Ty0>)
B2:
9MoveLoc[2](Arg2: &mut TransferPolicy<Ty0>)
10MoveLoc[3](Arg3: &TransferPolicyCap<Ty0>)
11MoveLoc[4](Arg4: u16)
12LdU64(0)
13Call royalty_rule::add<Ty0>(&mut TransferPolicy<Ty0>, &TransferPolicyCap<Ty0>, u16, u64)
14MoveLoc[1](Arg1: &CollectionOwnerCap)
15ImmBorrowField[8](CollectionOwnerCap.collection_id: String)
16ReadRef
17Pack[7](UpdateCollectionEvent)
18Call event::emit<UpdateCollectionEvent>(UpdateCollectionEvent)
19Ret
}
 
entry withdraw_collection_balance(Arg0: &Manager, Arg1: &mut Collection, Arg2: &CollectionOwnerCap, Arg3: u64, Arg4: address, Arg5: vector<u8>, Arg6: &mut TxContext) {
L7: loc0: address
L8: loc1: Coin<SUI>
L9: loc2: Request
B0:
0CopyLoc[0](Arg0: &Manager)
1Call verify_version(&Manager)
2CopyLoc[1](Arg1: &mut Collection)
3ImmBorrowField[0](Collection.collection_id: String)
4ReadRef
5MoveLoc[2](Arg2: &CollectionOwnerCap)
6ImmBorrowField[8](CollectionOwnerCap.collection_id: String)
7ReadRef
8Eq
9BrFalse(11)
B1:
10Branch(19)
B2:
11MoveLoc[0](Arg0: &Manager)
12Pop
13MoveLoc[6](Arg6: &mut TxContext)
14Pop
15MoveLoc[1](Arg1: &mut Collection)
16Pop
17LdConst[0](u64: 1)
18Abort
B3:
19CopyLoc[6](Arg6: &mut TxContext)
20FreezeRef
21Call tx_context::sender(&TxContext): address
22StLoc[7](loc0: address)
23ImmBorrowLoc[7](loc0: address)
24Call bcs::to_bytes<address>(&address): vector<u8>
25VecPack(29, 0)
26VecPack(29, 0)
27Call string::utf8(vector<u8>): String
28CopyLoc[1](Arg1: &mut Collection)
29ImmBorrowField[0](Collection.collection_id: String)
30ReadRef
31VecPack(29, 0)
32Call string::utf8(vector<u8>): String
33LdU64(0)
34VecPack(29, 0)
35Call string::utf8(vector<u8>): String
36VecPack(29, 0)
37Call string::utf8(vector<u8>): String
38VecPack(29, 0)
39Call string::utf8(vector<u8>): String
40VecPack(38, 0)
41VecPack(38, 0)
42LdU64(0)
43LdU64(0)
44LdFalse
45CopyLoc[3](Arg3: u64)
46LdU64(0)
47ImmBorrowLoc[4](Arg4: address)
48Call bcs::to_bytes<address>(&address): vector<u8>
49Pack[4](Request)
50StLoc[9](loc2: Request)
51MoveLoc[5](Arg5: vector<u8>)
52MoveLoc[0](Arg0: &Manager)
53ImmBorrowField[1](Manager.public_key: vector<u8>)
54ReadRef
55ImmBorrowLoc[9](loc2: Request)
56Call signature::verify_signature<Request>(vector<u8>, vector<u8>, &Request)
57CopyLoc[1](Arg1: &mut Collection)
58MutBorrowField[4](Collection.balance: Balance<SUI>)
59CopyLoc[3](Arg3: u64)
60Call balance::split<SUI>(&mut Balance<SUI>, u64): Balance<SUI>
61CopyLoc[6](Arg6: &mut TxContext)
62Call coin::from_balance<SUI>(Balance<SUI>, &mut TxContext): Coin<SUI>
63StLoc[8](loc1: Coin<SUI>)
64MoveLoc[1](Arg1: &mut Collection)
65ImmBorrowField[0](Collection.collection_id: String)
66ReadRef
67MoveLoc[3](Arg3: u64)
68CopyLoc[4](Arg4: address)
69Pack[8](WithdrawCollectionEvent)
70Call event::emit<WithdrawCollectionEvent>(WithdrawCollectionEvent)
71CopyLoc[6](Arg6: &mut TxContext)
72FreezeRef
73Call tx_context::sender(&TxContext): address
74CopyLoc[4](Arg4: address)
75Eq
76BrFalse(82)
B4:
77MoveLoc[8](loc1: Coin<SUI>)
78MoveLoc[6](Arg6: &mut TxContext)
79FreezeRef
80Call pay::keep<SUI>(Coin<SUI>, &TxContext)
81Branch(87)
B5:
82MoveLoc[6](Arg6: &mut TxContext)
83Pop
84MoveLoc[8](loc1: Coin<SUI>)
85MoveLoc[4](Arg4: address)
86Call transfer::public_transfer<Coin<SUI>>(Coin<SUI>, address)
B6:
87Ret
}
 
entry withdraw_collection_royalty<Ty0: store + key>(Arg0: &Manager, Arg1: &mut TransferPolicy<Ty0>, Arg2: &TransferPolicyCap<Ty0>, Arg3: u64, Arg4: address, Arg5: &mut TxContext) {
L6: loc0: Coin<SUI>
L7: loc1: Coin<SUI>
B0:
0MoveLoc[0](Arg0: &Manager)
1Call verify_version(&Manager)
2CopyLoc[3](Arg3: u64)
3LdU64(0)
4Eq
5BrFalse(13)
B1:
6MoveLoc[1](Arg1: &mut TransferPolicy<Ty0>)
7MoveLoc[2](Arg2: &TransferPolicyCap<Ty0>)
8Call option::none<u64>(): Option<u64>
9CopyLoc[5](Arg5: &mut TxContext)
10Call transfer_policy::withdraw<Ty0>(&mut TransferPolicy<Ty0>, &TransferPolicyCap<Ty0>, Option<u64>, &mut TxContext): Coin<SUI>
11StLoc[6](loc0: Coin<SUI>)
12Branch(20)
B2:
13MoveLoc[1](Arg1: &mut TransferPolicy<Ty0>)
14MoveLoc[2](Arg2: &TransferPolicyCap<Ty0>)
15MoveLoc[3](Arg3: u64)
16Call option::some<u64>(u64): Option<u64>
17CopyLoc[5](Arg5: &mut TxContext)
18Call transfer_policy::withdraw<Ty0>(&mut TransferPolicy<Ty0>, &TransferPolicyCap<Ty0>, Option<u64>, &mut TxContext): Coin<SUI>
19StLoc[6](loc0: Coin<SUI>)
B3:
20MoveLoc[6](loc0: Coin<SUI>)
21StLoc[7](loc1: Coin<SUI>)
22CopyLoc[5](Arg5: &mut TxContext)
23FreezeRef
24Call tx_context::sender(&TxContext): address
25CopyLoc[4](Arg4: address)
26Eq
27BrFalse(33)
B4:
28MoveLoc[7](loc1: Coin<SUI>)
29MoveLoc[5](Arg5: &mut TxContext)
30FreezeRef
31Call pay::keep<SUI>(Coin<SUI>, &TxContext)
32Branch(38)
B5:
33MoveLoc[5](Arg5: &mut TxContext)
34Pop
35MoveLoc[7](loc1: Coin<SUI>)
36MoveLoc[4](Arg4: address)
37Call transfer::public_transfer<Coin<SUI>>(Coin<SUI>, address)
B6:
38Ret
}
 
entry drop_collection(Arg0: &Manager, Arg1: Collection, Arg2: address, Arg3: &mut TxContext) {
L4: loc0: Balance<SUI>
L5: loc1: Coin<SUI>
L6: loc2: UID
L7: loc3: MintBox
L8: loc4: Table<String, u64>
L9: loc5: Table<String, u64>
L10: loc6: Table<String, u64>
B0:
0MoveLoc[0](Arg0: &Manager)
1CopyLoc[3](Arg3: &mut TxContext)
2FreezeRef
3Call verify_admin_and_version(&Manager, &TxContext)
4MoveLoc[1](Arg1: Collection)
5Unpack[2](Collection)
6StLoc[4](loc0: Balance<SUI>)
7StLoc[9](loc5: Table<String, u64>)
8StLoc[10](loc6: Table<String, u64>)
9StLoc[8](loc4: Table<String, u64>)
10StLoc[7](loc3: MintBox)
11Pop
12StLoc[6](loc2: UID)
13MoveLoc[7](loc3: MintBox)
14Call mint_box::destroy(MintBox)
15MoveLoc[4](loc0: Balance<SUI>)
16CopyLoc[3](Arg3: &mut TxContext)
17Call coin::from_balance<SUI>(Balance<SUI>, &mut TxContext): Coin<SUI>
18StLoc[5](loc1: Coin<SUI>)
19CopyLoc[3](Arg3: &mut TxContext)
20FreezeRef
21Call tx_context::sender(&TxContext): address
22CopyLoc[2](Arg2: address)
23Eq
24BrFalse(30)
B1:
25MoveLoc[5](loc1: Coin<SUI>)
26MoveLoc[3](Arg3: &mut TxContext)
27FreezeRef
28Call pay::keep<SUI>(Coin<SUI>, &TxContext)
29Branch(35)
B2:
30MoveLoc[3](Arg3: &mut TxContext)
31Pop
32MoveLoc[5](loc1: Coin<SUI>)
33MoveLoc[2](Arg2: address)
34Call transfer::public_transfer<Coin<SUI>>(Coin<SUI>, address)
B3:
35MoveLoc[8](loc4: Table<String, u64>)
36Call table::drop<String, u64>(Table<String, u64>)
37MoveLoc[10](loc6: Table<String, u64>)
38Call table::drop<String, u64>(Table<String, u64>)
39MoveLoc[9](loc5: Table<String, u64>)
40Call table::drop<String, u64>(Table<String, u64>)
41MoveLoc[6](loc2: UID)
42Call object::delete(UID)
43Ret
}
 
verify_admin_and_version(Arg0: &Manager, Arg1: &TxContext) {
B0:
0CopyLoc[0](Arg0: &Manager)
1MoveLoc[1](Arg1: &TxContext)
2Call verify_admin(&Manager, &TxContext)
3MoveLoc[0](Arg0: &Manager)
4Call verify_version(&Manager)
5Ret
}
 
verify_admin(Arg0: &Manager, Arg1: &TxContext) {
B0:
0MoveLoc[0](Arg0: &Manager)
1ImmBorrowField[7](Manager.admin: address)
2ReadRef
3MoveLoc[1](Arg1: &TxContext)
4Call tx_context::sender(&TxContext): address
5Eq
6BrFalse(8)
B1:
7Branch(10)
B2:
8LdConst[0](u64: 1)
9Abort
B3:
10Ret
}
 
verify_version(Arg0: &Manager) {
B0:
0MoveLoc[0](Arg0: &Manager)
1ImmBorrowField[6](Manager.version: u64)
2ReadRef
3LdConst[6](u64: 0)
4Eq
5BrFalse(7)
B1:
6Branch(9)
B2:
7LdConst[1](u64: 2)
8Abort
B3:
9Ret
}
 
upsert_order(Arg0: &mut Collection, Arg1: String, Arg2: u64) {
B0:
0CopyLoc[0](Arg0: &mut Collection)
1ImmBorrowField[9](Collection.orders: Table<String, u64>)
2CopyLoc[1](Arg1: String)
3Call table::contains<String, u64>(&Table<String, u64>, String): bool
4BrFalse(17)
B1:
5CopyLoc[0](Arg0: &mut Collection)
6MutBorrowField[9](Collection.orders: Table<String, u64>)
7CopyLoc[1](Arg1: String)
8Call table::remove<String, u64>(&mut Table<String, u64>, String): u64
9CopyLoc[2](Arg2: u64)
10Lt
11BrFalse(13)
B2:
12Branch(17)
B3:
13MoveLoc[0](Arg0: &mut Collection)
14Pop
15LdConst[2](u64: 3)
16Abort
B4:
17MoveLoc[0](Arg0: &mut Collection)
18MutBorrowField[9](Collection.orders: Table<String, u64>)
19MoveLoc[1](Arg1: String)
20MoveLoc[2](Arg2: u64)
21Call table::add<String, u64>(&mut Table<String, u64>, String, u64)
22Ret
}
 
upsert_supply(Arg0: &mut Collection, Arg1: String, Arg2: u64, Arg3: Option<u64>): bool {
L4: loc0: u64
L5: loc1: bool
L6: loc2: u64
L7: loc3: u64
L8: loc4: bool
L9: loc5: u64
L10: loc6: u64
L11: loc7: u64
B0:
0ImmBorrowLoc[3](Arg3: Option<u64>)
1Call option::is_none<u64>(&Option<u64>): bool
2BrFalse(28)
B1:
3MoveLoc[3](Arg3: Option<u64>)
4Call option::destroy_none<u64>(Option<u64>)
5CopyLoc[0](Arg0: &mut Collection)
6MutBorrowField[10](Collection.reserved_supplies: Table<String, u64>)
7CopyLoc[1](Arg1: String)
8Call table::remove<String, u64>(&mut Table<String, u64>, String): u64
9StLoc[9](loc5: u64)
10CopyLoc[9](loc5: u64)
11LdU64(0)
12Gt
13BrFalse(15)
B2:
14Branch(19)
B3:
15MoveLoc[0](Arg0: &mut Collection)
16Pop
17LdConst[5](u64: 6)
18Abort
B4:
19MoveLoc[0](Arg0: &mut Collection)
20MutBorrowField[10](Collection.reserved_supplies: Table<String, u64>)
21MoveLoc[1](Arg1: String)
22MoveLoc[9](loc5: u64)
23LdU64(1)
24Sub
25Call table::add<String, u64>(&mut Table<String, u64>, String, u64)
26LdFalse
27Ret
B5:
28MoveLoc[3](Arg3: Option<u64>)
29Call option::destroy_some<u64>(Option<u64>): u64
30StLoc[7](loc3: u64)
31CopyLoc[0](Arg0: &mut Collection)
32ImmBorrowField[11](Collection.supplies: Table<String, u64>)
33CopyLoc[1](Arg1: String)
34Call table::contains<String, u64>(&Table<String, u64>, String): bool
35BrFalse(42)
B6:
36CopyLoc[0](Arg0: &mut Collection)
37MutBorrowField[11](Collection.supplies: Table<String, u64>)
38CopyLoc[1](Arg1: String)
39Call table::remove<String, u64>(&mut Table<String, u64>, String): u64
40StLoc[4](loc0: u64)
41Branch(44)
B7:
42LdU64(0)
43StLoc[4](loc0: u64)
B8:
44MoveLoc[4](loc0: u64)
45StLoc[11](loc7: u64)
46CopyLoc[11](loc7: u64)
47CopyLoc[2](Arg2: u64)
48Lt
49BrFalse(51)
B9:
50Branch(55)
B10:
51MoveLoc[0](Arg0: &mut Collection)
52Pop
53LdConst[5](u64: 6)
54Abort
B11:
55MoveLoc[11](loc7: u64)
56LdU64(1)
57Add
58StLoc[11](loc7: u64)
59LdFalse
60StLoc[8](loc4: bool)
61CopyLoc[7](loc3: u64)
62LdU64(0)
63Gt
64BrFalse(81)
B12:
65CopyLoc[11](loc7: u64)
66MoveLoc[2](Arg2: u64)
67Lt
68BrFalse(78)
B13:
69CopyLoc[11](loc7: u64)
70LdU64(1)
71Add
72MoveLoc[7](loc3: u64)
73Mod
74LdU64(0)
75Eq
76StLoc[5](loc1: bool)
77Branch(83)
B14:
78LdFalse
79StLoc[5](loc1: bool)
80Branch(83)
B15:
81LdFalse
82StLoc[5](loc1: bool)
B16:
83MoveLoc[5](loc1: bool)
84BrFalse(113)
B17:
85MoveLoc[11](loc7: u64)
86LdU64(1)
87Add
88StLoc[11](loc7: u64)
89LdTrue
90StLoc[8](loc4: bool)
91CopyLoc[0](Arg0: &mut Collection)
92ImmBorrowField[10](Collection.reserved_supplies: Table<String, u64>)
93CopyLoc[1](Arg1: String)
94Call table::contains<String, u64>(&Table<String, u64>, String): bool
95BrFalse(102)
B18:
96CopyLoc[0](Arg0: &mut Collection)
97MutBorrowField[10](Collection.reserved_supplies: Table<String, u64>)
98CopyLoc[1](Arg1: String)
99Call table::remove<String, u64>(&mut Table<String, u64>, String): u64
100StLoc[6](loc2: u64)
101Branch(104)
B19:
102LdU64(0)
103StLoc[6](loc2: u64)
B20:
104MoveLoc[6](loc2: u64)
105StLoc[10](loc6: u64)
106CopyLoc[0](Arg0: &mut Collection)
107MutBorrowField[10](Collection.reserved_supplies: Table<String, u64>)
108CopyLoc[1](Arg1: String)
109MoveLoc[10](loc6: u64)
110LdU64(1)
111Add
112Call table::add<String, u64>(&mut Table<String, u64>, String, u64)
B21:
113MoveLoc[0](Arg0: &mut Collection)
114MutBorrowField[11](Collection.supplies: Table<String, u64>)
115MoveLoc[1](Arg1: String)
116MoveLoc[11](loc7: u64)
117Call table::add<String, u64>(&mut Table<String, u64>, String, u64)
118MoveLoc[8](loc4: bool)
119Ret
}
 
Constants [
0 => u64: 1
1 => u64: 2
2 => u64: 3
3 => u64: 4
4 => u64: 5
5 => u64: 6
6 => u64: 0
]
}