pub struct StoredInstruction<'a> {
pub program_id: Address,
pub account_metas: &'a [StoredAccountMeta],
pub instruction_data: &'a [u8],
}Expand description
Borrowed stored instruction payload for proposal/governance execution.
Fields§
§program_id: AddressProgram to invoke.
account_metas: &'a [StoredAccountMeta]Stored account metas in CPI order.
instruction_data: &'a [u8]Stored instruction data.
Implementations§
Source§impl<'a> StoredInstruction<'a>
impl<'a> StoredInstruction<'a>
Sourcepub fn new(
program_id: Address,
account_metas: &'a [StoredAccountMeta],
instruction_data: &'a [u8],
) -> Result<Self, ProgramError>
pub fn new( program_id: Address, account_metas: &'a [StoredAccountMeta], instruction_data: &'a [u8], ) -> Result<Self, ProgramError>
Construct a stored instruction with CPI account-count bounds.
Sourcepub const fn account_count(&self) -> usize
pub const fn account_count(&self) -> usize
Number of account metas in this stored instruction.
Sourcepub fn write_instruction_accounts<const N: usize>(
&'a self,
out: &'a mut [MaybeUninit<InstructionAccount<'a>>; N],
) -> Result<&'a [InstructionAccount<'a>], ProgramError>
pub fn write_instruction_accounts<const N: usize>( &'a self, out: &'a mut [MaybeUninit<InstructionAccount<'a>>; N], ) -> Result<&'a [InstructionAccount<'a>], ProgramError>
Convert stored metas into a caller-provided CPI account buffer.
Sourcepub fn to_instruction_view<const N: usize>(
&'a self,
out: &'a mut [MaybeUninit<InstructionAccount<'a>>; N],
) -> Result<InstructionView<'a, 'a, 'a, 'a>, ProgramError>
pub fn to_instruction_view<const N: usize>( &'a self, out: &'a mut [MaybeUninit<InstructionAccount<'a>>; N], ) -> Result<InstructionView<'a, 'a, 'a, 'a>, ProgramError>
Build an InstructionView using a caller-provided account buffer.
Trait Implementations§
Source§impl<'a> Clone for StoredInstruction<'a>
impl<'a> Clone for StoredInstruction<'a>
impl<'a> Copy for StoredInstruction<'a>
Auto Trait Implementations§
impl<'a> Freeze for StoredInstruction<'a>
impl<'a> RefUnwindSafe for StoredInstruction<'a>
impl<'a> Send for StoredInstruction<'a>
impl<'a> Sync for StoredInstruction<'a>
impl<'a> Unpin for StoredInstruction<'a>
impl<'a> UnsafeUnpin for StoredInstruction<'a>
impl<'a> UnwindSafe for StoredInstruction<'a>
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