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

Pyth package

set_governance_data_source

Move path
0x5530…e2c0::set_governance_data_source
Functions
20 public, 0 entry
Structs
1
Friend modules
governance
set_governance_data_source

Bytecode72 lines

The on-chain disassembly. Offsets are instruction numbers within each function.

// Move bytecode v6
module 55300367a2d40813727ccac4ecee977a39fb9cdb46f2e6b2c354b9798f5de2c0.set_governance_data_source {
use 55300367a2d40813727ccac4ecee977a39fb9cdb46f2e6b2c354b9798f5de2c0::data_source;
use 55300367a2d40813727ccac4ecee977a39fb9cdb46f2e6b2c354b9798f5de2c0::deserialize;
use 55300367a2d40813727ccac4ecee977a39fb9cdb46f2e6b2c354b9798f5de2c0::state;
use 99de5c967d8206ef4b75c0afab3df2a59eb02b05c282821db803831008ac25b4::bytes32;
use 99de5c967d8206ef4b75c0afab3df2a59eb02b05c282821db803831008ac25b4::cursor;
use 99de5c967d8206ef4b75c0afab3df2a59eb02b05c282821db803831008ac25b4::external_address;
 
struct GovernanceDataSource {
emitter_chain_id: u64,
emitter_address: ExternalAddress,
initial_sequence: u64
}
 
public(friend) execute(Arg0: &LatestOnly, Arg1: &mut State, Arg2: vector<u8>) {
L3: loc0: ExternalAddress
L4: loc1: u64
L5: loc2: u64
B0:
0MoveLoc[2](Arg2: vector<u8>)
1Call from_byte_vec(vector<u8>): GovernanceDataSource
2Unpack[0](GovernanceDataSource)
3StLoc[5](loc2: u64)
4StLoc[3](loc0: ExternalAddress)
5StLoc[4](loc1: u64)
6CopyLoc[0](Arg0: &LatestOnly)
7CopyLoc[1](Arg1: &mut State)
8MoveLoc[4](loc1: u64)
9MoveLoc[3](loc0: ExternalAddress)
10Call data_source::new(u64, ExternalAddress): DataSource
11Call state::set_governance_data_source(&LatestOnly, &mut State, DataSource)
12MoveLoc[0](Arg0: &LatestOnly)
13MoveLoc[1](Arg1: &mut State)
14MoveLoc[5](loc2: u64)
15Call state::set_last_executed_governance_sequence(&LatestOnly, &mut State, u64)
16Ret
}
 
from_byte_vec(Arg0: vector<u8>): GovernanceDataSource {
L1: loc0: Cursor<u8>
L2: loc1: ExternalAddress
L3: loc2: u16
L4: loc3: u64
B0:
0MoveLoc[0](Arg0: vector<u8>)
1Call cursor::new<u8>(vector<u8>): Cursor<u8>
2StLoc[1](loc0: Cursor<u8>)
3MutBorrowLoc[1](loc0: Cursor<u8>)
4Call deserialize::deserialize_u16(&mut Cursor<u8>): u16
5StLoc[3](loc2: u16)
6MutBorrowLoc[1](loc0: Cursor<u8>)
7LdU64(32)
8Call deserialize::deserialize_vector(&mut Cursor<u8>, u64): vector<u8>
9Call bytes32::from_bytes(vector<u8>): Bytes32
10Call external_address::new(Bytes32): ExternalAddress
11StLoc[2](loc1: ExternalAddress)
12MutBorrowLoc[1](loc0: Cursor<u8>)
13Call deserialize::deserialize_u64(&mut Cursor<u8>): u64
14StLoc[4](loc3: u64)
15MoveLoc[1](loc0: Cursor<u8>)
16Call cursor::destroy_empty<u8>(Cursor<u8>)
17MoveLoc[3](loc2: u16)
18CastU64
19MoveLoc[2](loc1: ExternalAddress)
20MoveLoc[4](loc3: u64)
21Pack[0](GovernanceDataSource)
22Ret
}
 
}