Struct massa_execution_exports::ExecutionConfig
source · pub struct ExecutionConfig {Show 49 fields
pub readonly_queue_length: usize,
pub max_final_events: usize,
pub max_async_gas: u64,
pub async_msg_cst_gas_cost: u64,
pub max_gas_per_block: u64,
pub thread_count: u8,
pub roll_price: Amount,
pub cursor_delay: MassaTime,
pub genesis_timestamp: MassaTime,
pub t0: MassaTime,
pub block_reward: Amount,
pub operation_validity_period: u64,
pub endorsement_count: u64,
pub periods_per_cycle: u64,
pub stats_time_window_duration: MassaTime,
pub max_miss_ratio: Ratio<u64>,
pub max_function_length: u16,
pub max_parameter_length: u32,
pub max_datastore_key_length: u8,
pub max_bytecode_size: u64,
pub max_datastore_value_size: u64,
pub storage_costs_constants: StorageCostsConstants,
pub max_read_only_gas: u64,
pub gas_costs: GasCosts,
pub base_operation_gas_cost: u64,
pub last_start_period: u64,
pub hd_cache_path: PathBuf,
pub lru_cache_size: u32,
pub hd_cache_size: usize,
pub snip_amount: usize,
pub roll_count_to_slash_on_denunciation: u64,
pub denunciation_expire_periods: u64,
pub broadcast_enabled: bool,
pub broadcast_slot_execution_output_channel_capacity: usize,
pub max_event_size_v0: usize,
pub max_event_size: usize,
pub chain_id: u64,
pub broadcast_traces_enabled: bool,
pub broadcast_slot_execution_traces_channel_capacity: usize,
pub max_execution_traces_slot_limit: usize,
pub block_dump_folder_path: PathBuf,
pub max_recursive_calls_depth: u16,
pub condom_limits: CondomLimits,
pub deferred_calls_config: DeferredCallsConfig,
pub max_event_per_operation: usize,
pub event_cache_path: PathBuf,
pub event_cache_size: usize,
pub event_snip_amount: usize,
pub broadcast_slot_execution_info_channel_capacity: usize,
}Expand description
Execution module configuration
Fields§
§readonly_queue_length: usizeread-only execution request queue length
max_final_events: usizemaximum number of SC output events kept in cache
max_async_gas: u64maximum available gas for asynchronous messages execution
async_msg_cst_gas_cost: u64constant cost for async messages
max_gas_per_block: u64maximum gas per block
thread_count: u8number of threads
roll_price: Amountprice of a roll inside the network
cursor_delay: MassaTimeextra lag to add on the execution cursor to improve performance
genesis_timestamp: MassaTimegenesis timestamp
t0: MassaTimeperiod duration
block_reward: Amountblock creation reward
operation_validity_period: u64operation validity period
endorsement_count: u64endorsement count
periods_per_cycle: u64periods per cycle
stats_time_window_duration: MassaTimeduration of the statistics time window
max_miss_ratio: Ratio<u64>Max miss ratio for auto roll sell
max_function_length: u16Max function length in call sc
max_parameter_length: u32Max parameter length in call sc
max_datastore_key_length: u8Max size of a datastore key
max_bytecode_size: u64Max bytecode size
max_datastore_value_size: u64Max datastore value size
storage_costs_constants: StorageCostsConstantsStorage cost constants
max_read_only_gas: u64Max gas for read only executions
gas_costs: GasCostsGas costs
base_operation_gas_cost: u64Gas used by a transaction, a roll buy or a roll sell)
last_start_period: u64last start period, used to attach to the correct execution slot if the network has restarted
hd_cache_path: PathBufPath to the hard drive cache storage
lru_cache_size: u32Maximum number of entries we want to keep in the LRU cache
hd_cache_size: usizeMaximum number of entries we want to keep in the HD cache
snip_amount: usizeAmount of entries removed when hd_cache_size is reached
roll_count_to_slash_on_denunciation: u64Number of roll to remove per denunciation
denunciation_expire_periods: u64Denunciation expire delta
broadcast_enabled: boolwhether slot execution outputs broadcast is enabled
broadcast_slot_execution_output_channel_capacity: usizeslot execution outputs channel capacity
max_event_size_v0: usizemax size of event data, in bytes
max_event_size: usizemax size of event data, in bytes
chain_id: u64chain id
broadcast_traces_enabled: boolwhether slot execution traces broadcast is enabled
broadcast_slot_execution_traces_channel_capacity: usizeslot execution traces channel capacity
max_execution_traces_slot_limit: usizeMax execution traces slot to keep in trace history cache
block_dump_folder_path: PathBufWhere to dump blocks
max_recursive_calls_depth: u16Max recursive calls depth in SC Used to limit the recursion_counter value in the context, to avoid stack overflow issues.
condom_limits: CondomLimitsRuntime condom middleware limits
deferred_calls_config: DeferredCallsConfigdeferred calls config
max_event_per_operation: usizeMaximum number of event that an operation can emit
event_cache_path: PathBufPath to the hard drive event cache storage
event_cache_size: usizeMaximum number of entries we want to keep in the Event cache
event_snip_amount: usizeAmount of entries removed when event_cache_size is reached
broadcast_slot_execution_info_channel_capacity: usizeslot execution info channel capacity
Trait Implementations§
source§impl Clone for ExecutionConfig
impl Clone for ExecutionConfig
source§fn clone(&self) -> ExecutionConfig
fn clone(&self) -> ExecutionConfig
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ExecutionConfig
impl RefUnwindSafe for ExecutionConfig
impl Send for ExecutionConfig
impl Sync for ExecutionConfig
impl Unpin for ExecutionConfig
impl UnwindSafe for ExecutionConfig
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)§impl<T> Conv for T
impl<T> Conv for T
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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 moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.