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

API

NAVIPROTOCOL

Module0xa453…d1de
Move path
0xa453…d1de::NAVIPROTOCOL
Functions
32 public, 2 entry
Structs
4
Friend modules
None
NAVIPROTOCOL

Bytecode194 lines

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

// Move bytecode v6
module a45350f47da51b4da2842d1744c66e929ecb2a9ed6092c2f6bfbdb593fded1de.NAVIPROTOCOL {
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000002::display;
use 0000000000000000000000000000000000000000000000000000000000000002::event;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::package;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
 
struct NAVIPROTOCOL has drop {
dummy_field: bool
}
 
struct REWARD_VOUCHER has store, key {
id: UID,
name: String,
image_url: String,
description: String,
Reward: String
}
 
struct MintEvent has copy, drop {
nft_id: ID,
user: address,
name: String,
image_url: String,
description: String,
Reward: String
}
 
struct BurnEvent has copy, drop {
nft_id: ID,
user: address,
name: String,
image_url: String,
description: String,
Reward: String
}
 
entry public burn_nft(Arg0: REWARD_VOUCHER, Arg1: &mut TxContext) {
L2: loc0: String
L3: loc1: String
L4: loc2: String
L5: loc3: UID
L6: loc4: String
B0:
0MoveLoc[0](Arg0: REWARD_VOUCHER)
1Unpack[1](REWARD_VOUCHER)
2StLoc[6](loc4: String)
3StLoc[4](loc2: String)
4StLoc[3](loc1: String)
5StLoc[2](loc0: String)
6StLoc[5](loc3: UID)
7ImmBorrowLoc[5](loc3: UID)
8Call object::uid_to_inner(&UID): ID
9MoveLoc[1](Arg1: &mut TxContext)
10FreezeRef
11Call tx_context::sender(&TxContext): address
12MoveLoc[2](loc0: String)
13MoveLoc[3](loc1: String)
14MoveLoc[4](loc2: String)
15MoveLoc[6](loc4: String)
16Pack[3](BurnEvent)
17Call event::emit<BurnEvent>(BurnEvent)
18MoveLoc[5](loc3: UID)
19Call object::delete(UID)
20Ret
}
 
init(Arg0: NAVIPROTOCOL, Arg1: &mut TxContext) {
L2: loc0: vector<String>
L3: loc1: vector<String>
L4: loc2: Publisher
L5: loc3: Display<REWARD_VOUCHER>
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
6LdConst[3](vector<u8>: "pro..)
7Call string::utf8(vector<u8>): String
8LdConst[4](vector<u8>: "cre..)
9Call string::utf8(vector<u8>): String
10LdConst[5](vector<u8>: "Rew..)
11Call string::utf8(vector<u8>): String
12VecPack(14, 6)
13StLoc[2](loc0: vector<String>)
14LdConst[6](vector<u8>: "100..)
15Call string::utf8(vector<u8>): String
16LdConst[7](vector<u8>: "htt..)
17Call string::utf8(vector<u8>): String
18LdConst[8](vector<u8>: "Thi..)
19Call string::utf8(vector<u8>): String
20LdConst[9](vector<u8>: "htt..)
21Call string::utf8(vector<u8>): String
22LdConst[10](vector<u8>: "NAV..)
23Call string::utf8(vector<u8>): String
24LdConst[11](vector<u8>: "100..)
25Call string::utf8(vector<u8>): String
26VecPack(14, 6)
27StLoc[3](loc1: vector<String>)
28MoveLoc[0](Arg0: NAVIPROTOCOL)
29CopyLoc[1](Arg1: &mut TxContext)
30Call package::claim<NAVIPROTOCOL>(NAVIPROTOCOL, &mut TxContext): Publisher
31StLoc[4](loc2: Publisher)
32ImmBorrowLoc[4](loc2: Publisher)
33MoveLoc[2](loc0: vector<String>)
34MoveLoc[3](loc1: vector<String>)
35CopyLoc[1](Arg1: &mut TxContext)
36Call display::new_with_fields<REWARD_VOUCHER>(&Publisher, vector<String>, vector<String>, &mut TxContext): Display<REWARD_VOUCHER>
37StLoc[5](loc3: Display<REWARD_VOUCHER>)
38MutBorrowLoc[5](loc3: Display<REWARD_VOUCHER>)
39Call display::update_version<REWARD_VOUCHER>(&mut Display<REWARD_VOUCHER>)
40MoveLoc[4](loc2: Publisher)
41CopyLoc[1](Arg1: &mut TxContext)
42FreezeRef
43Call tx_context::sender(&TxContext): address
44Call transfer::public_transfer<Publisher>(Publisher, address)
45MoveLoc[5](loc3: Display<REWARD_VOUCHER>)
46MoveLoc[1](Arg1: &mut TxContext)
47FreezeRef
48Call tx_context::sender(&TxContext): address
49Call transfer::public_transfer<Display<REWARD_VOUCHER>>(Display<REWARD_VOUCHER>, address)
50Ret
}
 
entry public Reward(Arg0: vector<address>, Arg1: &mut TxContext) {
L2: loc0: REWARD_VOUCHER
B0:
0ImmBorrowLoc[0](Arg0: vector<address>)
1VecLen(8)
2LdU64(0)
3Gt
4BrFalse(38)
B1:
5Branch(6)
B2:
6CopyLoc[1](Arg1: &mut TxContext)
7Call object::new(&mut TxContext): UID
8LdConst[6](vector<u8>: "100..)
9Call string::utf8(vector<u8>): String
10LdConst[7](vector<u8>: "htt..)
11Call string::utf8(vector<u8>): String
12LdConst[8](vector<u8>: "Thi..)
13Call string::utf8(vector<u8>): String
14LdConst[11](vector<u8>: "100..)
15Call string::utf8(vector<u8>): String
16Pack[1](REWARD_VOUCHER)
17StLoc[2](loc0: REWARD_VOUCHER)
18ImmBorrowLoc[2](loc0: REWARD_VOUCHER)
19Call object::id<REWARD_VOUCHER>(&REWARD_VOUCHER): ID
20CopyLoc[1](Arg1: &mut TxContext)
21FreezeRef
22Call tx_context::sender(&TxContext): address
23LdConst[6](vector<u8>: "100..)
24Call string::utf8(vector<u8>): String
25LdConst[7](vector<u8>: "htt..)
26Call string::utf8(vector<u8>): String
27LdConst[8](vector<u8>: "Thi..)
28Call string::utf8(vector<u8>): String
29LdConst[11](vector<u8>: "100..)
30Call string::utf8(vector<u8>): String
31Pack[2](MintEvent)
32Call event::emit<MintEvent>(MintEvent)
33MoveLoc[2](loc0: REWARD_VOUCHER)
34MutBorrowLoc[0](Arg0: vector<address>)
35VecPopBack(8)
36Call transfer::public_transfer<REWARD_VOUCHER>(REWARD_VOUCHER, address)
37Branch(0)
B3:
38MoveLoc[1](Arg1: &mut TxContext)
39Pop
40Ret
}
 
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>: "project_url" // interpreted as UTF8 string
4 => vector<u8>: "creator" // interpreted as UTF8 string
5 => vector<u8>: "Reward" // interpreted as UTF8 string
6 => vector<u8>: "100000 NAVX Reward" // interpreted as UTF8 string
7 => vector<u8>: "https://suicamp.b-cdn.net/navirewardcom/navireward_0629_3.jpg" // interpreted as UTF8 string
8 => vector<u8>: "This voucher guarantees you 100,000 NAVX Reward at navireward.com." // interpreted as UTF8 string
9 => vector<u8>: "https://navireward.com" // interpreted as UTF8 string
10 => vector<u8>: "NAVI PROTOCOL" // interpreted as UTF8 string
11 => vector<u8>: "100000 NAVX" // interpreted as UTF8 string
]
}