pub struct ComputeBudget {
Show 27 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 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 compute 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

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 ==. Read more

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

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

Compare self to key and return true if they are equal.

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

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.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more