Struct switchboard_solana::oracle_program::accounts::buffer_relayer::BufferRelayerAccountData
source · pub struct BufferRelayerAccountData {
pub name: [u8; 32],
pub queue_pubkey: Pubkey,
pub escrow: Pubkey,
pub authority: Pubkey,
pub job_pubkey: Pubkey,
pub job_hash: [u8; 32],
pub min_update_delay_seconds: u32,
pub is_locked: bool,
pub current_round: BufferRelayerRound,
pub latest_confirmed_round: BufferRelayerRound,
pub result: Vec<u8>,
}Fields§
§name: [u8; 32]Name of the buffer account to store on-chain.
queue_pubkey: PubkeyPublic key of the OracleQueueAccountData that is currently assigned to fulfill buffer relayer update request.
escrow: PubkeyToken account to reward oracles for completing update request.
The account delegated as the authority for making account changes.
job_pubkey: PubkeyPublic key of the JobAccountData that defines how the buffer relayer is updated.
job_hash: [u8; 32]Used to protect against malicious RPC nodes providing incorrect task definitions to oracles before fulfillment
min_update_delay_seconds: u32Minimum delay between update request.
is_locked: boolWhether buffer relayer config is locked for further changes.
current_round: BufferRelayerRoundThe current buffer relayer update round that is yet to be confirmed.
latest_confirmed_round: BufferRelayerRoundThe latest confirmed buffer relayer update round.
result: Vec<u8>The buffer holding the latest confirmed result.
Implementations§
source§impl BufferRelayerAccountData
impl BufferRelayerAccountData
sourcepub fn new(
switchboard_buffer: &AccountInfo<'_>
) -> Result<Box<BufferRelayerAccountData>>
pub fn new( switchboard_buffer: &AccountInfo<'_> ) -> Result<Box<BufferRelayerAccountData>>
pub fn get_result(&self) -> &Vec<u8> ⓘ
Trait Implementations§
source§impl AccountDeserialize for BufferRelayerAccountData
impl AccountDeserialize for BufferRelayerAccountData
source§fn try_deserialize(buf: &mut &[u8]) -> Result<Self>
fn try_deserialize(buf: &mut &[u8]) -> Result<Self>
Deserializes previously initialized account data. Should fail for all
uninitialized accounts, where the bytes are zeroed. Implementations
should be unique to a particular account type so that one can never
successfully deserialize the data of one account type into another.
For example, if the SPL token program were to implement this trait,
it should be impossible to deserialize a
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>
Deserializes account data without checking the account discriminator.
This should only be used on account initialization, when the bytes of
the account are zeroed.
source§impl BorshDeserialize for BufferRelayerAccountDatawhere
[u8; 32]: BorshDeserialize,
Pubkey: BorshDeserialize,
u32: BorshDeserialize,
bool: BorshDeserialize,
BufferRelayerRound: BorshDeserialize,
Vec<u8>: BorshDeserialize,
impl BorshDeserialize for BufferRelayerAccountDatawhere
[u8; 32]: BorshDeserialize,
Pubkey: BorshDeserialize,
u32: BorshDeserialize,
bool: BorshDeserialize,
BufferRelayerRound: BorshDeserialize,
Vec<u8>: BorshDeserialize,
fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self, Error>
§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
Deserializes this instance from a given slice of bytes.
Updates the buffer to point at the remaining bytes.
§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
Deserialize this instance from a slice of bytes.
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
source§impl BorshSerialize for BufferRelayerAccountDatawhere
[u8; 32]: BorshSerialize,
Pubkey: BorshSerialize,
u32: BorshSerialize,
bool: BorshSerialize,
BufferRelayerRound: BorshSerialize,
Vec<u8>: BorshSerialize,
impl BorshSerialize for BufferRelayerAccountDatawhere
[u8; 32]: BorshSerialize,
Pubkey: BorshSerialize,
u32: BorshSerialize,
bool: BorshSerialize,
BufferRelayerRound: BorshSerialize,
Vec<u8>: BorshSerialize,
source§impl Clone for BufferRelayerAccountData
impl Clone for BufferRelayerAccountData
source§fn clone(&self) -> BufferRelayerAccountData
fn clone(&self) -> BufferRelayerAccountData
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Default for BufferRelayerAccountData
impl Default for BufferRelayerAccountData
source§fn default() -> BufferRelayerAccountData
fn default() -> BufferRelayerAccountData
Returns the “default value” for a type. Read more
source§impl Discriminator for BufferRelayerAccountData
impl Discriminator for BufferRelayerAccountData
const DISCRIMINATOR: [u8; 8] = _
fn discriminator() -> [u8; 8]
Auto Trait Implementations§
impl Freeze for BufferRelayerAccountData
impl RefUnwindSafe for BufferRelayerAccountData
impl Send for BufferRelayerAccountData
impl Sync for BufferRelayerAccountData
impl Unpin for BufferRelayerAccountData
impl UnwindSafe for BufferRelayerAccountData
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more