cots
Module0x47f4…aacf
- Move path
- 0x47f4…aacf::cots
- Functions
- 1410 public, 6 entry
- Structs
- 7
- Friend modules
- None
cots
Bytecode692 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v6
module 47f42e83149e05b1dafd0d6b223ab175b4f6ac5491daaca2b5b950bbdff4aacf.cots {
use 434b5bd8f6a7b05fede0ff46c6e511d71ea326ed38056e3bcd681d2d7c2a7879::kiosk_lock_rule;
use 434b5bd8f6a7b05fede0ff46c6e511d71ea326ed38056e3bcd681d2d7c2a7879::royalty_rule;
use 0000000000000000000000000000000000000000000000000000000000000001::option;
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000002::bag;
use 0000000000000000000000000000000000000000000000000000000000000002::balance;
use 0000000000000000000000000000000000000000000000000000000000000002::clock;
use 0000000000000000000000000000000000000000000000000000000000000002::coin;
use 0000000000000000000000000000000000000000000000000000000000000002::display;
use 0000000000000000000000000000000000000000000000000000000000000002::dynamic_object_field;
use 0000000000000000000000000000000000000000000000000000000000000002::event;
use 0000000000000000000000000000000000000000000000000000000000000002::kiosk;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::package;
use 0000000000000000000000000000000000000000000000000000000000000002::pay;
use 0000000000000000000000000000000000000000000000000000000000000002::sui;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer_policy;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use 0000000000000000000000000000000000000000000000000000000000000002::vec_map;
use 7112eaa13769bf331de6c8e42875021fb6ef72e4f5e52dd62f162cb06ef6f603::tradeport_launchpad;
struct COTS has drop {
dummy_field: bool
}
struct Manager has store, key {
id: UID,
version: u64,
display: Display<Nft>,
transfer_policy_cap: TransferPolicyCap<Nft>,
balance: Balance<SUI>,
reserved_nft_ids: vector<ID>
}
struct Nft has store, key {
id: UID,
group_id: String,
type: u64,
name: String,
index: u64,
description: String,
media_url: String,
attributes: VecMap<String, String>
}
struct MintNftEvent has copy, drop {
id: ID,
group_id: String,
type: u64,
index: u64,
order_id: String,
stage_id: String,
is_autoreserve: bool,
price: u64,
collection_id: String,
collection_creator_wallet: address,
manager_id: ID
}
struct AddNftMetadataEvent has copy, drop {
group_id: String,
type: u64,
index: u64,
collection_id: String
}
struct CreateCollectionEvent has copy, drop {
publisher_id: ID,
manager_id: ID,
transfer_policy_id: ID,
collection_id: String
}
struct UpdateNftEvent has copy, drop {
id: ID,
collection_id: String
}
init(Arg0: COTS, Arg1: &mut TxContext) {
L2: loc0: Display<Nft>
L3: loc1: Manager
L4: loc2: Publisher
L5: loc3: TransferPolicy<Nft>
L6: loc4: TransferPolicyCap<Nft>
B0:
0MoveLoc[0](Arg0: COTS)
1CopyLoc[1](Arg1: &mut TxContext)
2Call package::claim<COTS>(COTS, &mut TxContext): Publisher
3StLoc[4](loc2: Publisher)
4ImmBorrowLoc[4](loc2: Publisher)
5CopyLoc[1](Arg1: &mut TxContext)
6Call display::new<Nft>(&Publisher, &mut TxContext): Display<Nft>
7StLoc[2](loc0: Display<Nft>)
8MutBorrowLoc[2](loc0: Display<Nft>)
9LdConst[6](vector<u8>: "col..)
10Call string::utf8(vector<u8>): String
11LdConst[0](vector<u8>: "COT..)
12Call string::utf8(vector<u8>): String
13Call display::add<Nft>(&mut Display<Nft>, String, String)
14MutBorrowLoc[2](loc0: Display<Nft>)
15LdConst[7](vector<u8>: "col..)
16Call string::utf8(vector<u8>): String
17LdConst[1](vector<u8>: "Cha..)
18Call string::utf8(vector<u8>): String
19Call display::add<Nft>(&mut Display<Nft>, String, String)
20MutBorrowLoc[2](loc0: Display<Nft>)
21LdConst[8](vector<u8>: "col..)
22Call string::utf8(vector<u8>): String
23LdConst[2](vector<u8>: "ipf..)
24Call string::utf8(vector<u8>): String
25Call display::add<Nft>(&mut Display<Nft>, String, String)
26MutBorrowLoc[2](loc0: Display<Nft>)
27LdConst[9](vector<u8>: "gro..)
28Call string::utf8(vector<u8>): String
29LdConst[10](vector<u8>: "{gr..)
30Call string::utf8(vector<u8>): String
31Call display::add<Nft>(&mut Display<Nft>, String, String)
32MutBorrowLoc[2](loc0: Display<Nft>)
33LdConst[11](vector<u8>: "nam..)
34Call string::utf8(vector<u8>): String
35LdConst[12](vector<u8>: "{na..)
36Call string::utf8(vector<u8>): String
37Call display::add<Nft>(&mut Display<Nft>, String, String)
38MutBorrowLoc[2](loc0: Display<Nft>)
39LdConst[13](vector<u8>: "des..)
40Call string::utf8(vector<u8>): String
41LdConst[14](vector<u8>: "{de..)
42Call string::utf8(vector<u8>): String
43Call display::add<Nft>(&mut Display<Nft>, String, String)
44MutBorrowLoc[2](loc0: Display<Nft>)
45LdConst[15](vector<u8>: "med..)
46Call string::utf8(vector<u8>): String
47LdConst[16](vector<u8>: "{me..)
48Call string::utf8(vector<u8>): String
49Call display::add<Nft>(&mut Display<Nft>, String, String)
50MutBorrowLoc[2](loc0: Display<Nft>)
51LdConst[17](vector<u8>: "ima..)
52Call string::utf8(vector<u8>): String
53LdConst[16](vector<u8>: "{me..)
54Call string::utf8(vector<u8>): String
55Call display::add<Nft>(&mut Display<Nft>, String, String)
56MutBorrowLoc[2](loc0: Display<Nft>)
57LdConst[18](vector<u8>: "att..)
58Call string::utf8(vector<u8>): String
59LdConst[19](vector<u8>: "{at..)
60Call string::utf8(vector<u8>): String
61Call display::add<Nft>(&mut Display<Nft>, String, String)
62MutBorrowLoc[2](loc0: Display<Nft>)
63Call display::update_version<Nft>(&mut Display<Nft>)
64ImmBorrowLoc[4](loc2: Publisher)
65CopyLoc[1](Arg1: &mut TxContext)
66Call transfer_policy::new<Nft>(&Publisher, &mut TxContext): TransferPolicy<Nft> * TransferPolicyCap<Nft>
67StLoc[6](loc4: TransferPolicyCap<Nft>)
68StLoc[5](loc3: TransferPolicy<Nft>)
69MutBorrowLoc[5](loc3: TransferPolicy<Nft>)
70ImmBorrowLoc[6](loc4: TransferPolicyCap<Nft>)
71Call kiosk_lock_rule::add<Nft>(&mut TransferPolicy<Nft>, &TransferPolicyCap<Nft>)
72MutBorrowLoc[5](loc3: TransferPolicy<Nft>)
73ImmBorrowLoc[6](loc4: TransferPolicyCap<Nft>)
74LdConst[3](u16: 600)
75LdU64(0)
76Call royalty_rule::add<Nft>(&mut TransferPolicy<Nft>, &TransferPolicyCap<Nft>, u16, u64)
77CopyLoc[1](Arg1: &mut TxContext)
78Call object::new(&mut TxContext): UID
79LdU64(0)
80MoveLoc[2](loc0: Display<Nft>)
81MoveLoc[6](loc4: TransferPolicyCap<Nft>)
82Call balance::zero<SUI>(): Balance<SUI>
83VecPack(34, 0)
84Pack[1](Manager)
85StLoc[3](loc1: Manager)
86ImmBorrowLoc[4](loc2: Publisher)
87Call object::id<Publisher>(&Publisher): ID
88ImmBorrowLoc[3](loc1: Manager)
89Call object::id<Manager>(&Manager): ID
90ImmBorrowLoc[5](loc3: TransferPolicy<Nft>)
91Call object::id<TransferPolicy<Nft>>(&TransferPolicy<Nft>): ID
92LdConst[20](vector<u8>: "1b0..)
93Call string::utf8(vector<u8>): String
94Pack[5](CreateCollectionEvent)
95Call event::emit<CreateCollectionEvent>(CreateCollectionEvent)
96MoveLoc[5](loc3: TransferPolicy<Nft>)
97Call transfer::public_share_object<TransferPolicy<Nft>>(TransferPolicy<Nft>)
98MoveLoc[3](loc1: Manager)
99Call transfer::public_share_object<Manager>(Manager)
100MoveLoc[4](loc2: Publisher)
101MoveLoc[1](Arg1: &mut TxContext)
102FreezeRef
103Call tx_context::sender(&TxContext): address
104Call transfer::public_transfer<Publisher>(Publisher, address)
105Ret
}
entry public withdraw_balance(Arg0: &Publisher, Arg1: &mut Manager, Arg2: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: &Publisher)
1Call package::from_package<Nft>(&Publisher): bool
2BrFalse(4)
B1:
3Branch(10)
B2:
4MoveLoc[1](Arg1: &mut Manager)
5Pop
6MoveLoc[2](Arg2: &mut TxContext)
7Pop
8LdConst[5](u64: 2)
9Abort
B3:
10CopyLoc[1](Arg1: &mut Manager)
11Call assert_version_and_upgrade(&mut Manager)
12MoveLoc[1](Arg1: &mut Manager)
13MutBorrowField[0](Manager.balance: Balance<SUI>)
14Call balance::withdraw_all<SUI>(&mut Balance<SUI>): Balance<SUI>
15CopyLoc[2](Arg2: &mut TxContext)
16Call coin::from_balance<SUI>(Balance<SUI>, &mut TxContext): Coin<SUI>
17MoveLoc[2](Arg2: &mut TxContext)
18FreezeRef
19Call pay::keep<SUI>(Coin<SUI>, &TxContext)
20Ret
}
entry public withdraw_reserved_nfts(Arg0: &Publisher, Arg1: &mut Manager, Arg2: &mut Kiosk, Arg3: &KioskOwnerCap, Arg4: &TransferPolicy<Nft>, Arg5: &mut TxContext) {
L6: loc0: u64
L7: loc1: u64
L8: loc2: Nft
L9: loc3: ID
B0:
0MoveLoc[0](Arg0: &Publisher)
1Call package::from_package<Nft>(&Publisher): bool
2BrFalse(4)
B1:
3Branch(14)
B2:
4MoveLoc[4](Arg4: &TransferPolicy<Nft>)
5Pop
6MoveLoc[1](Arg1: &mut Manager)
7Pop
8MoveLoc[3](Arg3: &KioskOwnerCap)
9Pop
10MoveLoc[2](Arg2: &mut Kiosk)
11Pop
12LdConst[5](u64: 2)
13Abort
B3:
14CopyLoc[1](Arg1: &mut Manager)
15Call assert_version_and_upgrade(&mut Manager)
16CopyLoc[1](Arg1: &mut Manager)
17ImmBorrowField[1](Manager.reserved_nft_ids: vector<ID>)
18VecLen(34)
19StLoc[7](loc1: u64)
20LdU64(0)
21StLoc[6](loc0: u64)
B4:
22CopyLoc[6](loc0: u64)
23CopyLoc[7](loc1: u64)
24Lt
25BrFalse(46)
B5:
26Branch(27)
B6:
27MoveLoc[6](loc0: u64)
28LdU64(1)
29Add
30StLoc[6](loc0: u64)
31CopyLoc[1](Arg1: &mut Manager)
32MutBorrowField[1](Manager.reserved_nft_ids: vector<ID>)
33VecPopBack(34)
34StLoc[9](loc3: ID)
35CopyLoc[1](Arg1: &mut Manager)
36MutBorrowField[2](Manager.id: UID)
37MoveLoc[9](loc3: ID)
38Call dynamic_object_field::remove<ID, Nft>(&mut UID, ID): Nft
39StLoc[8](loc2: Nft)
40CopyLoc[2](Arg2: &mut Kiosk)
41CopyLoc[3](Arg3: &KioskOwnerCap)
42CopyLoc[4](Arg4: &TransferPolicy<Nft>)
43MoveLoc[8](loc2: Nft)
44Call kiosk::lock<Nft>(&mut Kiosk, &KioskOwnerCap, &TransferPolicy<Nft>, Nft)
45Branch(22)
B7:
46MoveLoc[4](Arg4: &TransferPolicy<Nft>)
47Pop
48MoveLoc[1](Arg1: &mut Manager)
49Pop
50MoveLoc[3](Arg3: &KioskOwnerCap)
51Pop
52MoveLoc[2](Arg2: &mut Kiosk)
53Pop
54Ret
}
entry public withdraw_royalties(Arg0: &Publisher, Arg1: &mut Manager, Arg2: &mut TransferPolicy<Nft>, Arg3: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: &Publisher)
1Call package::from_package<Nft>(&Publisher): bool
2BrFalse(4)
B1:
3Branch(12)
B2:
4MoveLoc[2](Arg2: &mut TransferPolicy<Nft>)
5Pop
6MoveLoc[1](Arg1: &mut Manager)
7Pop
8MoveLoc[3](Arg3: &mut TxContext)
9Pop
10LdConst[5](u64: 2)
11Abort
B3:
12CopyLoc[1](Arg1: &mut Manager)
13Call assert_version_and_upgrade(&mut Manager)
14MoveLoc[2](Arg2: &mut TransferPolicy<Nft>)
15MoveLoc[1](Arg1: &mut Manager)
16ImmBorrowField[3](Manager.transfer_policy_cap: TransferPolicyCap<Nft>)
17Call option::none<u64>(): Option<u64>
18CopyLoc[3](Arg3: &mut TxContext)
19Call transfer_policy::withdraw<Nft>(&mut TransferPolicy<Nft>, &TransferPolicyCap<Nft>, Option<u64>, &mut TxContext): Coin<SUI>
20MoveLoc[3](Arg3: &mut TxContext)
21FreezeRef
22Call pay::keep<SUI>(Coin<SUI>, &TxContext)
23Ret
}
entry public add_nft_metadata(Arg0: &Publisher, Arg1: &mut Store, Arg2: String, Arg3: u64, Arg4: u64, Arg5: u64, Arg6: String, Arg7: String, Arg8: String, Arg9: vector<String>, Arg10: vector<String>, Arg11: vector<u8>, Arg12: &mut TxContext) {
B0:
0MoveLoc[0](Arg0: &Publisher)
1Call package::from_package<Nft>(&Publisher): bool
2BrFalse(4)
B1:
3Branch(10)
B2:
4MoveLoc[1](Arg1: &mut Store)
5Pop
6MoveLoc[12](Arg12: &mut TxContext)
7Pop
8LdConst[5](u64: 2)
9Abort
B3:
10MoveLoc[1](Arg1: &mut Store)
11CopyLoc[2](Arg2: String)
12CopyLoc[3](Arg3: u64)
13CopyLoc[4](Arg4: u64)
14MoveLoc[5](Arg5: u64)
15MoveLoc[6](Arg6: String)
16MoveLoc[7](Arg7: String)
17MoveLoc[8](Arg8: String)
18MoveLoc[9](Arg9: vector<String>)
19MoveLoc[10](Arg10: vector<String>)
20MoveLoc[11](Arg11: vector<u8>)
21MoveLoc[12](Arg12: &mut TxContext)
22Call tradeport_launchpad::add_nft_metadata(&mut Store, String, u64, u64, u64, String, String, String, vector<String>, vector<String>, vector<u8>, &mut TxContext)
23MoveLoc[2](Arg2: String)
24MoveLoc[3](Arg3: u64)
25MoveLoc[4](Arg4: u64)
26LdConst[20](vector<u8>: "1b0..)
27Call string::utf8(vector<u8>): String
28Pack[4](AddNftMetadataEvent)
29Call event::emit<AddNftMetadataEvent>(AddNftMetadataEvent)
30Ret
}
entry public mint_nft(Arg0: &Clock, Arg1: &mut Manager, Arg2: &mut Store, Arg3: String, Arg4: u64, Arg5: String, Arg6: u64, Arg7: String, Arg8: u64, Arg9: u64, Arg10: u64, Arg11: vector<u8>, Arg12: &mut Coin<SUI>, Arg13: &mut Kiosk, Arg14: &KioskOwnerCap, Arg15: &TransferPolicy<Nft>, Arg16: &mut TxContext) {
L17: loc0: Nft
L18: loc1: ID
L19: loc2: Option<Bag>
L20: loc3: Nft
B0:
0CopyLoc[1](Arg1: &mut Manager)
1Call assert_version_and_upgrade(&mut Manager)
2MoveLoc[0](Arg0: &Clock)
3MoveLoc[2](Arg2: &mut Store)
4CopyLoc[3](Arg3: String)
5CopyLoc[4](Arg4: u64)
6CopyLoc[5](Arg5: String)
7MoveLoc[6](Arg6: u64)
8CopyLoc[7](Arg7: String)
9MoveLoc[8](Arg8: u64)
10CopyLoc[9](Arg9: u64)
11CopyLoc[10](Arg10: u64)
12MoveLoc[11](Arg11: vector<u8>)
13CopyLoc[12](Arg12: &mut Coin<SUI>)
14CopyLoc[16](Arg16: &mut TxContext)
15Call tradeport_launchpad::get_nft_metadata(&Clock, &mut Store, String, u64, String, u64, String, u64, u64, u64, vector<u8>, &mut Coin<SUI>, &mut TxContext): Bag * Option<Bag>
16StLoc[19](loc2: Option<Bag>)
17CopyLoc[16](Arg16: &mut TxContext)
18Call to_nft(Bag, &mut TxContext): Nft
19StLoc[20](loc3: Nft)
20ImmBorrowLoc[20](loc3: Nft)
21Call object::id<Nft>(&Nft): ID
22CopyLoc[3](Arg3: String)
23CopyLoc[4](Arg4: u64)
24ImmBorrowLoc[20](loc3: Nft)
25ImmBorrowField[4](Nft.index: u64)
26ReadRef
27CopyLoc[5](Arg5: String)
28CopyLoc[7](Arg7: String)
29LdFalse
30CopyLoc[9](Arg9: u64)
31MoveLoc[10](Arg10: u64)
32Add
33LdConst[20](vector<u8>: "1b0..)
34Call string::utf8(vector<u8>): String
35LdConst[21](address: 0xe6..)
36CopyLoc[1](Arg1: &mut Manager)
37FreezeRef
38Call object::id<Manager>(&Manager): ID
39Pack[3](MintNftEvent)
40Call event::emit<MintNftEvent>(MintNftEvent)
41MoveLoc[13](Arg13: &mut Kiosk)
42MoveLoc[14](Arg14: &KioskOwnerCap)
43MoveLoc[15](Arg15: &TransferPolicy<Nft>)
44MoveLoc[20](loc3: Nft)
45Call kiosk::lock<Nft>(&mut Kiosk, &KioskOwnerCap, &TransferPolicy<Nft>, Nft)
46ImmBorrowLoc[19](loc2: Option<Bag>)
47Call option::is_some<Bag>(&Option<Bag>): bool
48BrFalse(86)
B1:
49MoveLoc[19](loc2: Option<Bag>)
50Call option::destroy_some<Bag>(Option<Bag>): Bag
51CopyLoc[16](Arg16: &mut TxContext)
52Call to_nft(Bag, &mut TxContext): Nft
53StLoc[17](loc0: Nft)
54ImmBorrowLoc[17](loc0: Nft)
55Call object::id<Nft>(&Nft): ID
56MoveLoc[3](Arg3: String)
57MoveLoc[4](Arg4: u64)
58ImmBorrowLoc[17](loc0: Nft)
59ImmBorrowField[4](Nft.index: u64)
60ReadRef
61MoveLoc[5](Arg5: String)
62MoveLoc[7](Arg7: String)
63LdTrue
64LdU64(0)
65LdConst[20](vector<u8>: "1b0..)
66Call string::utf8(vector<u8>): String
67LdConst[21](address: 0xe6..)
68CopyLoc[1](Arg1: &mut Manager)
69FreezeRef
70Call object::id<Manager>(&Manager): ID
71Pack[3](MintNftEvent)
72Call event::emit<MintNftEvent>(MintNftEvent)
73ImmBorrowLoc[17](loc0: Nft)
74Call object::id<Nft>(&Nft): ID
75StLoc[18](loc1: ID)
76CopyLoc[1](Arg1: &mut Manager)
77MutBorrowField[2](Manager.id: UID)
78CopyLoc[18](loc1: ID)
79MoveLoc[17](loc0: Nft)
80Call dynamic_object_field::add<ID, Nft>(&mut UID, ID, Nft)
81CopyLoc[1](Arg1: &mut Manager)
82MutBorrowField[1](Manager.reserved_nft_ids: vector<ID>)
83MoveLoc[18](loc1: ID)
84VecPushBack(34)
85Branch(88)
B2:
86MoveLoc[19](loc2: Option<Bag>)
87Call option::destroy_none<Bag>(Option<Bag>)
B3:
88MoveLoc[1](Arg1: &mut Manager)
89MutBorrowField[0](Manager.balance: Balance<SUI>)
90MoveLoc[12](Arg12: &mut Coin<SUI>)
91MoveLoc[9](Arg9: u64)
92MoveLoc[16](Arg16: &mut TxContext)
93Call coin::split<SUI>(&mut Coin<SUI>, u64, &mut TxContext): Coin<SUI>
94Call coin::put<SUI>(&mut Balance<SUI>, Coin<SUI>)
95Ret
}
entry public update_nft(Arg0: &Store, Arg1: vector<u8>, Arg2: String, Arg3: String, Arg4: vector<String>, Arg5: vector<String>, Arg6: vector<u8>, Arg7: &mut Kiosk, Arg8: &KioskOwnerCap, Arg9: &mut TxContext) {
L10: loc0: &mut Nft
B0:
0MoveLoc[0](Arg0: &Store)
1CopyLoc[1](Arg1: vector<u8>)
2CopyLoc[2](Arg2: String)
3CopyLoc[3](Arg3: String)
4CopyLoc[4](Arg4: vector<String>)
5CopyLoc[5](Arg5: vector<String>)
6MoveLoc[6](Arg6: vector<u8>)
7MoveLoc[9](Arg9: &mut TxContext)
8Call tradeport_launchpad::verify_update_nft_request(&Store, vector<u8>, String, String, vector<String>, vector<String>, vector<u8>, &mut TxContext)
9MoveLoc[7](Arg7: &mut Kiosk)
10MoveLoc[8](Arg8: &KioskOwnerCap)
11MoveLoc[1](Arg1: vector<u8>)
12Call object::id_from_bytes(vector<u8>): ID
13Call kiosk::borrow_mut<Nft>(&mut Kiosk, &KioskOwnerCap, ID): &mut Nft
14StLoc[10](loc0: &mut Nft)
15MoveLoc[2](Arg2: String)
16CopyLoc[10](loc0: &mut Nft)
17MutBorrowField[5](Nft.description: String)
18WriteRef
19MoveLoc[3](Arg3: String)
20CopyLoc[10](loc0: &mut Nft)
21MutBorrowField[6](Nft.media_url: String)
22WriteRef
23MoveLoc[4](Arg4: vector<String>)
24MoveLoc[5](Arg5: vector<String>)
25Call tradeport_launchpad::format_attributes(vector<String>, vector<String>): VecMap<String, String>
26CopyLoc[10](loc0: &mut Nft)
27MutBorrowField[7](Nft.attributes: VecMap<String, String>)
28WriteRef
29MoveLoc[10](loc0: &mut Nft)
30FreezeRef
31Call object::id<Nft>(&Nft): ID
32LdConst[20](vector<u8>: "1b0..)
33Call string::utf8(vector<u8>): String
34Pack[6](UpdateNftEvent)
35Call event::emit<UpdateNftEvent>(UpdateNftEvent)
36Ret
}
public version(Arg0: &Manager): u64 {
B0:
0MoveLoc[0](Arg0: &Manager)
1ImmBorrowField[8](Manager.version: u64)
2ReadRef
3Ret
}
public display_mut(Arg0: &Publisher, Arg1: &mut Manager): &mut Display<Nft> {
B0:
0MoveLoc[0](Arg0: &Publisher)
1Call package::from_package<Nft>(&Publisher): bool
2BrFalse(4)
B1:
3Branch(8)
B2:
4MoveLoc[1](Arg1: &mut Manager)
5Pop
6LdConst[5](u64: 2)
7Abort
B3:
8MoveLoc[1](Arg1: &mut Manager)
9MutBorrowField[9](Manager.display: Display<Nft>)
10Ret
}
public policy_cap(Arg0: &Publisher, Arg1: &Manager): &TransferPolicyCap<Nft> {
B0:
0MoveLoc[0](Arg0: &Publisher)
1Call package::from_package<Nft>(&Publisher): bool
2BrFalse(4)
B1:
3Branch(8)
B2:
4MoveLoc[1](Arg1: &Manager)
5Pop
6LdConst[5](u64: 2)
7Abort
B3:
8MoveLoc[1](Arg1: &Manager)
9ImmBorrowField[3](Manager.transfer_policy_cap: TransferPolicyCap<Nft>)
10Ret
}
public package_version(): u64 {
B0:
0LdConst[4](u64: 1)
1Ret
}
to_nft(Arg0: Bag, Arg1: &mut TxContext): Nft {
L2: loc0: UID
L3: loc1: String
L4: loc2: u64
L5: loc3: u64
L6: loc4: String
L7: loc5: String
L8: loc6: String
L9: loc7: VecMap<String, String>
L10: loc8: Nft
B0:
0MoveLoc[1](Arg1: &mut TxContext)
1Call object::new(&mut TxContext): UID
2StLoc[2](loc0: UID)
3MutBorrowLoc[0](Arg0: Bag)
4LdConst[9](vector<u8>: "gro..)
5Call string::utf8(vector<u8>): String
6Call bag::remove<String, String>(&mut Bag, String): String
7StLoc[3](loc1: String)
8MutBorrowLoc[0](Arg0: Bag)
9LdConst[22](vector<u8>: "typ..)
10Call string::utf8(vector<u8>): String
11Call bag::remove<String, u64>(&mut Bag, String): u64
12StLoc[4](loc2: u64)
13MutBorrowLoc[0](Arg0: Bag)
14LdConst[23](vector<u8>: "ind..)
15Call string::utf8(vector<u8>): String
16Call bag::remove<String, u64>(&mut Bag, String): u64
17StLoc[5](loc3: u64)
18MutBorrowLoc[0](Arg0: Bag)
19LdConst[11](vector<u8>: "nam..)
20Call string::utf8(vector<u8>): String
21Call bag::remove<String, String>(&mut Bag, String): String
22StLoc[6](loc4: String)
23MutBorrowLoc[0](Arg0: Bag)
24LdConst[13](vector<u8>: "des..)
25Call string::utf8(vector<u8>): String
26Call bag::remove<String, String>(&mut Bag, String): String
27StLoc[7](loc5: String)
28MutBorrowLoc[0](Arg0: Bag)
29LdConst[15](vector<u8>: "med..)
30Call string::utf8(vector<u8>): String
31Call bag::remove<String, String>(&mut Bag, String): String
32StLoc[8](loc6: String)
33MutBorrowLoc[0](Arg0: Bag)
34LdConst[18](vector<u8>: "att..)
35Call string::utf8(vector<u8>): String
36Call bag::remove<String, VecMap<String, String>>(&mut Bag, String): VecMap<String, String>
37StLoc[9](loc7: VecMap<String, String>)
38MoveLoc[2](loc0: UID)
39MoveLoc[3](loc1: String)
40MoveLoc[4](loc2: u64)
41MoveLoc[6](loc4: String)
42MoveLoc[5](loc3: u64)
43MoveLoc[7](loc5: String)
44MoveLoc[8](loc6: String)
45MoveLoc[9](loc7: VecMap<String, String>)
46Pack[2](Nft)
47StLoc[10](loc8: Nft)
48MoveLoc[0](Arg0: Bag)
49Call bag::destroy_empty(Bag)
50MoveLoc[10](loc8: Nft)
51Ret
}
assert_version(Arg0: &Manager) {
B0:
0MoveLoc[0](Arg0: &Manager)
1ImmBorrowField[8](Manager.version: u64)
2ReadRef
3LdConst[4](u64: 1)
4Eq
5BrFalse(7)
B1:
6Branch(9)
B2:
7LdConst[4](u64: 1)
8Abort
B3:
9Ret
}
assert_version_and_upgrade(Arg0: &mut Manager) {
B0:
0CopyLoc[0](Arg0: &mut Manager)
1ImmBorrowField[8](Manager.version: u64)
2ReadRef
3LdConst[4](u64: 1)
4Lt
5BrFalse(10)
B1:
6LdConst[4](u64: 1)
7CopyLoc[0](Arg0: &mut Manager)
8MutBorrowField[8](Manager.version: u64)
9WriteRef
B2:
10MoveLoc[0](Arg0: &mut Manager)
11FreezeRef
12Call assert_version(&Manager)
13Ret
}
Constants [
0 => vector<u8>: "COTS" // interpreted as UTF8 string
1 => vector<u8>: "Characters of the Sea" // interpreted as UTF8 string
2 => vector<u8>: "ipfs://QmS4p5MSTvcG6sYENiJ95Vfy6DkUYc4WkCkzAdZRcStDgX" // interpreted as UTF8 string
3 => u16: 600
4 => u64: 1
5 => u64: 2
6 => vector<u8>: "collection_name" // interpreted as UTF8 string
7 => vector<u8>: "collection_description" // interpreted as UTF8 string
8 => vector<u8>: "collection_cover_url" // interpreted as UTF8 string
9 => vector<u8>: "group_id" // interpreted as UTF8 string
10 => vector<u8>: "{group_id}" // interpreted as UTF8 string
11 => vector<u8>: "name" // interpreted as UTF8 string
12 => vector<u8>: "{name}" // interpreted as UTF8 string
13 => vector<u8>: "description" // interpreted as UTF8 string
14 => vector<u8>: "{description}" // interpreted as UTF8 string
15 => vector<u8>: "media_url" // interpreted as UTF8 string
16 => vector<u8>: "{media_url}" // interpreted as UTF8 string
17 => vector<u8>: "image_url" // interpreted as UTF8 string
18 => vector<u8>: "attributes" // interpreted as UTF8 string
19 => vector<u8>: "{attributes}" // interpreted as UTF8 string
20 => vector<u8>: "1b086abb-2293-4cd1-93c4-7168ffe525f6" // interpreted as UTF8 string
21 => address: 0xe67f4b76f53e2f7c4b43c32adecbe0ae2fe3a20c810430c619b3af1984d25308
22 => vector<u8>: "type" // interpreted as UTF8 string
23 => vector<u8>: "index" // interpreted as UTF8 string
]
}