nft
Module0x647e…094e
- Move path
- 0x647e…094e::nft
- Functions
- 21 public, 1 entry
- Structs
- 2
- Friend modules
- None
nft
Bytecode90 lines
The on-chain disassembly. Offsets are instruction numbers within each function.
// Move bytecode v7
module 647e0bef3a7e0bb00a6924d6b4b8c5daf00bdd59cd648768eb9bcd9f9973094e.nft {
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000002::display;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::package;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
struct NFT has drop {
dummy_field: bool
}
struct MyNFT has store, key {
id: UID,
name: String,
description: String,
image_url: String
}
init(Arg0: NFT, Arg1: &mut TxContext) {
L2: loc0: Display<MyNFT>
L3: loc1: vector<String>
L4: loc2: Publisher
L5: loc3: vector<String>
B0:
0MoveLoc[0](Arg0: NFT)
1CopyLoc[1](Arg1: &mut TxContext)
2Call package::claim<NFT>(NFT, &mut TxContext): Publisher
3StLoc[4](loc2: Publisher)
4LdConst[0](vector<u8>: "nam..)
5Call string::utf8(vector<u8>): String
6LdConst[1](vector<u8>: "des..)
7Call string::utf8(vector<u8>): String
8LdConst[2](vector<u8>: "ima..)
9Call string::utf8(vector<u8>): String
10VecPack(8, 3)
11StLoc[3](loc1: vector<String>)
12LdConst[3](vector<u8>: "{na..)
13Call string::utf8(vector<u8>): String
14LdConst[4](vector<u8>: "{de..)
15Call string::utf8(vector<u8>): String
16LdConst[5](vector<u8>: "{im..)
17Call string::utf8(vector<u8>): String
18VecPack(8, 3)
19StLoc[5](loc3: vector<String>)
20ImmBorrowLoc[4](loc2: Publisher)
21MoveLoc[3](loc1: vector<String>)
22MoveLoc[5](loc3: vector<String>)
23CopyLoc[1](Arg1: &mut TxContext)
24Call display::new_with_fields<MyNFT>(&Publisher, vector<String>, vector<String>, &mut TxContext): Display<MyNFT>
25StLoc[2](loc0: Display<MyNFT>)
26MutBorrowLoc[2](loc0: Display<MyNFT>)
27Call display::update_version<MyNFT>(&mut Display<MyNFT>)
28MoveLoc[4](loc2: Publisher)
29CopyLoc[1](Arg1: &mut TxContext)
30FreezeRef
31Call tx_context::sender(&TxContext): address
32Call transfer::public_transfer<Publisher>(Publisher, address)
33MoveLoc[2](loc0: Display<MyNFT>)
34MoveLoc[1](Arg1: &mut TxContext)
35FreezeRef
36Call tx_context::sender(&TxContext): address
37Call transfer::public_transfer<Display<MyNFT>>(Display<MyNFT>, address)
38Ret
}
entry public mint(Arg0: String, Arg1: String, Arg2: String, Arg3: address, Arg4: &mut TxContext) {
B0:
0MoveLoc[4](Arg4: &mut TxContext)
1Call object::new(&mut TxContext): UID
2MoveLoc[0](Arg0: String)
3MoveLoc[1](Arg1: String)
4MoveLoc[2](Arg2: String)
5Pack[1](MyNFT)
6MoveLoc[3](Arg3: address)
7Call transfer::public_transfer<MyNFT>(MyNFT, address)
8Ret
}
Constants [
0 => vector<u8>: "name" // interpreted as UTF8 string
1 => vector<u8>: "description" // interpreted as UTF8 string
2 => vector<u8>: "image_url" // interpreted as UTF8 string
3 => vector<u8>: "{name}" // interpreted as UTF8 string
4 => vector<u8>: "{description}" // interpreted as UTF8 string
5 => vector<u8>: "{image_url}" // interpreted as UTF8 string
]
}