pub struct InstructionProcessor { /* private fields */ }
Implementations§
Source§impl InstructionProcessor
impl InstructionProcessor
pub fn programs(&self) -> &[(Pubkey, ProcessInstructionWithContext)]
Sourcepub fn add_program(
&mut self,
program_id: Pubkey,
process_instruction: ProcessInstructionWithContext,
)
pub fn add_program( &mut self, program_id: Pubkey, process_instruction: ProcessInstructionWithContext, )
Add a static entrypoint to intercept instructions before the dynamic loader.
Sourcepub fn process_instruction(
&self,
program_id: &Pubkey,
instruction_data: &[u8],
invoke_context: &mut dyn InvokeContext,
) -> Result<(), InstructionError>
pub fn process_instruction( &self, program_id: &Pubkey, instruction_data: &[u8], invoke_context: &mut dyn InvokeContext, ) -> Result<(), InstructionError>
Process an instruction This method calls the instruction’s program entrypoint method
pub fn create_message( instruction: &Instruction, signers: &[Pubkey], invoke_context: &RefMut<'_, &mut dyn InvokeContext>, ) -> Result<(Message, Vec<bool>, Vec<usize>), InstructionError>
Sourcepub fn native_invoke(
invoke_context: &mut dyn InvokeContext,
instruction: Instruction,
keyed_account_indices_obsolete: &[usize],
signers: &[Pubkey],
) -> Result<(), InstructionError>
pub fn native_invoke( invoke_context: &mut dyn InvokeContext, instruction: Instruction, keyed_account_indices_obsolete: &[usize], signers: &[Pubkey], ) -> Result<(), InstructionError>
Entrypoint for a cross-program invocation from a native program
Sourcepub fn process_cross_program_instruction(
message: &Message,
program_indices: &[usize],
account_indices: &[usize],
caller_write_privileges: &[bool],
invoke_context: &mut dyn InvokeContext,
) -> Result<(), InstructionError>
pub fn process_cross_program_instruction( message: &Message, program_indices: &[usize], account_indices: &[usize], caller_write_privileges: &[bool], invoke_context: &mut dyn InvokeContext, ) -> Result<(), InstructionError>
Process a cross-program instruction This method calls the instruction’s program entrypoint function
Trait Implementations§
Source§impl AbiExample for InstructionProcessor
impl AbiExample for InstructionProcessor
Source§impl Clone for InstructionProcessor
impl Clone for InstructionProcessor
Source§impl Debug for InstructionProcessor
impl Debug for InstructionProcessor
Source§impl Default for InstructionProcessor
impl Default for InstructionProcessor
Source§impl<'de> Deserialize<'de> for InstructionProcessor
impl<'de> Deserialize<'de> for InstructionProcessor
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl !Freeze for InstructionProcessor
impl RefUnwindSafe for InstructionProcessor
impl Send for InstructionProcessor
impl Sync for InstructionProcessor
impl Unpin for InstructionProcessor
impl UnwindSafe for InstructionProcessor
Blanket Implementations§
Source§impl<T> AbiEnumVisitor for T
impl<T> AbiEnumVisitor for T
default fn visit_for_abi( &self, _digester: &mut AbiDigester, ) -> Result<AbiDigester, DigestError>
Source§impl<T> AbiEnumVisitor for T
impl<T> AbiEnumVisitor for T
default fn visit_for_abi( &self, digester: &mut AbiDigester, ) -> Result<AbiDigester, DigestError>
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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