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

pub struct MessageProcessor { /* fields omitted */ }

Methods

impl MessageProcessor[src]

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

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

pub fn create_pre_accounts(
    message: &Message,
    instruction: &CompiledInstruction,
    program_accounts: &[Rc<RefCell<Account>>]
) -> Vec<Option<PreAccount>>
[src]

Record the initial state of the accounts so that it can be compared

pub fn verify_account_references(
    executable_accounts: &[(Pubkey, RefCell<Account>)],
    program_accounts: &[Rc<RefCell<Account>>]
) -> Result<(), InstructionError>
[src]

Verify there are no outstanding borrows

pub fn verify(
    message: &Message,
    instruction: &CompiledInstruction,
    pre_accounts: &[Option<PreAccount>],
    executable_accounts: &[(Pubkey, RefCell<Account>)],
    program_accounts: &[Rc<RefCell<Account>>]
) -> 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>>]
) -> 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 Default for MessageProcessor[src]

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

impl Serialize for MessageProcessor[src]

Auto Trait Implementations

Blanket Implementations

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> Clear for T where
    T: InitializableFromZeroed + ?Sized

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

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

impl<T> InitializableFromZeroed for T where
    T: Default

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, 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>,