Struct near_vm_logic::VMLimitConfig[][src]

pub struct VMLimitConfig {
    pub max_gas_burnt: u64,
    pub max_gas_burnt_view: u64,
    pub max_stack_height: u32,
    pub initial_memory_pages: u32,
    pub max_memory_pages: u32,
    pub registers_memory_limit: u64,
    pub max_register_size: u64,
    pub max_number_registers: u64,
    pub max_number_logs: u64,
    pub max_total_log_length: u64,
    pub max_total_prepaid_gas: u64,
    pub max_actions_per_receipt: u64,
    pub max_number_bytes_method_names: u64,
    pub max_length_method_name: u64,
    pub max_arguments_length: u64,
    pub max_length_returned_data: u64,
    pub max_contract_size: u64,
    pub max_length_storage_key: u64,
    pub max_length_storage_value: u64,
    pub max_promises_per_function_call_action: u64,
    pub max_number_input_data_dependencies: u64,
}

Describes limits for VM and Runtime.

Fields

max_gas_burnt: u64

Max amount of gas that can be used, excluding gas attached to promises.

max_gas_burnt_view: u64

Max burnt gas per view method.

max_stack_height: u32

How tall the stack is allowed to grow?

See https://wiki.parity.io/WebAssembly-StackHeight to find out how the stack frame cost is calculated.

initial_memory_pages: u32

The initial number of memory pages. NOTE: It's not a limiter itself, but it's a value we use for initial_memory_pages.

max_memory_pages: u32

What is the maximal memory pages amount is allowed to have for a contract.

registers_memory_limit: u64

Limit of memory used by registers.

max_register_size: u64

Maximum number of bytes that can be stored in a single register.

max_number_registers: u64

Maximum number of registers that can be used simultaneously.

max_number_logs: u64

Maximum number of log entries.

max_total_log_length: u64

Maximum total length in bytes of all log messages.

max_total_prepaid_gas: u64

Max total prepaid gas for all function call actions per receipt.

max_actions_per_receipt: u64

Max number of actions per receipt.

max_number_bytes_method_names: u64

Max total length of all method names (including terminating character) for a function call permission access key.

max_length_method_name: u64

Max length of any method name (without terminating character).

max_arguments_length: u64

Max length of arguments in a function call action.

max_length_returned_data: u64

Max length of returned data

max_contract_size: u64

Max contract size

max_length_storage_key: u64

Max storage key size

max_length_storage_value: u64

Max storage value size

max_promises_per_function_call_action: u64

Max number of promises that a function call can create

max_number_input_data_dependencies: u64

Max number of input data dependencies

Trait Implementations

impl Clone for VMLimitConfig[src]

impl Debug for VMLimitConfig[src]

impl Default for VMLimitConfig[src]

impl<'de> Deserialize<'de> for VMLimitConfig[src]

impl Eq for VMLimitConfig[src]

impl Hash for VMLimitConfig[src]

impl PartialEq<VMLimitConfig> for VMLimitConfig[src]

impl Serialize for VMLimitConfig[src]

impl StructuralEq for VMLimitConfig[src]

impl StructuralPartialEq for VMLimitConfig[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.