data_source
Module0x5530…e2c0
- Move path
- 0x5530…e2c0::data_source
- Functions
- 73 public, 0 entry
- Structs
- 1
data_source
- 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
Bytecode116 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v6
module 55300367a2d40813727ccac4ecee977a39fb9cdb46f2e6b2c354b9798f5de2c0.data_source {
use 55300367a2d40813727ccac4ecee977a39fb9cdb46f2e6b2c354b9798f5de2c0::set;
use 0000000000000000000000000000000000000000000000000000000000000002::dynamic_field;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
use 99de5c967d8206ef4b75c0afab3df2a59eb02b05c282821db803831008ac25b4::external_address;
struct DataSource has copy, drop, store {
emitter_chain: u64,
emitter_address: ExternalAddress
}
public(friend) new_data_source_registry(Arg0: &mut UID, Arg1: &mut TxContext) {
B0:
0CopyLoc[0](Arg0: &mut UID)
1FreezeRef
2LdConst[0](vector<u8>: "dat..)
3Call dynamic_field::exists_<vector<u8>>(&UID, vector<u8>): bool
4Not
5BrFalse(7)
B1:
6Branch(13)
B2:
7MoveLoc[0](Arg0: &mut UID)
8Pop
9MoveLoc[1](Arg1: &mut TxContext)
10Pop
11LdConst[1](u64: 0)
12Abort
B3:
13MoveLoc[0](Arg0: &mut UID)
14LdConst[0](vector<u8>: "dat..)
15MoveLoc[1](Arg1: &mut TxContext)
16Call set::new<DataSource>(&mut TxContext): Set<DataSource>
17Call dynamic_field::add<vector<u8>, Set<DataSource>>(&mut UID, vector<u8>, Set<DataSource>)
18Ret
}
public(friend) add(Arg0: &mut UID, Arg1: DataSource) {
L2: loc0: DataSource
B0:
0CopyLoc[0](Arg0: &mut UID)
1CopyLoc[1](Arg1: DataSource)
2StLoc[2](loc0: DataSource)
3FreezeRef
4MoveLoc[2](loc0: DataSource)
5Call contains(&UID, DataSource): bool
6Not
7BrFalse(9)
B1:
8Branch(13)
B2:
9MoveLoc[0](Arg0: &mut UID)
10Pop
11LdConst[2](u64: 1)
12Abort
B3:
13MoveLoc[0](Arg0: &mut UID)
14LdConst[0](vector<u8>: "dat..)
15Call dynamic_field::borrow_mut<vector<u8>, Set<DataSource>>(&mut UID, vector<u8>): &mut Set<DataSource>
16MoveLoc[1](Arg1: DataSource)
17Call set::add<DataSource>(&mut Set<DataSource>, DataSource)
18Ret
}
public(friend) empty(Arg0: &mut UID) {
B0:
0MoveLoc[0](Arg0: &mut UID)
1LdConst[0](vector<u8>: "dat..)
2Call dynamic_field::borrow_mut<vector<u8>, Set<DataSource>>(&mut UID, vector<u8>): &mut Set<DataSource>
3Call set::empty<DataSource>(&mut Set<DataSource>)
4Ret
}
public contains(Arg0: &UID, Arg1: DataSource): bool {
B0:
0MoveLoc[0](Arg0: &UID)
1LdConst[0](vector<u8>: "dat..)
2Call dynamic_field::borrow<vector<u8>, Set<DataSource>>(&UID, vector<u8>): &Set<DataSource>
3MoveLoc[1](Arg1: DataSource)
4Call set::contains<DataSource>(&Set<DataSource>, DataSource): bool
5Ret
}
public(friend) new(Arg0: u64, Arg1: ExternalAddress): DataSource {
B0:
0MoveLoc[0](Arg0: u64)
1MoveLoc[1](Arg1: ExternalAddress)
2Pack[0](DataSource)
3Ret
}
public emitter_chain(Arg0: &DataSource): u64 {
B0:
0MoveLoc[0](Arg0: &DataSource)
1ImmBorrowField[0](DataSource.emitter_chain: u64)
2ReadRef
3Ret
}
public emitter_address(Arg0: &DataSource): ExternalAddress {
B0:
0MoveLoc[0](Arg0: &DataSource)
1ImmBorrowField[1](DataSource.emitter_address: ExternalAddress)
2ReadRef
3Ret
}
Constants [
0 => vector<u8>: "data_sources" // interpreted as UTF8 string
1 => u64: 0
2 => u64: 1
]
}