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§

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
This method tests for self and other values to be equal, and is used by ==.
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.
The type for initializers.
Initializes a with the given initializer. Read more
Dereferences the given pointer. Read more
Mutably dereferences the given pointer. Read more
Drops the object pointed to by the given pointer. Read more
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.