pub struct TransactionBatchProcessor<FG: ForkGraph> {
pub check_program_modification_slot: bool,
pub sysvar_cache: RwLock<SysvarCache>,
pub loaded_programs_cache: Arc<RwLock<LoadedPrograms<FG>>>,
/* private fields */
}Fields§
§check_program_modification_slot: bool§sysvar_cache: RwLock<SysvarCache>§loaded_programs_cache: Arc<RwLock<LoadedPrograms<FG>>>Implementations§
Source§impl<FG: ForkGraph> TransactionBatchProcessor<FG>
impl<FG: ForkGraph> TransactionBatchProcessor<FG>
pub fn new( slot: Slot, epoch: Epoch, epoch_schedule: EpochSchedule, fee_structure: FeeStructure, runtime_config: Arc<RuntimeConfig>, loaded_programs_cache: Arc<RwLock<LoadedPrograms<FG>>>, ) -> Self
pub fn load_and_execute_sanitized_transactions<'a, CB: TransactionProcessingCallback>( &self, callbacks: &CB, sanitized_txs: &[SanitizedTransaction], check_results: &mut [TransactionCheckResult], error_counters: &mut TransactionErrorMetrics, enable_cpi_recording: bool, enable_log_recording: bool, enable_return_data_recording: bool, timings: &mut ExecuteTimings, account_overrides: Option<&AccountOverrides>, builtin_programs: impl Iterator<Item = &'a Pubkey>, log_messages_bytes_limit: Option<usize>, ) -> LoadAndExecuteSanitizedTransactionsOutput
Sourcepub fn filter_executable_program_accounts<'a, CB: TransactionProcessingCallback>(
callbacks: &CB,
txs: &[SanitizedTransaction],
lock_results: &mut [TransactionCheckResult],
program_owners: &'a [Pubkey],
) -> HashMap<Pubkey, (&'a Pubkey, u64)>
pub fn filter_executable_program_accounts<'a, CB: TransactionProcessingCallback>( callbacks: &CB, txs: &[SanitizedTransaction], lock_results: &mut [TransactionCheckResult], program_owners: &'a [Pubkey], ) -> HashMap<Pubkey, (&'a Pubkey, u64)>
Returns a hash map of executable program accounts (program accounts that are not writable in the given transactions), and their owners, for the transactions with a valid blockhash or nonce.
pub fn load_program<CB: TransactionProcessingCallback>( &self, callbacks: &CB, pubkey: &Pubkey, reload: bool, effective_epoch: Epoch, ) -> Arc<LoadedProgram>
Trait Implementations§
Source§impl<FG: ForkGraph> AbiExample for TransactionBatchProcessor<FG>
impl<FG: ForkGraph> AbiExample for TransactionBatchProcessor<FG>
Source§impl<FG: ForkGraph> Debug for TransactionBatchProcessor<FG>
impl<FG: ForkGraph> Debug for TransactionBatchProcessor<FG>
Auto Trait Implementations§
impl<FG> !Freeze for TransactionBatchProcessor<FG>
impl<FG> RefUnwindSafe for TransactionBatchProcessor<FG>
impl<FG> Send for TransactionBatchProcessor<FG>
impl<FG> Sync for TransactionBatchProcessor<FG>
impl<FG> Unpin for TransactionBatchProcessor<FG>
impl<FG> UnwindSafe for TransactionBatchProcessor<FG>
Blanket Implementations§
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> 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