#[repr(packed(1))]pub struct OracleQueueAccountData {Show 23 fields
pub name: [u8; 32],
pub metadata: [u8; 64],
pub authority: Pubkey,
pub oracle_timeout: u32,
pub reward: u64,
pub min_stake: u64,
pub slashing_enabled: bool,
pub variance_tolerance_multiplier: SwitchboardDecimal,
pub feed_probation_period: u32,
pub curr_idx: u32,
pub size: u32,
pub gc_idx: u32,
pub consecutive_feed_failure_limit: u64,
pub consecutive_oracle_failure_limit: u64,
pub unpermissioned_feeds_enabled: bool,
pub unpermissioned_vrf_enabled: bool,
pub curator_reward_cut: SwitchboardDecimal,
pub lock_lease_funding: bool,
pub mint: Pubkey,
pub enable_buffer_relayers: bool,
pub _ebuf: [u8; 968],
pub max_size: u32,
pub data_buffer: Pubkey,
}
Fields§
§name: [u8; 32]
Name of the queue to store on-chain.
metadata: [u8; 64]
Metadata of the queue to store on-chain.
The account delegated as the authority for making account changes or assigning permissions targeted at the queue.
oracle_timeout: u32
Interval when stale oracles will be removed if they fail to heartbeat.
reward: u64
Rewards to provide oracles and round openers on this queue.
min_stake: u64
The minimum amount of stake oracles must present to remain on the queue.
slashing_enabled: bool
Whether slashing is enabled on this queue.
variance_tolerance_multiplier: SwitchboardDecimal
The tolerated variance amount oracle results can have from the accepted round result before being slashed. slashBound = varianceToleranceMultiplier * stdDeviation Default: 2
feed_probation_period: u32
Number of update rounds new feeds are on probation for. If a feed returns 429s within probation period, auto disable permissions.
curr_idx: u32
Current index of the oracle rotation.
size: u32
Current number of oracles on a queue.
gc_idx: u32
Garbage collection index.
consecutive_feed_failure_limit: u64
Consecutive failure limit for a feed before feed permission is revoked.
consecutive_oracle_failure_limit: u64
Consecutive failure limit for an oracle before oracle permission is revoked.
unpermissioned_feeds_enabled: bool
Enabling this setting means data feeds do not need explicit permission to join the queue and request new values from its oracles.
unpermissioned_vrf_enabled: bool
Enabling this setting means VRF accounts do not need explicit permission to join the queue and request new values from its oracles.
curator_reward_cut: SwitchboardDecimal
TODO: Revenue percentage rewarded to job curators overall.
lock_lease_funding: bool
Prevent new leases from being funded n this queue. Useful to turn down a queue for migrations, since authority is always immutable.
mint: Pubkey
Token mint used for the oracle queue rewards and slashing.
enable_buffer_relayers: bool
Whether oracles are permitted to fulfill buffer relayer update request.
_ebuf: [u8; 968]
Reserved for future info.
max_size: u32
Maximum number of oracles a queue can support.
data_buffer: Pubkey
The public key of the OracleQueueBuffer account holding a collection of Oracle pubkeys that haver successfully heartbeated before the queues oracleTimeout
.
Implementations§
source§impl OracleQueueAccountData
impl OracleQueueAccountData
pub fn size() -> usize
pub fn convert_buffer(buf: &mut [u8]) -> &mut [Pubkey]
pub fn len(&self) -> u32
pub fn is_empty(&self) -> bool
pub fn get_mint(&self) -> Pubkey
pub fn max_round_rewards(&self, batch_size: u32) -> u64
sourcepub fn new<'info>(
account_info: &'info AccountInfo<'info>
) -> Result<Ref<'info, Self>>
pub fn new<'info>( account_info: &'info AccountInfo<'info> ) -> Result<Ref<'info, Self>>
sourcepub fn new_from_bytes(data: &[u8]) -> Result<&OracleQueueAccountData>
pub fn new_from_bytes(data: &[u8]) -> Result<&OracleQueueAccountData>
pub fn fetch(client: &RpcClient, pubkey: Pubkey) -> Result<Self, SbError>
pub async fn fetch_async( client: &RpcClient, pubkey: Pubkey ) -> Result<Self, SbError>
pub fn fetch_sync<T: SyncClient>( client: &T, pubkey: Pubkey ) -> Result<Self, SbError>
pub async fn fetch_buffer( &self, client: &RpcClient ) -> Result<Vec<Pubkey>, SwitchboardError>
pub async fn fetch_garbage_collection_key( &self, client: &RpcClient ) -> Result<Option<Pubkey>, SwitchboardError>
Trait Implementations§
source§impl AccountDeserialize for OracleQueueAccountData
impl AccountDeserialize for OracleQueueAccountData
source§fn try_deserialize(buf: &mut &[u8]) -> Result<Self>
fn try_deserialize(buf: &mut &[u8]) -> Result<Self>
Mint
account into a token
Account
.source§fn try_deserialize_unchecked(buf: &mut &[u8]) -> Result<Self>
fn try_deserialize_unchecked(buf: &mut &[u8]) -> Result<Self>
source§impl Clone for OracleQueueAccountData
impl Clone for OracleQueueAccountData
source§fn clone(&self) -> OracleQueueAccountData
fn clone(&self) -> OracleQueueAccountData
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Default for OracleQueueAccountData
impl Default for OracleQueueAccountData
source§impl Discriminator for OracleQueueAccountData
impl Discriminator for OracleQueueAccountData
const DISCRIMINATOR: [u8; 8] = _
fn discriminator() -> [u8; 8]
impl Copy for OracleQueueAccountData
impl Pod for OracleQueueAccountData
impl ZeroCopy for OracleQueueAccountData
Auto Trait Implementations§
impl RefUnwindSafe for OracleQueueAccountData
impl Send for OracleQueueAccountData
impl Sync for OracleQueueAccountData
impl Unpin for OracleQueueAccountData
impl UnwindSafe for OracleQueueAccountData
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
§type Bits = T
type Bits = T
Self
must have the same layout as the specified Bits
except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern
.§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self
.