pub struct SVMTransactionExecutionBudget {
pub compute_unit_limit: u64,
pub max_instruction_stack_depth: usize,
pub max_instruction_trace_length: usize,
pub sha256_max_slices: u64,
pub max_call_depth: usize,
pub stack_frame_size: usize,
pub heap_size: u32,
}Fields§
§compute_unit_limit: u64Number of compute units that a transaction or individual instruction is allowed to consume. Compute units are consumed by program execution, resources they use, etc…
max_instruction_stack_depth: usizeMaximum program instruction invocation stack depth. Invocation stack depth starts at 1 for transaction instructions and the stack depth is incremented each time a program invokes an instruction and decremented when a program returns.
max_instruction_trace_length: usizeMaximum cross-program invocation and instructions per transaction
sha256_max_slices: u64Maximum number of slices hashed per syscall
max_call_depth: usizeMaximum SBF to BPF call depth
stack_frame_size: usizeSize of a stack frame in bytes, must match the size specified in the LLVM SBF backend
heap_size: u32program heap region size, default: solana_program_entrypoint::HEAP_LENGTH
Implementations§
Source§impl SVMTransactionExecutionBudget
impl SVMTransactionExecutionBudget
pub fn new_with_defaults(simd_0296_active: bool) -> Self
Trait Implementations§
Source§impl Clone for SVMTransactionExecutionBudget
impl Clone for SVMTransactionExecutionBudget
Source§fn clone(&self) -> SVMTransactionExecutionBudget
fn clone(&self) -> SVMTransactionExecutionBudget
Returns a duplicate 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 PartialEq for SVMTransactionExecutionBudget
impl PartialEq for SVMTransactionExecutionBudget
Source§fn eq(&self, other: &SVMTransactionExecutionBudget) -> bool
fn eq(&self, other: &SVMTransactionExecutionBudget) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for SVMTransactionExecutionBudget
impl Eq for SVMTransactionExecutionBudget
impl StructuralPartialEq for SVMTransactionExecutionBudget
Auto Trait Implementations§
impl Freeze for SVMTransactionExecutionBudget
impl RefUnwindSafe for SVMTransactionExecutionBudget
impl Send for SVMTransactionExecutionBudget
impl Sync for SVMTransactionExecutionBudget
impl Unpin for SVMTransactionExecutionBudget
impl UnwindSafe for SVMTransactionExecutionBudget
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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