xnft
Module0x7dfd…dbf0
- Move path
- 0x7dfd…dbf0::xnft
- Functions
- 42 public, 0 entry
- Structs
- 4
- Friend modules
- None
Bytecode134 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v6
module 7dfd3c14cc4e0fcf76c1effe2f20393638d5f4bd5f4ba1f39ffc9e9c06ffdbf0.xnft {
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000002::display;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::package;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use 7dfd3c14cc4e0fcf76c1effe2f20393638d5f4bd5f4ba1f39ffc9e9c06ffdbf0::linked_table;
struct XNFT has drop {
dummy_field: bool
}
struct XcetusManager has key {
id: UID,
nfts: LinkedTable<ID, RewardNftInfo>
}
struct RewardNftInfo has drop, store {
id: ID
}
struct RewardNFT has key {
id: UID,
name: String
}
init(Arg0: XNFT, Arg1: &mut TxContext) {
L2: loc0: vector<String>
L3: loc1: vector<String>
L4: loc2: Publisher
L5: loc3: Display<RewardNFT>
B0:
0LdConst[0](vector<u8>: "nam..)
1Call string::utf8(vector<u8>): String
2LdConst[1](vector<u8>: "ima..)
3Call string::utf8(vector<u8>): String
4LdConst[2](vector<u8>: "des..)
5Call string::utf8(vector<u8>): String
6VecPack(9, 3)
7StLoc[2](loc0: vector<String>)
8LdConst[3](vector<u8>: "Nav..)
9Call string::utf8(vector<u8>): String
10LdConst[4](vector<u8>: "htt..)
11Call string::utf8(vector<u8>): String
12LdConst[5](vector<u8>: "Sup..)
13Call string::utf8(vector<u8>): String
14VecPack(9, 3)
15StLoc[3](loc1: vector<String>)
16MoveLoc[0](Arg0: XNFT)
17CopyLoc[1](Arg1: &mut TxContext)
18Call package::claim<XNFT>(XNFT, &mut TxContext): Publisher
19StLoc[4](loc2: Publisher)
20ImmBorrowLoc[4](loc2: Publisher)
21MoveLoc[2](loc0: vector<String>)
22MoveLoc[3](loc1: vector<String>)
23CopyLoc[1](Arg1: &mut TxContext)
24Call display::new_with_fields<RewardNFT>(&Publisher, vector<String>, vector<String>, &mut TxContext): Display<RewardNFT>
25StLoc[5](loc3: Display<RewardNFT>)
26MutBorrowLoc[5](loc3: Display<RewardNFT>)
27Call display::update_version<RewardNFT>(&mut Display<RewardNFT>)
28MoveLoc[4](loc2: Publisher)
29CopyLoc[1](Arg1: &mut TxContext)
30FreezeRef
31Call tx_context::sender(&TxContext): address
32Call transfer::public_transfer<Publisher>(Publisher, address)
33MoveLoc[5](loc3: Display<RewardNFT>)
34CopyLoc[1](Arg1: &mut TxContext)
35FreezeRef
36Call tx_context::sender(&TxContext): address
37Call transfer::public_transfer<Display<RewardNFT>>(Display<RewardNFT>, address)
38CopyLoc[1](Arg1: &mut TxContext)
39Call object::new(&mut TxContext): UID
40MoveLoc[1](Arg1: &mut TxContext)
41Call linked_table::new<ID, RewardNftInfo>(&mut TxContext): LinkedTable<ID, RewardNftInfo>
42Pack[1](XcetusManager)
43Call transfer::share_object<XcetusManager>(XcetusManager)
44Ret
}
public mint(Arg0: &mut XcetusManager, Arg1: address, Arg2: &mut TxContext) {
L3: loc0: RewardNFT
L4: loc1: ID
L5: loc2: RewardNftInfo
B0:
0MoveLoc[2](Arg2: &mut TxContext)
1Call new_venft(&mut TxContext): RewardNFT
2StLoc[3](loc0: RewardNFT)
3ImmBorrowLoc[3](loc0: RewardNFT)
4Call object::id<RewardNFT>(&RewardNFT): ID
5StLoc[4](loc1: ID)
6CopyLoc[4](loc1: ID)
7Pack[2](RewardNftInfo)
8StLoc[5](loc2: RewardNftInfo)
9MoveLoc[0](Arg0: &mut XcetusManager)
10MutBorrowField[0](XcetusManager.nfts: LinkedTable<ID, RewardNftInfo>)
11MoveLoc[4](loc1: ID)
12MoveLoc[5](loc2: RewardNftInfo)
13Call linked_table::push_back<ID, RewardNftInfo>(&mut LinkedTable<ID, RewardNftInfo>, ID, RewardNftInfo)
14MoveLoc[3](loc0: RewardNFT)
15MoveLoc[1](Arg1: address)
16Call transfer::transfer<RewardNFT>(RewardNFT, address)
17Ret
}
new_venft(Arg0: &mut TxContext): RewardNFT {
B0:
0MoveLoc[0](Arg0: &mut TxContext)
1Call object::new(&mut TxContext): UID
2LdConst[6](vector<u8>: "Sui..)
3Call string::utf8(vector<u8>): String
4Pack[3](RewardNFT)
5Ret
}
public nfts(Arg0: &XcetusManager): &LinkedTable<ID, RewardNftInfo> {
B0:
0MoveLoc[0](Arg0: &XcetusManager)
1ImmBorrowField[0](XcetusManager.nfts: LinkedTable<ID, RewardNftInfo>)
2Ret
}
Constants [
0 => vector<u8>: "name" // interpreted as UTF8 string
1 => vector<u8>: "image_url" // interpreted as UTF8 string
2 => vector<u8>: "description" // interpreted as UTF8 string
3 => vector<u8>: "Navi Reward Pass" // interpreted as UTF8 string
4 => vector<u8>: "https://static.wixstatic.com/media/33e670_67fea55863fd49548021097e6ad5b51b~mv2.jpg" // interpreted as UTF8 string
5 => vector<u8>: "Support and Earn in our Navi Protocol." // interpreted as UTF8 string
6 => vector<u8>: "Sui Reward Pass" // interpreted as UTF8 string
]
}