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

API

node

Module0x8bbb…f223
Move path
0xfd2e…df8b::node
Functions
107 public, 1 entry
Structs
1
node

Bytecode151 lines

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

// Move bytecode v6
module fd2e0f4383df3ec9106326dcd9a20510cdce72146754296deed15403fcd3df8b.node {
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use fd2e0f4383df3ec9106326dcd9a20510cdce72146754296deed15403fcd3df8b::switchboard;
use 08d79f4d920b03d88faca1e421af023a87fbb1e4a6fd200248e6e9998d09e470::errors;
 
struct Node has key {
id: UID,
authority: address,
owner: address,
queue_addr: address,
last_heartbeat: u64,
version: u64
}
 
public(friend) new(Arg0: address, Arg1: address, Arg2: address, Arg3: &mut TxContext): Node {
L4: loc0: UID
L5: loc1: address
L6: loc2: address
L7: loc3: address
L8: loc4: u64
B0:
0MoveLoc[3](Arg3: &mut TxContext)
1Call object::new(&mut TxContext): UID
2StLoc[4](loc0: UID)
3MoveLoc[0](Arg0: address)
4StLoc[5](loc1: address)
5MoveLoc[2](Arg2: address)
6StLoc[6](loc2: address)
7MoveLoc[1](Arg1: address)
8StLoc[7](loc3: address)
9Call switchboard::version(): u64
10StLoc[8](loc4: u64)
11MoveLoc[4](loc0: UID)
12MoveLoc[5](loc1: address)
13MoveLoc[7](loc3: address)
14MoveLoc[6](loc2: address)
15LdU64(0)
16MoveLoc[8](loc4: u64)
17Pack[0](Node)
18Ret
}
 
public authority(Arg0: &Node): address {
B0:
0MoveLoc[0](Arg0: &Node)
1ImmBorrowField[0](Node.authority: address)
2ReadRef
3Ret
}
 
public queue_addr(Arg0: &Node): address {
B0:
0MoveLoc[0](Arg0: &Node)
1ImmBorrowField[1](Node.queue_addr: address)
2ReadRef
3Ret
}
 
public last_heartbeat(Arg0: &Node): u64 {
B0:
0MoveLoc[0](Arg0: &Node)
1ImmBorrowField[2](Node.last_heartbeat: u64)
2ReadRef
3Ret
}
 
public node_address(Arg0: &Node): address {
B0:
0MoveLoc[0](Arg0: &Node)
1ImmBorrowField[3](Node.id: UID)
2Call object::uid_to_address(&UID): address
3Ret
}
 
public owner(Arg0: &Node): address {
B0:
0MoveLoc[0](Arg0: &Node)
1ImmBorrowField[4](Node.owner: address)
2ReadRef
3Ret
}
 
public has_authority(Arg0: &Node, Arg1: &TxContext): bool {
B0:
0MoveLoc[0](Arg0: &Node)
1ImmBorrowField[0](Node.authority: address)
2ReadRef
3MoveLoc[1](Arg1: &TxContext)
4Call tx_context::sender(&TxContext): address
5Eq
6Ret
}
 
public share_node(Arg0: Node) {
B0:
0MoveLoc[0](Arg0: Node)
1Call transfer::share_object<Node>(Node)
2Ret
}
 
public(friend) set_last_heartbeat(Arg0: &mut Node, Arg1: u64) {
B0:
0CopyLoc[0](Arg0: &mut Node)
1ImmBorrowField[5](Node.version: u64)
2ReadRef
3Call switchboard::version(): u64
4Eq
5BrFalse(7)
B1:
6Branch(11)
B2:
7MoveLoc[0](Arg0: &mut Node)
8Pop
9Call errors::InvalidVersion(): u64
10Abort
B3:
11MoveLoc[1](Arg1: u64)
12MoveLoc[0](Arg0: &mut Node)
13MutBorrowField[2](Node.last_heartbeat: u64)
14WriteRef
15Ret
}
 
entry migrate(Arg0: &mut Node, Arg1: &AdminCap) {
B0:
0CopyLoc[0](Arg0: &mut Node)
1ImmBorrowField[5](Node.version: u64)
2ReadRef
3Call switchboard::version(): u64
4Lt
5BrFalse(7)
B1:
6Branch(11)
B2:
7MoveLoc[0](Arg0: &mut Node)
8Pop
9Call errors::InvalidPackage(): u64
10Abort
B3:
11Call switchboard::version(): u64
12MoveLoc[0](Arg0: &mut Node)
13MutBorrowField[5](Node.version: u64)
14WriteRef
15Ret
}
 
}