#[repr(packed)]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: u32Interval when stale oracles will be removed if they fail to heartbeat.
reward: u64Rewards to provide oracles and round openers on this queue.
min_stake: u64The minimum amount of stake oracles must present to remain on the queue.
slashing_enabled: boolWhether slashing is enabled on this queue.
variance_tolerance_multiplier: SwitchboardDecimalThe tolerated variance amount oracle results can have from the accepted round result before being slashed. slashBound = varianceToleranceMultiplier * stdDeviation Default: 2
feed_probation_period: u32Number of update rounds new feeds are on probation for. If a feed returns 429s within probation period, auto disable permissions.
curr_idx: u32Current index of the oracle rotation.
size: u32Current number of oracles on a queue.
gc_idx: u32Garbage collection index.
consecutive_feed_failure_limit: u64Consecutive failure limit for a feed before feed permission is revoked.
consecutive_oracle_failure_limit: u64Consecutive failure limit for an oracle before oracle permission is revoked.
unpermissioned_feeds_enabled: boolEnabling this setting means data feeds do not need explicit permission to join the queue and request new values from its oracles.
unpermissioned_vrf_enabled: boolEnabling this setting means VRF accounts do not need explicit permission to join the queue and request new values from its oracles.
curator_reward_cut: SwitchboardDecimalTODO: Revenue percentage rewarded to job curators overall.
lock_lease_funding: boolPrevent new leases from being funded n this queue. Useful to turn down a queue for migrations, since authority is always immutable.
mint: PubkeyToken mint used for the oracle queue rewards and slashing.
enable_buffer_relayers: boolWhether oracles are permitted to fulfill buffer relayer update request.
_ebuf: [u8; 968]Reserved for future info.
max_size: u32Maximum number of oracles a queue can support.
data_buffer: PubkeyThe 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 async fn fetch(client: &RpcClient, pubkey: Pubkey) -> Result<Self, Error>
target_os="solana" only.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
source§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.source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self.