Struct switchboard_aggregator::Account [−][src]
pub struct Account<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone, { /* fields omitted */ }
Expand description
Account container that checks ownership on deserialization.
Implementations
Deserializes the given info
into a Account
.
Deserializes the given info
into a Account
without checking
the account discriminator. Be careful when using this and avoid it if
possible.
Reloads the account from storage. This is useful, for example, when observing side effects after CPI.
Trait Implementations
impl<'info, T> Accounts<'info> for Account<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'info, T> Accounts<'info> for Account<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
pub fn try_accounts(
_program_id: &Pubkey,
accounts: &mut &[AccountInfo<'info>],
_ix_data: &[u8]
) -> Result<Account<'info, T>, ProgramError>
pub fn try_accounts(
_program_id: &Pubkey,
accounts: &mut &[AccountInfo<'info>],
_ix_data: &[u8]
) -> Result<Account<'info, T>, ProgramError>
Returns the validated accounts struct. What constitutes “valid” is
program dependent. However, users of these types should never have to
worry about account substitution attacks. For example, if a program
expects a Mint
account from the SPL token program in a particular
field, then it should be impossible for this method to return Ok
if
any other account type is given–from the SPL token program or elsewhere. Read more
impl<'info, T> AccountsClose<'info> for Account<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'info, T> AccountsClose<'info> for Account<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'info, T> AccountsExit<'info> for Account<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'info, T> AccountsExit<'info> for Account<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'info, T> AsRef<AccountInfo<'info>> for Account<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'info, T> AsRef<AccountInfo<'info>> for Account<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
Performs the conversion.
impl<'info, T> Clone for Account<'info, T> where
T: Clone + AccountSerialize + AccountDeserialize + Owner,
impl<'info, T> Clone for Account<'info, T> where
T: Clone + AccountSerialize + AccountDeserialize + Owner,
impl<'a, T> Deref for Account<'a, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'a, T> Deref for Account<'a, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'a, T> DerefMut for Account<'a, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'a, T> DerefMut for Account<'a, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'info, T> From<Account<'info, T>> for CpiAccount<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'info, T> From<Account<'info, T>> for CpiAccount<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
Performs the conversion.
impl<'info, T> Key for Account<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'info, T> Key for Account<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'info, T> ToAccountInfo<'info> for Account<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'info, T> ToAccountInfo<'info> for Account<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'info, T> ToAccountInfos<'info> for Account<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'info, T> ToAccountInfos<'info> for Account<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'info, T> ToAccountMetas for Account<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
impl<'info, T> ToAccountMetas for Account<'info, T> where
T: AccountSerialize + AccountDeserialize + Owner + Clone,
is_signer
is given as an optional override for the signer meta field.
This covers the edge case when a program-derived-address needs to relay
a transaction from a client to another program but sign the transaction
before the relay. The client cannot mark the field as a signer, and so
we have to override the is_signer meta field given by the client. Read more
Auto Trait Implementations
impl<'info, T> !RefUnwindSafe for Account<'info, T>
impl<'info, T> !UnwindSafe for Account<'info, T>
Blanket Implementations
pub default fn example() -> T
Mutably borrows from an owned value. Read more