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

API

position_nft

Module0x8925…bce5
Move path
0x91bf…9ca1::position_nft
Functions
52 public, 0 entry
Structs
3
Friend modules
position_manager
position_nft

Bytecode182 lines

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

// Move bytecode v6
module 91bfbc386a41afcfd9b2533058d7e915a1d3829089cc268ff4333d54d6339ca1.position_nft {
use 0000000000000000000000000000000000000000000000000000000000000001::ascii;
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000001::type_name;
use 0000000000000000000000000000000000000000000000000000000000000002::display;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::package;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use 0000000000000000000000000000000000000000000000000000000000000002::url;
 
struct TurbosPositionNFT has store, key {
id: UID,
name: String,
description: String,
img_url: Url,
pool_id: ID,
position_id: ID,
coin_type_a: TypeName,
coin_type_b: TypeName,
fee_type: TypeName
}
 
struct POSITION_NFT has drop {
dummy_field: bool
}
 
struct MintNFTEvent has copy, drop {
object_id: ID,
creator: address,
name: String
}
 
init(Arg0: POSITION_NFT, Arg1: &mut TxContext) {
L2: loc0: Display<TurbosPositionNFT>
L3: loc1: vector<String>
L4: loc2: vector<String>
L5: loc3: Publisher
B0:
0VecPack(7, 0)
1StLoc[3](loc1: vector<String>)
2MutBorrowLoc[3](loc1: vector<String>)
3LdConst[0](vector<u8>: "nam..)
4Call string::utf8(vector<u8>): String
5VecPushBack(7)
6MutBorrowLoc[3](loc1: vector<String>)
7LdConst[1](vector<u8>: "des..)
8Call string::utf8(vector<u8>): String
9VecPushBack(7)
10MutBorrowLoc[3](loc1: vector<String>)
11LdConst[2](vector<u8>: "ima..)
12Call string::utf8(vector<u8>): String
13VecPushBack(7)
14MutBorrowLoc[3](loc1: vector<String>)
15LdConst[3](vector<u8>: "pro..)
16Call string::utf8(vector<u8>): String
17VecPushBack(7)
18MutBorrowLoc[3](loc1: vector<String>)
19LdConst[4](vector<u8>: "cre..)
20Call string::utf8(vector<u8>): String
21VecPushBack(7)
22VecPack(7, 0)
23StLoc[4](loc2: vector<String>)
24MutBorrowLoc[4](loc2: vector<String>)
25LdConst[5](vector<u8>: "{na..)
26Call string::utf8(vector<u8>): String
27VecPushBack(7)
28MutBorrowLoc[4](loc2: vector<String>)
29LdConst[6](vector<u8>: "{de..)
30Call string::utf8(vector<u8>): String
31VecPushBack(7)
32MutBorrowLoc[4](loc2: vector<String>)
33LdConst[7](vector<u8>: "{im..)
34Call string::utf8(vector<u8>): String
35VecPushBack(7)
36MutBorrowLoc[4](loc2: vector<String>)
37LdConst[8](vector<u8>: "htt..)
38Call string::utf8(vector<u8>): String
39VecPushBack(7)
40MutBorrowLoc[4](loc2: vector<String>)
41LdConst[9](vector<u8>: "Tur..)
42Call string::utf8(vector<u8>): String
43VecPushBack(7)
44MoveLoc[0](Arg0: POSITION_NFT)
45CopyLoc[1](Arg1: &mut TxContext)
46Call package::claim<POSITION_NFT>(POSITION_NFT, &mut TxContext): Publisher
47StLoc[5](loc3: Publisher)
48ImmBorrowLoc[5](loc3: Publisher)
49CopyLoc[1](Arg1: &mut TxContext)
50Call display::new<TurbosPositionNFT>(&Publisher, &mut TxContext): Display<TurbosPositionNFT>
51StLoc[2](loc0: Display<TurbosPositionNFT>)
52MutBorrowLoc[2](loc0: Display<TurbosPositionNFT>)
53MoveLoc[3](loc1: vector<String>)
54MoveLoc[4](loc2: vector<String>)
55Call display::add_multiple<TurbosPositionNFT>(&mut Display<TurbosPositionNFT>, vector<String>, vector<String>)
56MutBorrowLoc[2](loc0: Display<TurbosPositionNFT>)
57Call display::update_version<TurbosPositionNFT>(&mut Display<TurbosPositionNFT>)
58MoveLoc[5](loc3: Publisher)
59CopyLoc[1](Arg1: &mut TxContext)
60FreezeRef
61Call tx_context::sender(&TxContext): address
62Call transfer::public_transfer<Publisher>(Publisher, address)
63MoveLoc[2](loc0: Display<TurbosPositionNFT>)
64MoveLoc[1](Arg1: &mut TxContext)
65FreezeRef
66Call tx_context::sender(&TxContext): address
67Call transfer::public_transfer<Display<TurbosPositionNFT>>(Display<TurbosPositionNFT>, address)
68Ret
}
 
public(friend) mint(Arg0: String, Arg1: String, Arg2: String, Arg3: ID, Arg4: ID, Arg5: TypeName, Arg6: TypeName, Arg7: TypeName, Arg8: &mut TxContext): TurbosPositionNFT {
L9: loc0: TurbosPositionNFT
B0:
0CopyLoc[8](Arg8: &mut TxContext)
1Call object::new(&mut TxContext): UID
2MoveLoc[0](Arg0: String)
3MoveLoc[1](Arg1: String)
4MoveLoc[2](Arg2: String)
5Call string::to_ascii(String): String
6Call url::new_unsafe(String): Url
7MoveLoc[3](Arg3: ID)
8MoveLoc[4](Arg4: ID)
9MoveLoc[5](Arg5: TypeName)
10MoveLoc[6](Arg6: TypeName)
11MoveLoc[7](Arg7: TypeName)
12Pack[0](TurbosPositionNFT)
13StLoc[9](loc0: TurbosPositionNFT)
14MoveLoc[8](Arg8: &mut TxContext)
15FreezeRef
16Call tx_context::sender(&TxContext): address
17Pop
18MoveLoc[9](loc0: TurbosPositionNFT)
19Ret
}
 
public(friend) burn(Arg0: TurbosPositionNFT) {
B0:
0MoveLoc[0](Arg0: TurbosPositionNFT)
1Unpack[0](TurbosPositionNFT)
2Pop
3Pop
4Pop
5Pop
6Pop
7Pop
8Pop
9Pop
10Call object::delete(UID)
11Ret
}
 
public pool_id(Arg0: &TurbosPositionNFT): ID {
B0:
0MoveLoc[0](Arg0: &TurbosPositionNFT)
1ImmBorrowField[0](TurbosPositionNFT.pool_id: ID)
2ReadRef
3Ret
}
 
public position_id(Arg0: &TurbosPositionNFT): ID {
B0:
0MoveLoc[0](Arg0: &TurbosPositionNFT)
1ImmBorrowField[1](TurbosPositionNFT.position_id: ID)
2ReadRef
3Ret
}
 
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>: "project_url" // interpreted as UTF8 string
4 => vector<u8>: "creator" // interpreted as UTF8 string
5 => vector<u8>: "{name}" // interpreted as UTF8 string
6 => vector<u8>: "{description}" // interpreted as UTF8 string
7 => vector<u8>: "{img_url}" // interpreted as UTF8 string
8 => vector<u8>: "https://turbos.finance" // interpreted as UTF8 string
9 => vector<u8>: "Turbos Team" // interpreted as UTF8 string
]
}