pub trait ToAccountMetas {
    // Required method
    fn to_account_metas(&self, is_signer: Option<bool>) -> Vec<AccountMeta>;
}
Expand description

Transformation to AccountMeta structs.

Required Methods§

source

fn to_account_metas(&self, is_signer: Option<bool>) -> Vec<AccountMeta>

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.

Implementations on Foreign Types§

source§

impl<T: ToAccountMetas> ToAccountMetas for Option<T>

source§

impl<T: ToAccountMetas> ToAccountMetas for Box<T>

source§

impl<T: ToAccountMetas> ToAccountMetas for Vec<T>

Implementors§

source§

impl ToAccountMetas for AccountMeta

source§

impl<'info> ToAccountMetas for Signer<'info>

source§

impl<'info> ToAccountMetas for SystemAccount<'info>

source§

impl<'info> ToAccountMetas for UncheckedAccount<'info>

source§

impl<'info> ToAccountMetas for AccountInfo<'info>

source§

impl<'info> ToAccountMetas for AdvanceNonceAccount<'info>

source§

impl<'info> ToAccountMetas for Allocate<'info>

source§

impl<'info> ToAccountMetas for AllocateWithSeed<'info>

source§

impl<'info> ToAccountMetas for Assign<'info>

source§

impl<'info> ToAccountMetas for AssignWithSeed<'info>

source§

impl<'info> ToAccountMetas for AuthorizeNonceAccount<'info>

source§

impl<'info> ToAccountMetas for CreateAccount<'info>

source§

impl<'info> ToAccountMetas for CreateAccountWithSeed<'info>

source§

impl<'info> ToAccountMetas for CreateNonceAccount<'info>

source§

impl<'info> ToAccountMetas for CreateNonceAccountWithSeed<'info>

source§

impl<'info> ToAccountMetas for Transfer<'info>

source§

impl<'info> ToAccountMetas for TransferWithSeed<'info>

source§

impl<'info> ToAccountMetas for WithdrawNonceAccount<'info>

source§

impl<'info, T> ToAccountMetas for Interface<'info, T>

source§

impl<'info, T> ToAccountMetas for Program<'info, T>

source§

impl<'info, T: Sysvar> ToAccountMetas for Sysvar<'info, T>

source§

impl<'info, T: AccountSerialize + AccountDeserialize + Clone> ToAccountMetas for Account<'info, T>

source§

impl<'info, T: AccountSerialize + AccountDeserialize + Clone> ToAccountMetas for InterfaceAccount<'info, T>

source§

impl<'info, T: ToAccountInfos<'info> + ToAccountMetas> ToAccountMetas for CpiContext<'_, '_, '_, 'info, T>

source§

impl<'info, T: ZeroCopy + Owner> ToAccountMetas for AccountLoader<'info, T>