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

API

claynosaurz_phantom_patch

Module0x0765…af9c
Move path
0x0765…af9c::claynosaurz_phantom_patch
Functions
105 public, 2 entry
Structs
4
Friend modules
None
claynosaurz_phantom_patch

Bytecode694 lines

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

// Move bytecode v6
module 76542bcda1650a976c76030478cd95cfa1da3f6c7df1fc986a00a862efdaf9c.claynosaurz_phantom_patch {
use 434b5bd8f6a7b05fede0ff46c6e511d71ea326ed38056e3bcd681d2d7c2a7879::kiosk_lock_rule;
use 434b5bd8f6a7b05fede0ff46c6e511d71ea326ed38056e3bcd681d2d7c2a7879::royalty_rule;
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000001::u64;
use 0000000000000000000000000000000000000000000000000000000000000001::vector;
use 0000000000000000000000000000000000000000000000000000000000000002::bag;
use 0000000000000000000000000000000000000000000000000000000000000002::balance;
use 0000000000000000000000000000000000000000000000000000000000000002::coin;
use 0000000000000000000000000000000000000000000000000000000000000002::display;
use 0000000000000000000000000000000000000000000000000000000000000002::dynamic_object_field;
use 0000000000000000000000000000000000000000000000000000000000000002::kiosk;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::package;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer_policy;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use 0000000000000000000000000000000000000000000000000000000000000002::vec_map;
use 95e360f56458bf2862cd983b63aaa23e43997674eda99f28541cca1adfa44f50::launchpad;
 
struct CLAYNOSAURZ_PHANTOM_PATCH has drop {
dummy_field: bool
}
 
struct Store has store, key {
id: UID,
version: u64,
admin: address,
name_1: String,
name_2: String,
amount_1: vector<u64>,
amount_2: vector<u64>,
balance_bag: Bag
}
 
struct Nft has store, key {
id: UID,
name: String,
description: String,
media_url: String,
attributes: VecMap<String, String>
}
 
struct BalanceKey<phantom Ty0> has copy, drop, store {
dummy_field: bool
}
 
init(Arg0: CLAYNOSAURZ_PHANTOM_PATCH, Arg1: &mut TxContext) {
L2: loc0: Display<Nft>
L3: loc1: Publisher
L4: loc2: TransferPolicy<Nft>
L5: loc3: TransferPolicyCap<Nft>
B0:
0MoveLoc[0](Arg0: CLAYNOSAURZ_PHANTOM_PATCH)
1CopyLoc[1](Arg1: &mut TxContext)
2Call package::claim<CLAYNOSAURZ_PHANTOM_PATCH>(CLAYNOSAURZ_PHANTOM_PATCH, &mut TxContext): Publisher
3StLoc[3](loc1: Publisher)
4ImmBorrowLoc[3](loc1: 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[10](vector<u8>: "col..)
10Call string::utf8(vector<u8>): String
11LdConst[6](vector<u8>: "Cla..)
12Call string::utf8(vector<u8>): String
13Call display::add<Nft>(&mut Display<Nft>, String, String)
14MutBorrowLoc[2](loc0: Display<Nft>)
15LdConst[11](vector<u8>: "col..)
16Call string::utf8(vector<u8>): String
17LdConst[7](vector<u8>: "You..)
18Call string::utf8(vector<u8>): String
19Call display::add<Nft>(&mut Display<Nft>, String, String)
20MutBorrowLoc[2](loc0: Display<Nft>)
21LdConst[12](vector<u8>: "col..)
22Call string::utf8(vector<u8>): String
23LdConst[8](vector<u8>: "wal..)
24Call string::utf8(vector<u8>): String
25Call display::add<Nft>(&mut Display<Nft>, String, String)
26MutBorrowLoc[2](loc0: Display<Nft>)
27LdConst[13](vector<u8>: "nam..)
28Call string::utf8(vector<u8>): String
29LdConst[14](vector<u8>: "{na..)
30Call string::utf8(vector<u8>): String
31Call display::add<Nft>(&mut Display<Nft>, String, String)
32MutBorrowLoc[2](loc0: Display<Nft>)
33LdConst[15](vector<u8>: "des..)
34Call string::utf8(vector<u8>): String
35LdConst[16](vector<u8>: "{de..)
36Call string::utf8(vector<u8>): String
37Call display::add<Nft>(&mut Display<Nft>, String, String)
38MutBorrowLoc[2](loc0: Display<Nft>)
39LdConst[17](vector<u8>: "ima..)
40Call string::utf8(vector<u8>): String
41LdConst[18](vector<u8>: "{me..)
42Call string::utf8(vector<u8>): String
43Call display::add<Nft>(&mut Display<Nft>, String, String)
44MutBorrowLoc[2](loc0: Display<Nft>)
45LdConst[19](vector<u8>: "med..)
46Call string::utf8(vector<u8>): String
47LdConst[18](vector<u8>: "{me..)
48Call string::utf8(vector<u8>): String
49Call display::add<Nft>(&mut Display<Nft>, String, String)
50MutBorrowLoc[2](loc0: Display<Nft>)
51LdConst[20](vector<u8>: "att..)
52Call string::utf8(vector<u8>): String
53LdConst[21](vector<u8>: "{at..)
54Call string::utf8(vector<u8>): String
55Call display::add<Nft>(&mut Display<Nft>, String, String)
56MutBorrowLoc[2](loc0: Display<Nft>)
57Call display::update_version<Nft>(&mut Display<Nft>)
58ImmBorrowLoc[3](loc1: Publisher)
59CopyLoc[1](Arg1: &mut TxContext)
60Call transfer_policy::new<Nft>(&Publisher, &mut TxContext): TransferPolicy<Nft> * TransferPolicyCap<Nft>
61StLoc[5](loc3: TransferPolicyCap<Nft>)
62StLoc[4](loc2: TransferPolicy<Nft>)
63MutBorrowLoc[4](loc2: TransferPolicy<Nft>)
64ImmBorrowLoc[5](loc3: TransferPolicyCap<Nft>)
65Call kiosk_lock_rule::add<Nft>(&mut TransferPolicy<Nft>, &TransferPolicyCap<Nft>)
66MutBorrowLoc[4](loc2: TransferPolicy<Nft>)
67ImmBorrowLoc[5](loc3: TransferPolicyCap<Nft>)
68LdConst[9](u16: 500)
69LdU64(0)
70Call royalty_rule::add<Nft>(&mut TransferPolicy<Nft>, &TransferPolicyCap<Nft>, u16, u64)
71MoveLoc[3](loc1: Publisher)
72CopyLoc[1](Arg1: &mut TxContext)
73FreezeRef
74Call tx_context::sender(&TxContext): address
75Call transfer::public_transfer<Publisher>(Publisher, address)
76MoveLoc[2](loc0: Display<Nft>)
77CopyLoc[1](Arg1: &mut TxContext)
78FreezeRef
79Call tx_context::sender(&TxContext): address
80Call transfer::public_transfer<Display<Nft>>(Display<Nft>, address)
81MoveLoc[5](loc3: TransferPolicyCap<Nft>)
82CopyLoc[1](Arg1: &mut TxContext)
83FreezeRef
84Call tx_context::sender(&TxContext): address
85Call transfer::public_transfer<TransferPolicyCap<Nft>>(TransferPolicyCap<Nft>, address)
86MoveLoc[4](loc2: TransferPolicy<Nft>)
87Call transfer::public_share_object<TransferPolicy<Nft>>(TransferPolicy<Nft>)
88CopyLoc[1](Arg1: &mut TxContext)
89Call object::new(&mut TxContext): UID
90LdConst[0](u64: 1)
91CopyLoc[1](Arg1: &mut TxContext)
92FreezeRef
93Call tx_context::sender(&TxContext): address
94LdConst[22](vector<u8>: "Bal..)
95Call string::utf8(vector<u8>): String
96LdConst[23](vector<u8>: "Bal..)
97Call string::utf8(vector<u8>): String
98VecPack(35, 0)
99VecPack(35, 0)
100MoveLoc[1](Arg1: &mut TxContext)
101Call bag::new(&mut TxContext): Bag
102Pack[1](Store)
103Call transfer::public_share_object<Store>(Store)
104Ret
}
 
public upload<Ty0, Ty1>(Arg0: &mut Store, Arg1: String, Arg2: String, Arg3: vector<u64>, Arg4: vector<u64>, Arg5: Coin<Ty0>, Arg6: Coin<Ty1>, Arg7: &mut TxContext) {
L8: loc0: Balance<Ty0>
L9: loc1: Balance<Ty1>
L10: loc2: u64
L11: loc3: u64
L12: loc4: Balance<Ty0>
L13: loc5: Balance<Ty1>
L14: loc6: u64
L15: loc7: u64
B0:
0CopyLoc[0](Arg0: &mut Store)
1FreezeRef
2MoveLoc[7](Arg7: &mut TxContext)
3FreezeRef
4Call verify_admin(&Store, &TxContext)
5CopyLoc[0](Arg0: &mut Store)
6FreezeRef
7Call verify_version(&Store)
8MoveLoc[1](Arg1: String)
9CopyLoc[0](Arg0: &mut Store)
10MutBorrowField[0](Store.name_1: String)
11WriteRef
12MoveLoc[2](Arg2: String)
13CopyLoc[0](Arg0: &mut Store)
14MutBorrowField[1](Store.name_2: String)
15WriteRef
16ImmBorrowLoc[3](Arg3: vector<u64>)
17VecLen(35)
18ImmBorrowLoc[4](Arg4: vector<u64>)
19VecLen(35)
20Eq
21BrFalse(23)
B1:
22Branch(27)
B2:
23MoveLoc[0](Arg0: &mut Store)
24Pop
25LdConst[2](u64: 3)
26Abort
B3:
27LdU64(0)
28StLoc[14](loc6: u64)
29LdU64(0)
30StLoc[15](loc7: u64)
B4:
31ImmBorrowLoc[3](Arg3: vector<u64>)
32Call vector::is_empty<u64>(&vector<u64>): bool
33Not
34BrFalse(58)
B5:
35MutBorrowLoc[3](Arg3: vector<u64>)
36VecPopBack(35)
37StLoc[10](loc2: u64)
38MutBorrowLoc[4](Arg4: vector<u64>)
39VecPopBack(35)
40StLoc[11](loc3: u64)
41CopyLoc[0](Arg0: &mut Store)
42MutBorrowField[2](Store.amount_1: vector<u64>)
43CopyLoc[10](loc2: u64)
44VecPushBack(35)
45CopyLoc[0](Arg0: &mut Store)
46MutBorrowField[3](Store.amount_2: vector<u64>)
47CopyLoc[11](loc3: u64)
48VecPushBack(35)
49MoveLoc[14](loc6: u64)
50MoveLoc[10](loc2: u64)
51Add
52StLoc[14](loc6: u64)
53MoveLoc[15](loc7: u64)
54MoveLoc[11](loc3: u64)
55Add
56StLoc[15](loc7: u64)
57Branch(31)
B6:
58MoveLoc[14](loc6: u64)
59ImmBorrowLoc[5](Arg5: Coin<Ty0>)
60Call coin::value<Ty0>(&Coin<Ty0>): u64
61Eq
62BrFalse(64)
B7:
63Branch(68)
B8:
64MoveLoc[0](Arg0: &mut Store)
65Pop
66LdConst[3](u64: 4)
67Abort
B9:
68MoveLoc[15](loc7: u64)
69ImmBorrowLoc[6](Arg6: Coin<Ty1>)
70Call coin::value<Ty1>(&Coin<Ty1>): u64
71Eq
72BrFalse(74)
B10:
73Branch(78)
B11:
74MoveLoc[0](Arg0: &mut Store)
75Pop
76LdConst[4](u64: 5)
77Abort
B12:
78CopyLoc[0](Arg0: &mut Store)
79ImmBorrowField[4](Store.balance_bag: Bag)
80LdU64(1)
81Call bag::contains<u64>(&Bag, u64): bool
82BrFalse(89)
B13:
83CopyLoc[0](Arg0: &mut Store)
84MutBorrowField[4](Store.balance_bag: Bag)
85LdU64(1)
86Call bag::remove<u64, Balance<Ty0>>(&mut Bag, u64): Balance<Ty0>
87StLoc[8](loc0: Balance<Ty0>)
88Branch(91)
B14:
89Call balance::zero<Ty0>(): Balance<Ty0>
90StLoc[8](loc0: Balance<Ty0>)
B15:
91MoveLoc[8](loc0: Balance<Ty0>)
92StLoc[12](loc4: Balance<Ty0>)
93CopyLoc[0](Arg0: &mut Store)
94ImmBorrowField[4](Store.balance_bag: Bag)
95LdU64(2)
96Call bag::contains<u64>(&Bag, u64): bool
97BrFalse(104)
B16:
98CopyLoc[0](Arg0: &mut Store)
99MutBorrowField[4](Store.balance_bag: Bag)
100LdU64(2)
101Call bag::remove<u64, Balance<Ty1>>(&mut Bag, u64): Balance<Ty1>
102StLoc[9](loc1: Balance<Ty1>)
103Branch(106)
B17:
104Call balance::zero<Ty1>(): Balance<Ty1>
105StLoc[9](loc1: Balance<Ty1>)
B18:
106MoveLoc[9](loc1: Balance<Ty1>)
107StLoc[13](loc5: Balance<Ty1>)
108MutBorrowLoc[12](loc4: Balance<Ty0>)
109MoveLoc[5](Arg5: Coin<Ty0>)
110Call coin::into_balance<Ty0>(Coin<Ty0>): Balance<Ty0>
111Call balance::join<Ty0>(&mut Balance<Ty0>, Balance<Ty0>): u64
112Pop
113MutBorrowLoc[13](loc5: Balance<Ty1>)
114MoveLoc[6](Arg6: Coin<Ty1>)
115Call coin::into_balance<Ty1>(Coin<Ty1>): Balance<Ty1>
116Call balance::join<Ty1>(&mut Balance<Ty1>, Balance<Ty1>): u64
117Pop
118CopyLoc[0](Arg0: &mut Store)
119MutBorrowField[4](Store.balance_bag: Bag)
120LdU64(1)
121MoveLoc[12](loc4: Balance<Ty0>)
122Call bag::add<u64, Balance<Ty0>>(&mut Bag, u64, Balance<Ty0>)
123MoveLoc[0](Arg0: &mut Store)
124MutBorrowField[4](Store.balance_bag: Bag)
125LdU64(2)
126MoveLoc[13](loc5: Balance<Ty1>)
127Call bag::add<u64, Balance<Ty1>>(&mut Bag, u64, Balance<Ty1>)
128Ret
}
 
public offload<Ty0, Ty1>(Arg0: &mut Store, Arg1: &mut TxContext): Coin<Ty0> * Coin<Ty1> {
L2: loc0: Balance<Ty0>
L3: loc1: Balance<Ty1>
B0:
0CopyLoc[0](Arg0: &mut Store)
1FreezeRef
2CopyLoc[1](Arg1: &mut TxContext)
3FreezeRef
4Call verify_admin(&Store, &TxContext)
5CopyLoc[0](Arg0: &mut Store)
6FreezeRef
7Call verify_version(&Store)
B1:
8CopyLoc[0](Arg0: &mut Store)
9ImmBorrowField[2](Store.amount_1: vector<u64>)
10Call vector::is_empty<u64>(&vector<u64>): bool
11Not
12BrFalse(23)
B2:
13Branch(14)
B3:
14CopyLoc[0](Arg0: &mut Store)
15MutBorrowField[2](Store.amount_1: vector<u64>)
16VecPopBack(35)
17Pop
18CopyLoc[0](Arg0: &mut Store)
19MutBorrowField[3](Store.amount_2: vector<u64>)
20VecPopBack(35)
21Pop
22Branch(8)
B4:
23CopyLoc[0](Arg0: &mut Store)
24MutBorrowField[4](Store.balance_bag: Bag)
25LdU64(1)
26Call bag::remove<u64, Balance<Ty0>>(&mut Bag, u64): Balance<Ty0>
27StLoc[2](loc0: Balance<Ty0>)
28MoveLoc[0](Arg0: &mut Store)
29MutBorrowField[4](Store.balance_bag: Bag)
30LdU64(2)
31Call bag::remove<u64, Balance<Ty1>>(&mut Bag, u64): Balance<Ty1>
32StLoc[3](loc1: Balance<Ty1>)
33MoveLoc[2](loc0: Balance<Ty0>)
34CopyLoc[1](Arg1: &mut TxContext)
35Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
36MoveLoc[3](loc1: Balance<Ty1>)
37MoveLoc[1](Arg1: &mut TxContext)
38Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
39Ret
}
 
public create_nft_with_verification<Ty0, Ty1>(Arg0: &mut Store, Arg1: String, Arg2: String, Arg3: String, Arg4: vector<String>, Arg5: vector<String>, Arg6: &mut Verification, Arg7: &mut TxContext): Nft {
L8: loc0: u64
L9: loc1: u64
L10: loc2: Coin<Ty0>
L11: loc3: Coin<Ty1>
L12: loc4: Nft
B0:
0CopyLoc[0](Arg0: &mut Store)
1ImmBorrowField[2](Store.amount_1: vector<u64>)
2Call vector::is_empty<u64>(&vector<u64>): bool
3Not
4BrFalse(6)
B1:
5Branch(14)
B2:
6MoveLoc[6](Arg6: &mut Verification)
7Pop
8MoveLoc[0](Arg0: &mut Store)
9Pop
10MoveLoc[7](Arg7: &mut TxContext)
11Pop
12LdConst[5](u64: 6)
13Abort
B3:
14CopyLoc[0](Arg0: &mut Store)
15MutBorrowField[2](Store.amount_1: vector<u64>)
16VecPopBack(35)
17StLoc[8](loc0: u64)
18CopyLoc[0](Arg0: &mut Store)
19MutBorrowField[3](Store.amount_2: vector<u64>)
20VecPopBack(35)
21StLoc[9](loc1: u64)
22CopyLoc[0](Arg0: &mut Store)
23MutBorrowField[4](Store.balance_bag: Bag)
24LdU64(1)
25Call bag::borrow_mut<u64, Balance<Ty0>>(&mut Bag, u64): &mut Balance<Ty0>
26CopyLoc[8](loc0: u64)
27Call balance::split<Ty0>(&mut Balance<Ty0>, u64): Balance<Ty0>
28CopyLoc[7](Arg7: &mut TxContext)
29Call coin::from_balance<Ty0>(Balance<Ty0>, &mut TxContext): Coin<Ty0>
30StLoc[10](loc2: Coin<Ty0>)
31CopyLoc[0](Arg0: &mut Store)
32MutBorrowField[4](Store.balance_bag: Bag)
33LdU64(2)
34Call bag::borrow_mut<u64, Balance<Ty1>>(&mut Bag, u64): &mut Balance<Ty1>
35CopyLoc[9](loc1: u64)
36Call balance::split<Ty1>(&mut Balance<Ty1>, u64): Balance<Ty1>
37CopyLoc[7](Arg7: &mut TxContext)
38Call coin::from_balance<Ty1>(Balance<Ty1>, &mut TxContext): Coin<Ty1>
39StLoc[11](loc3: Coin<Ty1>)
40MutBorrowLoc[4](Arg4: vector<String>)
41CopyLoc[0](Arg0: &mut Store)
42ImmBorrowField[0](Store.name_1: String)
43ReadRef
44VecPushBack(20)
45MutBorrowLoc[4](Arg4: vector<String>)
46MoveLoc[0](Arg0: &mut Store)
47ImmBorrowField[1](Store.name_2: String)
48ReadRef
49VecPushBack(20)
50MutBorrowLoc[5](Arg5: vector<String>)
51MoveLoc[8](loc0: u64)
52Call u64::to_string(u64): String
53VecPushBack(20)
54MutBorrowLoc[5](Arg5: vector<String>)
55MoveLoc[9](loc1: u64)
56Call u64::to_string(u64): String
57VecPushBack(20)
58MoveLoc[7](Arg7: &mut TxContext)
59Call object::new(&mut TxContext): UID
60MoveLoc[1](Arg1: String)
61MoveLoc[2](Arg2: String)
62MoveLoc[3](Arg3: String)
63MoveLoc[4](Arg4: vector<String>)
64MoveLoc[5](Arg5: vector<String>)
65Call vec_map::from_keys_values<String, String>(vector<String>, vector<String>): VecMap<String, String>
66Pack[2](Nft)
67StLoc[12](loc4: Nft)
68MoveLoc[6](Arg6: &mut Verification)
69ImmBorrowLoc[12](loc4: Nft)
70Call object::id<Nft>(&Nft): ID
71Call launchpad::set_verification_nft_id(&mut Verification, ID)
72MutBorrowLoc[12](loc4: Nft)
73MutBorrowField[5](Nft.id: UID)
74LdFalse
75PackGeneric[0](BalanceKey<Ty0>)
76MoveLoc[10](loc2: Coin<Ty0>)
77Call dynamic_object_field::add<BalanceKey<Ty0>, Coin<Ty0>>(&mut UID, BalanceKey<Ty0>, Coin<Ty0>)
78MutBorrowLoc[12](loc4: Nft)
79MutBorrowField[5](Nft.id: UID)
80LdFalse
81PackGeneric[1](BalanceKey<Ty1>)
82MoveLoc[11](loc3: Coin<Ty1>)
83Call dynamic_object_field::add<BalanceKey<Ty1>, Coin<Ty1>>(&mut UID, BalanceKey<Ty1>, Coin<Ty1>)
84MoveLoc[12](loc4: Nft)
85Ret
}
 
public withdraw_balance<Ty0, Ty1>(Arg0: &Store, Arg1: ID, Arg2: &mut Kiosk, Arg3: &KioskOwnerCap, Arg4: &mut TxContext): Coin<Ty0> * Coin<Ty1> {
L5: loc0: Coin<Ty0>
L6: loc1: Coin<Ty1>
L7: loc2: &mut Nft
B0:
0MoveLoc[2](Arg2: &mut Kiosk)
1MoveLoc[3](Arg3: &KioskOwnerCap)
2MoveLoc[1](Arg1: ID)
3Call kiosk::borrow_mut<Nft>(&mut Kiosk, &KioskOwnerCap, ID): &mut Nft
4StLoc[7](loc2: &mut Nft)
5CopyLoc[7](loc2: &mut Nft)
6ImmBorrowField[5](Nft.id: UID)
7LdFalse
8PackGeneric[0](BalanceKey<Ty0>)
9Call dynamic_object_field::exists_with_type<BalanceKey<Ty0>, Coin<Ty0>>(&UID, BalanceKey<Ty0>): bool
10BrFalse(33)
B1:
11CopyLoc[7](loc2: &mut Nft)
12MutBorrowField[6](Nft.attributes: VecMap<String, String>)
13CopyLoc[0](Arg0: &Store)
14ImmBorrowField[0](Store.name_1: String)
15Call vec_map::remove<String, String>(&mut VecMap<String, String>, &String): String * String
16Pop
17Pop
18CopyLoc[7](loc2: &mut Nft)
19MutBorrowField[6](Nft.attributes: VecMap<String, String>)
20CopyLoc[0](Arg0: &Store)
21ImmBorrowField[0](Store.name_1: String)
22ReadRef
23LdConst[24](vector<u8>: "0" ..)
24Call string::utf8(vector<u8>): String
25Call vec_map::insert<String, String>(&mut VecMap<String, String>, String, String)
26CopyLoc[7](loc2: &mut Nft)
27MutBorrowField[5](Nft.id: UID)
28LdFalse
29PackGeneric[0](BalanceKey<Ty0>)
30Call dynamic_object_field::remove<BalanceKey<Ty0>, Coin<Ty0>>(&mut UID, BalanceKey<Ty0>): Coin<Ty0>
31StLoc[5](loc0: Coin<Ty0>)
32Branch(36)
B2:
33CopyLoc[4](Arg4: &mut TxContext)
34Call coin::zero<Ty0>(&mut TxContext): Coin<Ty0>
35StLoc[5](loc0: Coin<Ty0>)
B3:
36CopyLoc[7](loc2: &mut Nft)
37ImmBorrowField[5](Nft.id: UID)
38LdFalse
39PackGeneric[1](BalanceKey<Ty1>)
40Call dynamic_object_field::exists_with_type<BalanceKey<Ty1>, Coin<Ty1>>(&UID, BalanceKey<Ty1>): bool
41BrFalse(66)
B4:
42MoveLoc[4](Arg4: &mut TxContext)
43Pop
44CopyLoc[7](loc2: &mut Nft)
45MutBorrowField[6](Nft.attributes: VecMap<String, String>)
46CopyLoc[0](Arg0: &Store)
47ImmBorrowField[1](Store.name_2: String)
48Call vec_map::remove<String, String>(&mut VecMap<String, String>, &String): String * String
49Pop
50Pop
51CopyLoc[7](loc2: &mut Nft)
52MutBorrowField[6](Nft.attributes: VecMap<String, String>)
53MoveLoc[0](Arg0: &Store)
54ImmBorrowField[1](Store.name_2: String)
55ReadRef
56LdConst[24](vector<u8>: "0" ..)
57Call string::utf8(vector<u8>): String
58Call vec_map::insert<String, String>(&mut VecMap<String, String>, String, String)
59MoveLoc[7](loc2: &mut Nft)
60MutBorrowField[5](Nft.id: UID)
61LdFalse
62PackGeneric[1](BalanceKey<Ty1>)
63Call dynamic_object_field::remove<BalanceKey<Ty1>, Coin<Ty1>>(&mut UID, BalanceKey<Ty1>): Coin<Ty1>
64StLoc[6](loc1: Coin<Ty1>)
65Branch(73)
B5:
66MoveLoc[0](Arg0: &Store)
67Pop
68MoveLoc[7](loc2: &mut Nft)
69Pop
70MoveLoc[4](Arg4: &mut TxContext)
71Call coin::zero<Ty1>(&mut TxContext): Coin<Ty1>
72StLoc[6](loc1: Coin<Ty1>)
B6:
73MoveLoc[5](loc0: Coin<Ty0>)
74MoveLoc[6](loc1: Coin<Ty1>)
75Ret
}
 
public update_nft_with_verification(Arg0: ID, Arg1: String, Arg2: String, Arg3: String, Arg4: vector<String>, Arg5: vector<String>, Arg6: &Verification, Arg7: &mut Kiosk, Arg8: &KioskOwnerCap) {
L9: loc0: &mut Nft
B0:
0MoveLoc[6](Arg6: &Verification)
1Call launchpad::get_verification_nft_id(&Verification): ID
2CopyLoc[0](Arg0: ID)
3Eq
4BrFalse(6)
B1:
5Branch(12)
B2:
6MoveLoc[8](Arg8: &KioskOwnerCap)
7Pop
8MoveLoc[7](Arg7: &mut Kiosk)
9Pop
10LdConst[0](u64: 1)
11Abort
B3:
12MoveLoc[7](Arg7: &mut Kiosk)
13MoveLoc[8](Arg8: &KioskOwnerCap)
14MoveLoc[0](Arg0: ID)
15Call kiosk::borrow_mut<Nft>(&mut Kiosk, &KioskOwnerCap, ID): &mut Nft
16StLoc[9](loc0: &mut Nft)
17MoveLoc[1](Arg1: String)
18CopyLoc[9](loc0: &mut Nft)
19MutBorrowField[7](Nft.name: String)
20WriteRef
21MoveLoc[2](Arg2: String)
22CopyLoc[9](loc0: &mut Nft)
23MutBorrowField[8](Nft.description: String)
24WriteRef
25MoveLoc[3](Arg3: String)
26CopyLoc[9](loc0: &mut Nft)
27MutBorrowField[9](Nft.media_url: String)
28WriteRef
29MoveLoc[4](Arg4: vector<String>)
30MoveLoc[5](Arg5: vector<String>)
31Call vec_map::from_keys_values<String, String>(vector<String>, vector<String>): VecMap<String, String>
32MoveLoc[9](loc0: &mut Nft)
33MutBorrowField[6](Nft.attributes: VecMap<String, String>)
34WriteRef
35Ret
}
 
entry set_version(Arg0: &mut Store, Arg1: u64, Arg2: &TxContext) {
B0:
0CopyLoc[0](Arg0: &mut Store)
1FreezeRef
2MoveLoc[2](Arg2: &TxContext)
3Call verify_admin(&Store, &TxContext)
4MoveLoc[1](Arg1: u64)
5MoveLoc[0](Arg0: &mut Store)
6MutBorrowField[10](Store.version: u64)
7WriteRef
8Ret
}
 
entry set_admin(Arg0: &mut Store, Arg1: address, Arg2: &TxContext) {
B0:
0CopyLoc[0](Arg0: &mut Store)
1FreezeRef
2MoveLoc[2](Arg2: &TxContext)
3Call verify_admin(&Store, &TxContext)
4CopyLoc[0](Arg0: &mut Store)
5FreezeRef
6Call verify_version(&Store)
7MoveLoc[1](Arg1: address)
8MoveLoc[0](Arg0: &mut Store)
9MutBorrowField[11](Store.admin: address)
10WriteRef
11Ret
}
 
verify_admin(Arg0: &Store, Arg1: &TxContext) {
B0:
0MoveLoc[0](Arg0: &Store)
1ImmBorrowField[11](Store.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: &Store) {
B0:
0MoveLoc[0](Arg0: &Store)
1ImmBorrowField[10](Store.version: u64)
2ReadRef
3LdConst[0](u64: 1)
4Eq
5BrFalse(7)
B1:
6Branch(9)
B2:
7LdConst[1](u64: 2)
8Abort
B3:
9Ret
}
 
Constants [
0 => u64: 1
1 => u64: 2
2 => u64: 3
3 => u64: 4
4 => u64: 5
5 => u64: 6
6 => vector<u8>: "Claynosaurz: Phantom Purr-ize Patch" // interpreted as UTF8 string
7 => vector<u8>: "Your ticket to winning a prize in the Chasing Ghosts event. Each patch is a chance to enter and win an exclusive reward during the event timeframe." // interpreted as UTF8 string
8 => vector<u8>: "walrus://vpunRZjnV9lpmqikblTOkgDHuYxrwuus_ROkni8s1aE" // interpreted as UTF8 string
9 => u16: 500
10 => vector<u8>: "collection_name" // interpreted as UTF8 string
11 => vector<u8>: "collection_description" // interpreted as UTF8 string
12 => vector<u8>: "collection_media_url" // interpreted as UTF8 string
13 => vector<u8>: "name" // interpreted as UTF8 string
14 => vector<u8>: "{name}" // interpreted as UTF8 string
15 => vector<u8>: "description" // interpreted as UTF8 string
16 => vector<u8>: "{description}" // interpreted as UTF8 string
17 => vector<u8>: "image_url" // interpreted as UTF8 string
18 => vector<u8>: "{media_url}" // interpreted as UTF8 string
19 => vector<u8>: "media_url" // interpreted as UTF8 string
20 => vector<u8>: "attributes" // interpreted as UTF8 string
21 => vector<u8>: "{attributes}" // interpreted as UTF8 string
22 => vector<u8>: "Balance_Coin_1" // interpreted as UTF8 string
23 => vector<u8>: "Balance_Coin_2" // interpreted as UTF8 string
24 => vector<u8>: "0" // interpreted as UTF8 string
]
}