[−][src]Struct solana_runtime::message_processor::MessageProcessor
Implementations
impl MessageProcessor
[src]
pub fn add_program(
&mut self,
program_id: Pubkey,
process_instruction: ProcessInstruction
)
[src]
&mut self,
program_id: Pubkey,
process_instruction: ProcessInstruction
)
Add a static entrypoint to intercept instructions before the dynamic loader.
pub fn add_loader(
&mut self,
program_id: Pubkey,
process_instruction: ProcessInstructionWithContext
)
[src]
&mut self,
program_id: Pubkey,
process_instruction: ProcessInstructionWithContext
)
pub fn set_cross_program_support(&mut self, is_supported: bool)
[src]
pub fn set_compute_budget(&mut self, compute_budget: ComputeBudget)
[src]
pub fn process_cross_program_instruction(
&self,
message: &Message,
executable_accounts: &[(Pubkey, RefCell<Account>)],
accounts: &[Rc<RefCell<Account>>],
invoke_context: &mut dyn InvokeContext
) -> Result<(), InstructionError>
[src]
&self,
message: &Message,
executable_accounts: &[(Pubkey, RefCell<Account>)],
accounts: &[Rc<RefCell<Account>>],
invoke_context: &mut dyn InvokeContext
) -> Result<(), InstructionError>
Process a cross-program instruction This method calls the instruction's program entrypoint function
pub fn create_pre_accounts(
message: &Message,
instruction: &CompiledInstruction,
accounts: &[Rc<RefCell<Account>>]
) -> Vec<PreAccount>
[src]
message: &Message,
instruction: &CompiledInstruction,
accounts: &[Rc<RefCell<Account>>]
) -> Vec<PreAccount>
Record the initial state of the accounts so that they can be compared after the instruction is processed
pub fn verify_account_references(
accounts: &[(Pubkey, RefCell<Account>)]
) -> Result<(), InstructionError>
[src]
accounts: &[(Pubkey, RefCell<Account>)]
) -> Result<(), InstructionError>
Verify there are no outstanding borrows
pub fn verify(
message: &Message,
instruction: &CompiledInstruction,
pre_accounts: &[PreAccount],
executable_accounts: &[(Pubkey, RefCell<Account>)],
accounts: &[Rc<RefCell<Account>>],
rent: &Rent
) -> Result<(), InstructionError>
[src]
message: &Message,
instruction: &CompiledInstruction,
pre_accounts: &[PreAccount],
executable_accounts: &[(Pubkey, RefCell<Account>)],
accounts: &[Rc<RefCell<Account>>],
rent: &Rent
) -> Result<(), InstructionError>
Verify the results of an instruction
pub fn process_message(
&self,
message: &Message,
loaders: &[Vec<(Pubkey, RefCell<Account>)>],
accounts: &[Rc<RefCell<Account>>],
rent_collector: &RentCollector,
log_collector: Option<Rc<LogCollector>>
) -> Result<(), TransactionError>
[src]
&self,
message: &Message,
loaders: &[Vec<(Pubkey, RefCell<Account>)>],
accounts: &[Rc<RefCell<Account>>],
rent_collector: &RentCollector,
log_collector: Option<Rc<LogCollector>>
) -> Result<(), TransactionError>
Process a message. This method calls each instruction in the message over the set of loaded Accounts The accounts are committed back to the bank only if every instruction succeeds
pub fn builtin_loader_ids(&self) -> Vec<Pubkey>
[src]
pub fn builtin_program_ids(&self) -> Vec<Pubkey>
[src]
Trait Implementations
impl AbiExample for MessageProcessor
[src]
impl Clone for MessageProcessor
[src]
fn clone(&self) -> Self
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for MessageProcessor
[src]
impl Default for MessageProcessor
[src]
impl<'de> Deserialize<'de> for MessageProcessor
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Serialize for MessageProcessor
[src]
Auto Trait Implementations
impl RefUnwindSafe for MessageProcessor
impl Send for MessageProcessor
impl Sync for MessageProcessor
impl Unpin for MessageProcessor
impl UnwindSafe for MessageProcessor
Blanket Implementations
impl<T> AbiEnumVisitor for T where
T: Serialize + ?Sized,
[src]
T: Serialize + ?Sized,
default fn visit_for_abi(
&self,
_digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
[src]
&self,
_digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
impl<T> AbiEnumVisitor for T where
T: AbiExample + Serialize + ?Sized,
[src]
T: AbiExample + Serialize + ?Sized,
default fn visit_for_abi(
&self,
digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
[src]
&self,
digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
impl<T> AbiExample for T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,