pub struct ComputeBudget {Show 28 fields
pub compute_unit_limit: u64,
pub log_64_units: u64,
pub create_program_address_units: u64,
pub invoke_units: u64,
pub max_invoke_depth: usize,
pub sha256_base_cost: u64,
pub sha256_byte_cost: u64,
pub sha256_max_slices: u64,
pub max_call_depth: usize,
pub stack_frame_size: usize,
pub log_pubkey_units: u64,
pub max_cpi_instruction_size: usize,
pub cpi_bytes_per_unit: u64,
pub sysvar_base_cost: u64,
pub secp256k1_recover_cost: u64,
pub syscall_base_cost: u64,
pub zk_token_elgamal_op_cost: u64,
pub curve25519_edwards_validate_point_cost: u64,
pub curve25519_edwards_add_cost: u64,
pub curve25519_edwards_subtract_cost: u64,
pub curve25519_edwards_multiply_cost: u64,
pub curve25519_ristretto_validate_point_cost: u64,
pub curve25519_ristretto_add_cost: u64,
pub curve25519_ristretto_subtract_cost: u64,
pub curve25519_ristretto_multiply_cost: u64,
pub heap_size: Option<usize>,
pub heap_cost: u64,
pub mem_op_base_cost: u64,
}
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…
log_64_units: u64
Number of compute units consumed by a log_u64 call
create_program_address_units: u64
Number of compute units consumed by a create_program_address call
invoke_units: u64
Number of compute units consumed by an invoke call (not including the cost incurred by the called program)
max_invoke_depth: usize
Maximum cross-program invocation depth allowed
sha256_base_cost: u64
Base number of compute units consumed to call SHA256
sha256_byte_cost: u64
Incremental number of units consumed by SHA256 (based on bytes)
sha256_max_slices: u64
Maximum number of slices hashed per syscall
max_call_depth: usize
Maximum BPF to BPF call depth
stack_frame_size: usize
Size of a stack frame in bytes, must match the size specified in the LLVM BPF backend
log_pubkey_units: u64
Number of compute units consumed by logging a Pubkey
max_cpi_instruction_size: usize
Maximum cross-program invocation instruction size
cpi_bytes_per_unit: u64
Number of account data bytes per conpute unit charged during a cross-program invocation
sysvar_base_cost: u64
Base number of compute units consumed to get a sysvar
secp256k1_recover_cost: u64
Number of compute units consumed to call secp256k1_recover
syscall_base_cost: u64
Number of compute units consumed to do a syscall without any work
zk_token_elgamal_op_cost: u64
Number of compute units consumed to call zktoken_crypto_op
curve25519_edwards_validate_point_cost: u64
Number of compute units consumed to validate a curve25519 edwards point
curve25519_edwards_add_cost: u64
Number of compute units consumed to add two curve25519 edwards points
curve25519_edwards_subtract_cost: u64
Number of compute units consumed to subtract two curve25519 edwards points
curve25519_edwards_multiply_cost: u64
Number of compute units consumed to multiply a curve25519 edwards point
curve25519_ristretto_validate_point_cost: u64
Number of compute units consumed to validate a curve25519 ristretto point
curve25519_ristretto_add_cost: u64
Number of compute units consumed to add two curve25519 ristretto points
curve25519_ristretto_subtract_cost: u64
Number of compute units consumed to subtract two curve25519 ristretto points
curve25519_ristretto_multiply_cost: u64
Number of compute units consumed to multiply a curve25519 ristretto point
heap_size: Option<usize>
Optional program heap region size, if None
then loader default
heap_cost: u64
Number of compute units per additional 32k heap above the default (~.5 us per 32k at 15 units/us rounded up)
mem_op_base_cost: u64
Memory operation syscall base cost
Implementations
sourceimpl ComputeBudget
impl ComputeBudget
pub fn new(compute_unit_limit: u64) -> Self
pub fn process_instructions<'a>(
&mut self,
instructions: impl Iterator<Item = (&'a Pubkey, &'a CompiledInstruction)>,
requestable_heap_size: bool,
default_units_per_instruction: bool,
support_set_compute_unit_price_ix: bool
) -> Result<PrioritizationFeeDetails, TransactionError>
Trait Implementations
sourceimpl AbiExample for ComputeBudget
impl AbiExample for ComputeBudget
sourceimpl Clone for ComputeBudget
impl Clone for ComputeBudget
sourcefn clone(&self) -> ComputeBudget
fn clone(&self) -> ComputeBudget
1.0.0 · sourceconst fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read more