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 max_cpi_instruction_size: usize,
pub heap_size: u32,
}
Fields§
§compute_unit_limit: u64
Number 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: usize
Maximum 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: usize
Maximum cross-program invocation and instructions per transaction
sha256_max_slices: u64
Maximum number of slices hashed per syscall
max_call_depth: usize
Maximum SBF to BPF call depth
stack_frame_size: usize
Size of a stack frame in bytes, must match the size specified in the LLVM SBF backend
max_cpi_instruction_size: usize
Maximum cross-program invocation instruction size
heap_size: u32
program heap region size, default: solana_program_entrypoint::HEAP_LENGTH
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§const fn clone_from(&mut self, source: &Self)
const 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