queue
Module0xf347…64f9
- Move path
- 0xc3c7…8ea3::queue
- Functions
- 2919 public, 0 entry
- Structs
- 2
queue
- aggregator35
- aggregator_delete_action3
- aggregator_init_action3
- aggregator_set_authority_action3
- aggregator_set_configs_action3
- aggregator_submit_result_action3
- decimal20
- emergency_action3
- guardian_queue_init_action3
- hash17
- on_demand7
- oracle16
- oracle_attest_action3
- oracle_init_action3
- oracle_queue_init_action3
- queue29
- queue_add_fee_coin_action3
- queue_override_oracle_action3
- queue_remove_fee_coin_action3
- queue_set_authority_action3
- queue_set_configs_action3
- quote17
- quote_emit_result_action1
- quote_submit_action21
- set_guardian_queue_id_action3
- set_oracle_queue_id_action3
- set_package_id_action3
Bytecode397 lines
The on-chain disassembly. Offsets are bytecode positions within each function.
// Move bytecode v7
module c3c7e6eb7202e9fb0389a2f7542b91cc40e4f7a33c02554fec11c4c92f938ea3.queue {
use 0000000000000000000000000000000000000000000000000000000000000001::string;
use 0000000000000000000000000000000000000000000000000000000000000001::type_name;
use 0000000000000000000000000000000000000000000000000000000000000001::vector;
use 0000000000000000000000000000000000000000000000000000000000000002::coin;
use 0000000000000000000000000000000000000000000000000000000000000002::object;
use 0000000000000000000000000000000000000000000000000000000000000002::sui;
use 0000000000000000000000000000000000000000000000000000000000000002::table;
use 0000000000000000000000000000000000000000000000000000000000000002::transfer;
use 0000000000000000000000000000000000000000000000000000000000000002::tx_context;
struct ExistingOracle has copy, drop, store {
oracle_id: ID,
oracle_key: vector<u8>
}
struct Queue has key {
id: UID,
queue_key: vector<u8>,
authority: address,
name: String,
fee: u64,
fee_recipient: address,
min_attestations: u64,
oracle_validity_length_ms: u64,
last_queue_override_ms: u64,
guardian_queue_id: ID,
existing_oracles: Table<vector<u8>, ExistingOracle>,
fee_types: vector<TypeName>,
version: u8
}
public id(Arg0: &Queue): ID {
B0:
0MoveLoc[0](Arg0: &Queue)
1ImmBorrowField[0](Queue.id: UID)
2Call object::uid_to_inner(&UID): ID
3Ret
}
public queue_key(Arg0: &Queue): vector<u8> {
B0:
0MoveLoc[0](Arg0: &Queue)
1ImmBorrowField[1](Queue.queue_key: vector<u8>)
2ReadRef
3Ret
}
public authority(Arg0: &Queue): address {
B0:
0MoveLoc[0](Arg0: &Queue)
1ImmBorrowField[2](Queue.authority: address)
2ReadRef
3Ret
}
public name(Arg0: &Queue): String {
B0:
0MoveLoc[0](Arg0: &Queue)
1ImmBorrowField[3](Queue.name: String)
2ReadRef
3Ret
}
public fee(Arg0: &Queue): u64 {
B0:
0MoveLoc[0](Arg0: &Queue)
1ImmBorrowField[4](Queue.fee: u64)
2ReadRef
3Ret
}
public fee_recipient(Arg0: &Queue): address {
B0:
0MoveLoc[0](Arg0: &Queue)
1ImmBorrowField[5](Queue.fee_recipient: address)
2ReadRef
3Ret
}
public min_attestations(Arg0: &Queue): u64 {
B0:
0MoveLoc[0](Arg0: &Queue)
1ImmBorrowField[6](Queue.min_attestations: u64)
2ReadRef
3Ret
}
public oracle_validity_length_ms(Arg0: &Queue): u64 {
B0:
0MoveLoc[0](Arg0: &Queue)
1ImmBorrowField[7](Queue.oracle_validity_length_ms: u64)
2ReadRef
3Ret
}
public last_queue_override_ms(Arg0: &Queue): u64 {
B0:
0MoveLoc[0](Arg0: &Queue)
1ImmBorrowField[8](Queue.last_queue_override_ms: u64)
2ReadRef
3Ret
}
public guardian_queue_id(Arg0: &Queue): ID {
B0:
0MoveLoc[0](Arg0: &Queue)
1ImmBorrowField[9](Queue.guardian_queue_id: ID)
2ReadRef
3Ret
}
public existing_oracles(Arg0: &Queue): &Table<vector<u8>, ExistingOracle> {
B0:
0MoveLoc[0](Arg0: &Queue)
1ImmBorrowField[10](Queue.existing_oracles: Table<vector<u8>, ExistingOracle>)
2Ret
}
public fee_types(Arg0: &Queue): vector<TypeName> {
B0:
0MoveLoc[0](Arg0: &Queue)
1ImmBorrowField[11](Queue.fee_types: vector<TypeName>)
2ReadRef
3Ret
}
public is_paused(Arg0: &Queue): bool {
B0:
0MoveLoc[0](Arg0: &Queue)
1ImmBorrowField[11](Queue.fee_types: vector<TypeName>)
2Call vector::is_empty<TypeName>(&vector<TypeName>): bool
3Ret
}
public version(Arg0: &Queue): u8 {
B0:
0MoveLoc[0](Arg0: &Queue)
1ImmBorrowField[12](Queue.version: u8)
2ReadRef
3Ret
}
public existing_oracles_contains(Arg0: &Queue, Arg1: vector<u8>): bool {
B0:
0MoveLoc[0](Arg0: &Queue)
1ImmBorrowField[10](Queue.existing_oracles: Table<vector<u8>, ExistingOracle>)
2MoveLoc[1](Arg1: vector<u8>)
3Call table::contains<vector<u8>, ExistingOracle>(&Table<vector<u8>, ExistingOracle>, vector<u8>): bool
4Ret
}
public has_authority(Arg0: &Queue, Arg1: &TxContext): bool {
B0:
0MoveLoc[0](Arg0: &Queue)
1ImmBorrowField[2](Queue.authority: address)
2ReadRef
3MoveLoc[1](Arg1: &TxContext)
4Call tx_context::sender(&TxContext): address
5Eq
6Ret
}
public has_fee_type<Ty0>(Arg0: &Queue): bool {
L1: loc0: TypeName
L2: loc1: &vector<TypeName>
B0:
0MoveLoc[0](Arg0: &Queue)
1ImmBorrowField[11](Queue.fee_types: vector<TypeName>)
2StLoc[2](loc1: &vector<TypeName>)
3Call type_name::with_defining_ids<Coin<Ty0>>(): TypeName
4StLoc[1](loc0: TypeName)
5MoveLoc[2](loc1: &vector<TypeName>)
6ImmBorrowLoc[1](loc0: TypeName)
7Call vector::contains<TypeName>(&vector<TypeName>, &TypeName): bool
8Ret
}
public oracle_id(Arg0: &ExistingOracle): ID {
B0:
0MoveLoc[0](Arg0: &ExistingOracle)
1ImmBorrowField[13](ExistingOracle.oracle_id: ID)
2ReadRef
3Ret
}
public oracle_key(Arg0: &ExistingOracle): vector<u8> {
B0:
0MoveLoc[0](Arg0: &ExistingOracle)
1ImmBorrowField[14](ExistingOracle.oracle_key: vector<u8>)
2ReadRef
3Ret
}
public(friend) new(Arg0: vector<u8>, Arg1: address, Arg2: String, Arg3: u64, Arg4: address, Arg5: u64, Arg6: u64, Arg7: ID, Arg8: bool, Arg9: &mut TxContext): ID {
L10: loc0: ID
L11: loc1: UID
L12: loc2: ID
B0:
0CopyLoc[9](Arg9: &mut TxContext)
1Call object::new(&mut TxContext): UID
2StLoc[11](loc1: UID)
3ImmBorrowLoc[11](loc1: UID)
4Call object::uid_as_inner(&UID): &ID
5ReadRef
6StLoc[12](loc2: ID)
7MoveLoc[8](Arg8: bool)
8BrFalse(31)
B1:
9ImmBorrowLoc[11](loc1: UID)
10Call object::uid_as_inner(&UID): &ID
11ReadRef
12StLoc[10](loc0: ID)
13MoveLoc[11](loc1: UID)
14MoveLoc[0](Arg0: vector<u8>)
15MoveLoc[1](Arg1: address)
16MoveLoc[2](Arg2: String)
17MoveLoc[3](Arg3: u64)
18MoveLoc[4](Arg4: address)
19MoveLoc[5](Arg5: u64)
20MoveLoc[6](Arg6: u64)
21LdU64(0)
22MoveLoc[10](loc0: ID)
23MoveLoc[9](Arg9: &mut TxContext)
24Call table::new<vector<u8>, ExistingOracle>(&mut TxContext): Table<vector<u8>, ExistingOracle>
25Call type_name::with_defining_ids<Coin<SUI>>(): TypeName
26Call vector::singleton<TypeName>(TypeName): vector<TypeName>
27LdConst[0](u8: 1)
28Pack[1](Queue)
29Call transfer::share_object<Queue>(Queue)
30Branch(48)
B2:
31MoveLoc[11](loc1: UID)
32MoveLoc[0](Arg0: vector<u8>)
33MoveLoc[1](Arg1: address)
34MoveLoc[2](Arg2: String)
35MoveLoc[3](Arg3: u64)
36MoveLoc[4](Arg4: address)
37MoveLoc[5](Arg5: u64)
38MoveLoc[6](Arg6: u64)
39LdU64(0)
40MoveLoc[7](Arg7: ID)
41MoveLoc[9](Arg9: &mut TxContext)
42Call table::new<vector<u8>, ExistingOracle>(&mut TxContext): Table<vector<u8>, ExistingOracle>
43Call type_name::with_defining_ids<Coin<SUI>>(): TypeName
44Call vector::singleton<TypeName>(TypeName): vector<TypeName>
45LdConst[0](u8: 1)
46Pack[1](Queue)
47Call transfer::share_object<Queue>(Queue)
B3:
48MoveLoc[12](loc2: ID)
49Ret
}
public(friend) add_existing_oracle(Arg0: &mut Queue, Arg1: vector<u8>, Arg2: ID) {
B0:
0MoveLoc[0](Arg0: &mut Queue)
1MutBorrowField[10](Queue.existing_oracles: Table<vector<u8>, ExistingOracle>)
2CopyLoc[1](Arg1: vector<u8>)
3MoveLoc[2](Arg2: ID)
4MoveLoc[1](Arg1: vector<u8>)
5Pack[0](ExistingOracle)
6Call table::add<vector<u8>, ExistingOracle>(&mut Table<vector<u8>, ExistingOracle>, vector<u8>, ExistingOracle)
7Ret
}
public(friend) set_last_queue_override_ms(Arg0: &mut Queue, Arg1: u64) {
B0:
0MoveLoc[1](Arg1: u64)
1MoveLoc[0](Arg0: &mut Queue)
2MutBorrowField[8](Queue.last_queue_override_ms: u64)
3WriteRef
4Ret
}
public(friend) set_guardian_queue_id(Arg0: &mut Queue, Arg1: ID) {
B0:
0MoveLoc[1](Arg1: ID)
1MoveLoc[0](Arg0: &mut Queue)
2MutBorrowField[9](Queue.guardian_queue_id: ID)
3WriteRef
4Ret
}
public(friend) set_queue_key(Arg0: &mut Queue, Arg1: vector<u8>) {
B0:
0MoveLoc[1](Arg1: vector<u8>)
1MoveLoc[0](Arg0: &mut Queue)
2MutBorrowField[1](Queue.queue_key: vector<u8>)
3WriteRef
4Ret
}
public(friend) set_authority(Arg0: &mut Queue, Arg1: address) {
B0:
0MoveLoc[1](Arg1: address)
1MoveLoc[0](Arg0: &mut Queue)
2MutBorrowField[2](Queue.authority: address)
3WriteRef
4Ret
}
public(friend) set_version(Arg0: &mut Queue, Arg1: u8) {
B0:
0MoveLoc[1](Arg1: u8)
1MoveLoc[0](Arg0: &mut Queue)
2MutBorrowField[12](Queue.version: u8)
3WriteRef
4Ret
}
public(friend) set_configs(Arg0: &mut Queue, Arg1: String, Arg2: u64, Arg3: address, Arg4: u64, Arg5: u64) {
B0:
0MoveLoc[1](Arg1: String)
1CopyLoc[0](Arg0: &mut Queue)
2MutBorrowField[3](Queue.name: String)
3WriteRef
4MoveLoc[2](Arg2: u64)
5CopyLoc[0](Arg0: &mut Queue)
6MutBorrowField[4](Queue.fee: u64)
7WriteRef
8MoveLoc[3](Arg3: address)
9CopyLoc[0](Arg0: &mut Queue)
10MutBorrowField[5](Queue.fee_recipient: address)
11WriteRef
12MoveLoc[4](Arg4: u64)
13CopyLoc[0](Arg0: &mut Queue)
14MutBorrowField[6](Queue.min_attestations: u64)
15WriteRef
16MoveLoc[5](Arg5: u64)
17MoveLoc[0](Arg0: &mut Queue)
18MutBorrowField[7](Queue.oracle_validity_length_ms: u64)
19WriteRef
20Ret
}
public(friend) add_fee_type<Ty0>(Arg0: &mut Queue) {
L1: loc0: TypeName
L2: loc1: &vector<TypeName>
B0:
0CopyLoc[0](Arg0: &mut Queue)
1ImmBorrowField[11](Queue.fee_types: vector<TypeName>)
2StLoc[2](loc1: &vector<TypeName>)
3Call type_name::with_defining_ids<Coin<Ty0>>(): TypeName
4StLoc[1](loc0: TypeName)
5MoveLoc[2](loc1: &vector<TypeName>)
6ImmBorrowLoc[1](loc0: TypeName)
7Call vector::contains<TypeName>(&vector<TypeName>, &TypeName): bool
8BrFalse(12)
B1:
9MoveLoc[0](Arg0: &mut Queue)
10Pop
11Ret
B2:
12MoveLoc[0](Arg0: &mut Queue)
13MutBorrowField[11](Queue.fee_types: vector<TypeName>)
14Call type_name::with_defining_ids<Coin<Ty0>>(): TypeName
15VecPushBack(24)
16Ret
}
public(friend) remove_fee_type<Ty0>(Arg0: &mut Queue) {
L1: loc0: TypeName
L2: loc1: &vector<TypeName>
L3: loc2: u64
B0:
0CopyLoc[0](Arg0: &mut Queue)
1ImmBorrowField[11](Queue.fee_types: vector<TypeName>)
2StLoc[2](loc1: &vector<TypeName>)
3Call type_name::with_defining_ids<Coin<Ty0>>(): TypeName
4StLoc[1](loc0: TypeName)
5MoveLoc[2](loc1: &vector<TypeName>)
6ImmBorrowLoc[1](loc0: TypeName)
7Call vector::index_of<TypeName>(&vector<TypeName>, &TypeName): bool * u64
8StLoc[3](loc2: u64)
9LdFalse
10Eq
11BrFalse(15)
B1:
12MoveLoc[0](Arg0: &mut Queue)
13Pop
14Ret
B2:
15MoveLoc[0](Arg0: &mut Queue)
16MutBorrowField[11](Queue.fee_types: vector<TypeName>)
17MoveLoc[3](loc2: u64)
18Call vector::swap_remove<TypeName>(&mut vector<TypeName>, u64): TypeName
19Pop
20Ret
}
Constants [
0 => u8: 1
]
}