[][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,
    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(
    executable_accounts: &[(Pubkey, RefCell<Account>)],
    accounts: &[Rc<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_collector: &RentCollector
) -> 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
) -> 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 Clone 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> 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: for<'de> 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> 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>,