pub trait InstructionsAccount {
// Required method
fn get_accounts_vec(&self) -> Vec<AccountMeta>;
// Provided methods
fn get_instruction<P: BorshDeserialize + BorshSerialize + BorshSize>(
&self,
program_id: Pubkey,
instruction_id: u8,
params: P,
) -> Instruction { ... }
fn get_instruction_cast<P: NoUninit>(
&self,
program_id: Pubkey,
instruction_id: u8,
params: P,
) -> Instruction { ... }
fn get_instruction_wrapped_pod<'a, P: WrappedPod<'a>>(
&self,
program_id: Pubkey,
instruction_id: u8,
params: P,
) -> Instruction { ... }
}
Required Methods§
fn get_accounts_vec(&self) -> Vec<AccountMeta>
Provided Methods§
fn get_instruction<P: BorshDeserialize + BorshSerialize + BorshSize>( &self, program_id: Pubkey, instruction_id: u8, params: P, ) -> Instruction
fn get_instruction_cast<P: NoUninit>( &self, program_id: Pubkey, instruction_id: u8, params: P, ) -> Instruction
fn get_instruction_wrapped_pod<'a, P: WrappedPod<'a>>( &self, program_id: Pubkey, instruction_id: u8, params: P, ) -> Instruction
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.