set_data_sources
Module0x5530…e2c0
- Move path
- 0x5530…e2c0::set_data_sources
- Functions
- 20 public, 0 entry
- Structs
- 1
- Friend modules
- governance
set_data_sources
- accumulator4
- batch_price_attestation6
- contract_upgrade6
- data_source7
- deserialize7
- event2
- governance6
- governance_action8
- governance_instruction6
- hot_potato_vector6
- i646
- merkle_tree8
- migrate2
- price5
- price_feed5
- price_identifier2
- price_info16
- price_status4
- pyth19
- set4
- set_data_sources2
- set_fee_recipient2
- set_governance_data_source2
- set_stale_price_threshold2
- set_update_fee3
- setup2
- state30
- version_control2
Bytecode83 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v6
module 55300367a2d40813727ccac4ecee977a39fb9cdb46f2e6b2c354b9798f5de2c0.set_data_sources {
use 55300367a2d40813727ccac4ecee977a39fb9cdb46f2e6b2c354b9798f5de2c0::data_source;
use 55300367a2d40813727ccac4ecee977a39fb9cdb46f2e6b2c354b9798f5de2c0::deserialize;
use 55300367a2d40813727ccac4ecee977a39fb9cdb46f2e6b2c354b9798f5de2c0::state;
use 99de5c967d8206ef4b75c0afab3df2a59eb02b05c282821db803831008ac25b4::bytes32;
use 99de5c967d8206ef4b75c0afab3df2a59eb02b05c282821db803831008ac25b4::cursor;
use 99de5c967d8206ef4b75c0afab3df2a59eb02b05c282821db803831008ac25b4::external_address;
struct DataSources {
sources: vector<DataSource>
}
public(friend) execute(Arg0: &LatestOnly, Arg1: &mut State, Arg2: vector<u8>) {
L3: loc0: vector<DataSource>
B0:
0MoveLoc[2](Arg2: vector<u8>)
1Call from_byte_vec(vector<u8>): DataSources
2Unpack[0](DataSources)
3StLoc[3](loc0: vector<DataSource>)
4MoveLoc[0](Arg0: &LatestOnly)
5MoveLoc[1](Arg1: &mut State)
6MoveLoc[3](loc0: vector<DataSource>)
7Call state::set_data_sources(&LatestOnly, &mut State, vector<DataSource>)
8Ret
}
from_byte_vec(Arg0: vector<u8>): DataSources {
L1: loc0: Cursor<u8>
L2: loc1: u8
L3: loc2: ExternalAddress
L4: loc3: u16
L5: loc4: u8
L6: loc5: vector<DataSource>
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_u8(&mut Cursor<u8>): u8
5StLoc[2](loc1: u8)
6VecPack(11, 0)
7StLoc[6](loc5: vector<DataSource>)
8LdU8(0)
9StLoc[5](loc4: u8)
B1:
10CopyLoc[5](loc4: u8)
11CopyLoc[2](loc1: u8)
12Lt
13BrFalse(35)
B2:
14Branch(15)
B3:
15MutBorrowLoc[1](loc0: Cursor<u8>)
16Call deserialize::deserialize_u16(&mut Cursor<u8>): u16
17StLoc[4](loc3: u16)
18MutBorrowLoc[1](loc0: Cursor<u8>)
19LdU64(32)
20Call deserialize::deserialize_vector(&mut Cursor<u8>, u64): vector<u8>
21Call bytes32::from_bytes(vector<u8>): Bytes32
22Call external_address::new(Bytes32): ExternalAddress
23StLoc[3](loc2: ExternalAddress)
24MutBorrowLoc[6](loc5: vector<DataSource>)
25MoveLoc[4](loc3: u16)
26CastU64
27MoveLoc[3](loc2: ExternalAddress)
28Call data_source::new(u64, ExternalAddress): DataSource
29VecPushBack(11)
30MoveLoc[5](loc4: u8)
31LdU8(1)
32Add
33StLoc[5](loc4: u8)
34Branch(10)
B4:
35MoveLoc[1](loc0: Cursor<u8>)
36Call cursor::destroy_empty<u8>(Cursor<u8>)
37MoveLoc[6](loc5: vector<DataSource>)
38Pack[0](DataSources)
39Ret
}
}