[][src]Struct solana_runtime::message_processor::MessageProcessor

pub struct MessageProcessor { /* fields omitted */ }

Implementations

impl MessageProcessor[src]

pub fn add_program(
    &mut self,
    program_id: Pubkey,
    process_instruction: ProcessInstruction
)
[src]

Add a static entrypoint to intercept instructions before the dynamic loader.

pub fn add_loader(
    &mut self,
    program_id: Pubkey,
    process_instruction: ProcessInstructionWithContext
)
[src]

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]

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]

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]

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]

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>>,
    executors: Rc<RefCell<Executors>>,
    instruction_recorders: Option<&[InstructionRecorder]>,
    feature_set: &FeatureSet
) -> Result<(), TransactionError>
[src]

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

Trait Implementations

impl AbiExample for MessageProcessor[src]

impl Clone for MessageProcessor[src]

impl Debug for MessageProcessor[src]

impl Default for MessageProcessor[src]

impl<'de> Deserialize<'de> for MessageProcessor[src]

impl Serialize for MessageProcessor[src]

Auto Trait Implementations

Blanket Implementations

impl<T> AbiEnumVisitor for T where
    T: AbiExample + Serialize + ?Sized
[src]

impl<T> AbiEnumVisitor for T where
    T: Serialize + ?Sized
[src]

impl<T> AbiExample for T[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,