pub struct MessageProcessor {}
Implementations§
source§impl MessageProcessor
impl MessageProcessor
sourcepub fn process_message(
message: &SanitizedMessage,
program_indices: &[Vec<IndexOfAccount>],
transaction_context: &mut TransactionContext,
log_collector: Option<Rc<RefCell<LogCollector>>>,
programs_loaded_for_tx_batch: &LoadedProgramsForTxBatch,
programs_modified_by_tx: &mut LoadedProgramsForTxBatch,
feature_set: Arc<FeatureSet>,
compute_budget: ComputeBudget,
timings: &mut ExecuteTimings,
sysvar_cache: &SysvarCache,
blockhash: Hash,
lamports_per_signature: u64,
accumulated_consumed_units: &mut u64,
) -> Result<(), TransactionError>
pub fn process_message( message: &SanitizedMessage, program_indices: &[Vec<IndexOfAccount>], transaction_context: &mut TransactionContext, log_collector: Option<Rc<RefCell<LogCollector>>>, programs_loaded_for_tx_batch: &LoadedProgramsForTxBatch, programs_modified_by_tx: &mut LoadedProgramsForTxBatch, feature_set: Arc<FeatureSet>, compute_budget: ComputeBudget, timings: &mut ExecuteTimings, sysvar_cache: &SysvarCache, blockhash: Hash, lamports_per_signature: u64, accumulated_consumed_units: &mut u64, ) -> Result<(), TransactionError>
Process a message. This method calls each instruction in the message over the set of loaded accounts. For each instruction it calls the program entrypoint method and verifies that the result of the call does not violate the bank’s accounting rules. The accounts are committed back to the bank only if every instruction succeeds.
Trait Implementations§
source§impl AbiExample for MessageProcessor
impl AbiExample for MessageProcessor
source§impl Clone for MessageProcessor
impl Clone for MessageProcessor
source§fn clone(&self) -> MessageProcessor
fn clone(&self) -> MessageProcessor
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for MessageProcessor
impl Debug for MessageProcessor
source§impl Default for MessageProcessor
impl Default for MessageProcessor
source§fn default() -> MessageProcessor
fn default() -> MessageProcessor
Returns the “default value” for a type. Read more
source§impl<'de> Deserialize<'de> for MessageProcessor
impl<'de> Deserialize<'de> for MessageProcessor
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 MessageProcessor
impl RefUnwindSafe for MessageProcessor
impl Send for MessageProcessor
impl Sync for MessageProcessor
impl Unpin for MessageProcessor
impl UnwindSafe for MessageProcessor
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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