diff --git a/massa_api/public/fn.check_input_operation.html b/massa_api/public/fn.check_input_operation.html index b5bb8425ff..ac17616bfc 100644 --- a/massa_api/public/fn.check_input_operation.html +++ b/massa_api/public/fn.check_input_operation.html @@ -1,4 +1,4 @@ -check_input_operation in massa_api::public - Rust

Function massa_api::public::check_input_operation

source ·
fn check_input_operation(
+check_input_operation in massa_api::public - Rust

Function massa_api::public::check_input_operation

source ·
fn check_input_operation(
     op_input: OperationInput,
     api_cfg: &APIConfig,
     last_slot: Option<Slot>,
diff --git a/massa_api/public/index.html b/massa_api/public/index.html
index d8a24c3d0b..42a6568e1b 100644
--- a/massa_api/public/index.html
+++ b/massa_api/public/index.html
@@ -1,2 +1,2 @@
-massa_api::public - Rust

Module massa_api::public

source ·
Expand description

Copyright (c) 2022 MASSA LABS info@massa.net

+massa_api::public - Rust

Module massa_api::public

source ·
Expand description

Copyright (c) 2022 MASSA LABS info@massa.net

Functions§

\ No newline at end of file diff --git a/massa_execution_exports/enum.ExecutionQueryError.html b/massa_execution_exports/enum.ExecutionQueryError.html index ca05506648..373c67ee88 100644 --- a/massa_execution_exports/enum.ExecutionQueryError.html +++ b/massa_execution_exports/enum.ExecutionQueryError.html @@ -2,7 +2,7 @@ NotFound(String), }
Expand description

Execution query errors

Variants§

§

NotFound(String)

Not found: {0}

-

Trait Implementations§

source§

impl Clone for ExecutionQueryError

source§

fn clone(&self) -> ExecutionQueryError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ExecutionQueryError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for ExecutionQueryError

source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for ExecutionQueryError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<ExecutionQueryError> for Error

source§

fn from(value: ExecutionQueryError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for ExecutionQueryError

source§

fn clone(&self) -> ExecutionQueryError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ExecutionQueryError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for ExecutionQueryError

source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for ExecutionQueryError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<ExecutionQueryError> for Error

source§

fn from(value: ExecutionQueryError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
source§

impl<T> Borrow<T> for T
where diff --git a/massa_execution_exports/enum.SlotExecutionOutput.html b/massa_execution_exports/enum.SlotExecutionOutput.html index 19f6635b3b..8e1250c295 100644 --- a/massa_execution_exports/enum.SlotExecutionOutput.html +++ b/massa_execution_exports/enum.SlotExecutionOutput.html @@ -4,7 +4,7 @@ }

Expand description

structure describing the output of the execution of a slot

Variants§

§

ExecutedSlot(ExecutionOutput)

Executed slot output

§

FinalizedSlot(ExecutionOutput)

Finalized slot output

-

Trait Implementations§

source§

impl Clone for SlotExecutionOutput

source§

fn clone(&self) -> SlotExecutionOutput

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SlotExecutionOutput

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<SlotExecutionOutput> for SlotExecutionOutput

source§

fn from(value: SlotExecutionOutput) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for SlotExecutionOutput

source§

fn clone(&self) -> SlotExecutionOutput

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SlotExecutionOutput

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<SlotExecutionOutput> for SlotExecutionOutput

source§

fn from(value: SlotExecutionOutput) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
source§

impl<T> Borrow<T> for T
where diff --git a/massa_execution_exports/error/enum.ExecutionQueryError.html b/massa_execution_exports/error/enum.ExecutionQueryError.html index c627d5e735..b9ff8b3d4e 100644 --- a/massa_execution_exports/error/enum.ExecutionQueryError.html +++ b/massa_execution_exports/error/enum.ExecutionQueryError.html @@ -2,7 +2,7 @@ NotFound(String), }
Expand description

Execution query errors

Variants§

§

NotFound(String)

Not found: {0}

-

Trait Implementations§

source§

impl Clone for ExecutionQueryError

source§

fn clone(&self) -> ExecutionQueryError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ExecutionQueryError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for ExecutionQueryError

source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for ExecutionQueryError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<ExecutionQueryError> for Error

source§

fn from(value: ExecutionQueryError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for ExecutionQueryError

source§

fn clone(&self) -> ExecutionQueryError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ExecutionQueryError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for ExecutionQueryError

source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for ExecutionQueryError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<ExecutionQueryError> for Error

source§

fn from(value: ExecutionQueryError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
source§

impl<T> Borrow<T> for T
where diff --git a/massa_execution_exports/mapping_grpc/fn.to_cycle_info.html b/massa_execution_exports/mapping_grpc/fn.to_cycle_info.html index 1f38bdaf93..e054f3cb33 100644 --- a/massa_execution_exports/mapping_grpc/fn.to_cycle_info.html +++ b/massa_execution_exports/mapping_grpc/fn.to_cycle_info.html @@ -1 +1 @@ -to_cycle_info in massa_execution_exports::mapping_grpc - Rust

Function massa_execution_exports::mapping_grpc::to_cycle_info

source ·
fn to_cycle_info(value: ExecutionQueryCycleInfos) -> ExecutionQueryCycleInfos
\ No newline at end of file +to_cycle_info in massa_execution_exports::mapping_grpc - Rust

Function massa_execution_exports::mapping_grpc::to_cycle_info

source ·
fn to_cycle_info(value: ExecutionQueryCycleInfos) -> ExecutionQueryCycleInfos
\ No newline at end of file diff --git a/massa_execution_exports/mapping_grpc/fn.to_event_filter.html b/massa_execution_exports/mapping_grpc/fn.to_event_filter.html index 093209b8cd..941bdaadb3 100644 --- a/massa_execution_exports/mapping_grpc/fn.to_event_filter.html +++ b/massa_execution_exports/mapping_grpc/fn.to_event_filter.html @@ -1,4 +1,4 @@ -to_event_filter in massa_execution_exports::mapping_grpc - Rust
pub fn to_event_filter(
+to_event_filter in massa_execution_exports::mapping_grpc - Rust
pub fn to_event_filter(
     sce_filters: Vec<ScExecutionEventsFilter>,
 ) -> Result<EventFilter, ModelsError>
Expand description

Convert a vector of grpc_model::ScExecutionEventsFilter to a EventFilter

\ No newline at end of file diff --git a/massa_execution_exports/mapping_grpc/fn.to_execution_query_response.html b/massa_execution_exports/mapping_grpc/fn.to_execution_query_response.html index 661785c3b7..983b8653fe 100644 --- a/massa_execution_exports/mapping_grpc/fn.to_execution_query_response.html +++ b/massa_execution_exports/mapping_grpc/fn.to_execution_query_response.html @@ -1,4 +1,4 @@ -to_execution_query_response in massa_execution_exports::mapping_grpc - Rust
pub fn to_execution_query_response(
+to_execution_query_response in massa_execution_exports::mapping_grpc - Rust
pub fn to_execution_query_response(
     value: Result<ExecutionQueryResponseItem, ExecutionQueryError>,
 ) -> ExecutionQueryResponse
Expand description

Converts a ExecutionQueryResponse to a grpc_api::ExecutionQueryResponse

\ No newline at end of file diff --git a/massa_execution_exports/mapping_grpc/fn.to_execution_query_result.html b/massa_execution_exports/mapping_grpc/fn.to_execution_query_result.html index ce88fc5c76..75ffb5a76b 100644 --- a/massa_execution_exports/mapping_grpc/fn.to_execution_query_result.html +++ b/massa_execution_exports/mapping_grpc/fn.to_execution_query_result.html @@ -1,3 +1,3 @@ -to_execution_query_result in massa_execution_exports::mapping_grpc - Rust
fn to_execution_query_result(
+to_execution_query_result in massa_execution_exports::mapping_grpc - Rust
fn to_execution_query_result(
     value: ExecutionQueryResponseItem,
 ) -> ExecutionQueryResponseItem
\ No newline at end of file diff --git a/massa_execution_exports/mapping_grpc/fn.to_execution_query_staker_info.html b/massa_execution_exports/mapping_grpc/fn.to_execution_query_staker_info.html index 7c61b197dd..04e4f06d35 100644 --- a/massa_execution_exports/mapping_grpc/fn.to_execution_query_staker_info.html +++ b/massa_execution_exports/mapping_grpc/fn.to_execution_query_staker_info.html @@ -1,4 +1,4 @@ -to_execution_query_staker_info in massa_execution_exports::mapping_grpc - Rust
fn to_execution_query_staker_info(
+to_execution_query_staker_info in massa_execution_exports::mapping_grpc - Rust
fn to_execution_query_staker_info(
     address: Address,
     info: ExecutionQueryStakerInfo,
 ) -> ExecutionQueryStakerInfoEntry
\ No newline at end of file diff --git a/massa_execution_exports/mapping_grpc/fn.to_querystate_filter.html b/massa_execution_exports/mapping_grpc/fn.to_querystate_filter.html index 2a8c5134fc..d664dcd42b 100644 --- a/massa_execution_exports/mapping_grpc/fn.to_querystate_filter.html +++ b/massa_execution_exports/mapping_grpc/fn.to_querystate_filter.html @@ -1,4 +1,5 @@ -to_querystate_filter in massa_execution_exports::mapping_grpc - Rust
pub fn to_querystate_filter(
+to_querystate_filter in massa_execution_exports::mapping_grpc - Rust
pub fn to_querystate_filter(
     query: ExecutionQueryRequestItem,
+    network_version: u32,
 ) -> Result<ExecutionQueryRequestItem, ModelsError>
Expand description

Convert a grpc_api::ScExecutionEventsRequest to a ScExecutionEventsRequest

\ No newline at end of file diff --git a/massa_execution_exports/mapping_grpc/index.html b/massa_execution_exports/mapping_grpc/index.html index 971dbe1046..f2f30ed347 100644 --- a/massa_execution_exports/mapping_grpc/index.html +++ b/massa_execution_exports/mapping_grpc/index.html @@ -1,2 +1,2 @@ -massa_execution_exports::mapping_grpc - Rust

Module massa_execution_exports::mapping_grpc

source ·
Expand description

mapping grpc

+massa_execution_exports::mapping_grpc - Rust

Module massa_execution_exports::mapping_grpc

source ·
Expand description

mapping grpc

Functions§

\ No newline at end of file diff --git a/massa_execution_exports/settings/index.html b/massa_execution_exports/settings/index.html index 42aa5525d8..5f9ee163e4 100644 --- a/massa_execution_exports/settings/index.html +++ b/massa_execution_exports/settings/index.html @@ -1,2 +1,2 @@ -massa_execution_exports::settings - Rust

Module massa_execution_exports::settings

source ·
Expand description

This module provides the structures used to provide configuration parameters to the Execution system

+massa_execution_exports::settings - Rust

Module massa_execution_exports::settings

source ·
Expand description

This module provides the structures used to provide configuration parameters to the Execution system

Structs§

\ No newline at end of file diff --git a/massa_execution_exports/settings/struct.ExecutionConfig.html b/massa_execution_exports/settings/struct.ExecutionConfig.html index 403b79f16e..bbee8f6a95 100644 --- a/massa_execution_exports/settings/struct.ExecutionConfig.html +++ b/massa_execution_exports/settings/struct.ExecutionConfig.html @@ -1,4 +1,4 @@ -ExecutionConfig in massa_execution_exports::settings - Rust
pub struct ExecutionConfig {
Show 47 fields +ExecutionConfig in massa_execution_exports::settings - Rust
pub struct ExecutionConfig {
Show 48 fields pub readonly_queue_length: usize, pub max_final_events: usize, pub max_async_gas: u64, @@ -33,7 +33,8 @@ pub denunciation_expire_periods: u64, pub broadcast_enabled: bool, pub broadcast_slot_execution_output_channel_capacity: usize, - pub max_event_size: usize, + pub max_event_size_v0: usize, + pub max_event_size_v1: usize, pub chain_id: u64, pub broadcast_traces_enabled: bool, pub broadcast_slot_execution_traces_channel_capacity: usize, @@ -81,7 +82,8 @@
§denunciation_expire_periods: u64

Denunciation expire delta

§broadcast_enabled: bool

whether slot execution outputs broadcast is enabled

§broadcast_slot_execution_output_channel_capacity: usize

slot execution outputs channel capacity

-
§max_event_size: usize

max size of event data, in bytes

+
§max_event_size_v0: usize

max size of event data, in bytes

+
§max_event_size_v1: usize

max size of event data, in bytes

§chain_id: u64

chain id

§broadcast_traces_enabled: bool

whether slot execution traces broadcast is enabled

§broadcast_slot_execution_traces_channel_capacity: usize

slot execution traces channel capacity

diff --git a/massa_execution_exports/struct.ExecutionConfig.html b/massa_execution_exports/struct.ExecutionConfig.html index b999293894..27586e598a 100644 --- a/massa_execution_exports/struct.ExecutionConfig.html +++ b/massa_execution_exports/struct.ExecutionConfig.html @@ -1,4 +1,4 @@ -ExecutionConfig in massa_execution_exports - Rust

Struct massa_execution_exports::ExecutionConfig

source ·
pub struct ExecutionConfig {
Show 47 fields +ExecutionConfig in massa_execution_exports - Rust

Struct massa_execution_exports::ExecutionConfig

source ·
pub struct ExecutionConfig {
Show 48 fields pub readonly_queue_length: usize, pub max_final_events: usize, pub max_async_gas: u64, @@ -33,7 +33,8 @@ pub denunciation_expire_periods: u64, pub broadcast_enabled: bool, pub broadcast_slot_execution_output_channel_capacity: usize, - pub max_event_size: usize, + pub max_event_size_v0: usize, + pub max_event_size_v1: usize, pub chain_id: u64, pub broadcast_traces_enabled: bool, pub broadcast_slot_execution_traces_channel_capacity: usize, @@ -81,7 +82,8 @@
§denunciation_expire_periods: u64

Denunciation expire delta

§broadcast_enabled: bool

whether slot execution outputs broadcast is enabled

§broadcast_slot_execution_output_channel_capacity: usize

slot execution outputs channel capacity

-
§max_event_size: usize

max size of event data, in bytes

+
§max_event_size_v0: usize

max size of event data, in bytes

+
§max_event_size_v1: usize

max size of event data, in bytes

§chain_id: u64

chain id

§broadcast_traces_enabled: bool

whether slot execution traces broadcast is enabled

§broadcast_slot_execution_traces_channel_capacity: usize

slot execution traces channel capacity

diff --git a/massa_execution_exports/struct.ExecutionOutput.html b/massa_execution_exports/struct.ExecutionOutput.html index 1c23bcf81b..9656495d89 100644 --- a/massa_execution_exports/struct.ExecutionOutput.html +++ b/massa_execution_exports/struct.ExecutionOutput.html @@ -14,7 +14,7 @@
§deferred_credits_execution: Vec<(Address, Result<Amount, String>)>

Deferred credits execution (empty if execution-info feature is NOT enabled)

§cancel_async_message_execution: Vec<(Address, Result<Amount, String>)>

Cancel async message execution (empty if execution-info feature is NOT enabled)

§auto_sell_execution: Vec<(Address, Amount)>

Auto sell roll execution (empty if execution-info feature is NOT enabled)

-

Trait Implementations§

source§

impl Clone for ExecutionOutput

source§

fn clone(&self) -> ExecutionOutput

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ExecutionOutput

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<ExecutionOutput> for ExecutionOutput

source§

fn from(value: ExecutionOutput) -> Self

Converts to this type from the input type.
source§

impl Serialize for ExecutionOutput

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where +

Trait Implementations§

source§

impl Clone for ExecutionOutput

source§

fn clone(&self) -> ExecutionOutput

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ExecutionOutput

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<ExecutionOutput> for ExecutionOutput

source§

fn from(value: ExecutionOutput) -> Self

Converts to this type from the input type.
source§

impl Serialize for ExecutionOutput

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, diff --git a/massa_execution_exports/types/enum.SlotExecutionOutput.html b/massa_execution_exports/types/enum.SlotExecutionOutput.html index 0c19513722..cf31e0c950 100644 --- a/massa_execution_exports/types/enum.SlotExecutionOutput.html +++ b/massa_execution_exports/types/enum.SlotExecutionOutput.html @@ -4,7 +4,7 @@ }

Expand description

structure describing the output of the execution of a slot

Variants§

§

ExecutedSlot(ExecutionOutput)

Executed slot output

§

FinalizedSlot(ExecutionOutput)

Finalized slot output

-

Trait Implementations§

source§

impl Clone for SlotExecutionOutput

source§

fn clone(&self) -> SlotExecutionOutput

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SlotExecutionOutput

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<SlotExecutionOutput> for SlotExecutionOutput

source§

fn from(value: SlotExecutionOutput) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for SlotExecutionOutput

source§

fn clone(&self) -> SlotExecutionOutput

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SlotExecutionOutput

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<SlotExecutionOutput> for SlotExecutionOutput

source§

fn from(value: SlotExecutionOutput) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
source§

impl<T> Borrow<T> for T
where diff --git a/massa_execution_exports/types/struct.ExecutionOutput.html b/massa_execution_exports/types/struct.ExecutionOutput.html index 8925ab3bed..fa93d627a5 100644 --- a/massa_execution_exports/types/struct.ExecutionOutput.html +++ b/massa_execution_exports/types/struct.ExecutionOutput.html @@ -14,7 +14,7 @@
§deferred_credits_execution: Vec<(Address, Result<Amount, String>)>

Deferred credits execution (empty if execution-info feature is NOT enabled)

§cancel_async_message_execution: Vec<(Address, Result<Amount, String>)>

Cancel async message execution (empty if execution-info feature is NOT enabled)

§auto_sell_execution: Vec<(Address, Amount)>

Auto sell roll execution (empty if execution-info feature is NOT enabled)

-

Trait Implementations§

source§

impl Clone for ExecutionOutput

source§

fn clone(&self) -> ExecutionOutput

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ExecutionOutput

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<ExecutionOutput> for ExecutionOutput

source§

fn from(value: ExecutionOutput) -> Self

Converts to this type from the input type.
source§

impl Serialize for ExecutionOutput

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where +

Trait Implementations§

source§

impl Clone for ExecutionOutput

source§

fn clone(&self) -> ExecutionOutput

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ExecutionOutput

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<ExecutionOutput> for ExecutionOutput

source§

fn from(value: ExecutionOutput) -> Self

Converts to this type from the input type.
source§

impl Serialize for ExecutionOutput

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, diff --git a/massa_execution_worker/active_history/index.html b/massa_execution_worker/active_history/index.html index 69b23acac8..44bd5fa84c 100644 --- a/massa_execution_worker/active_history/index.html +++ b/massa_execution_worker/active_history/index.html @@ -1,2 +1,2 @@ -massa_execution_worker::active_history - Rust

Module massa_execution_worker::active_history

source ·

Structs§

source

pub fn fetch_active_history_data_entry( &self, addr: &Address, key: &[u8], ) -> HistorySearchResult<Vec<u8>>

Lazily query (from end to beginning) the active datastore entry of an address after a given index.

Returns a HistorySearchResult.

-
source

pub fn fetch_roll_count(&self, addr: &Address) -> Option<u64>

Starting from the newest element in history, return the first existing roll change of addr.

+
source

pub fn fetch_roll_count(&self, addr: &Address) -> Option<u64>

Starting from the newest element in history, return the first existing roll change of addr.

§Arguments
  • addr: address to fetch the rolls from
-
source

pub fn get_all_deferred_credits_until(&self, slot: &Slot) -> DeferredCredits

Gets all the deferred credits that will be credited until a given slot (included)

-
source

pub(crate) fn get_address_deferred_credit_for( +

source

pub fn get_all_deferred_credits_until(&self, slot: &Slot) -> DeferredCredits

Gets all the deferred credits that will be credited until a given slot (included)

+
source

pub(crate) fn get_address_deferred_credit_for( &self, addr: &Address, slot: &Slot, ) -> Option<Amount>

Gets the deferred credits for a given address that will be credited at a given slot

-
source

pub fn get_execution_trail_hash(&self) -> HistorySearchResult<Hash>

Gets the execution trail hash

-
source

pub fn get_slot_index(&self, slot: &Slot, thread_count: u8) -> SlotIndexPosition

Gets the index of a slot in history

-
source

pub fn find_cycle_indices( +

source

pub fn get_execution_trail_hash(&self) -> HistorySearchResult<Hash>

Gets the execution trail hash

+
source

pub fn get_slot_index(&self, slot: &Slot, thread_count: u8) -> SlotIndexPosition

Gets the index of a slot in history

+
source

pub fn find_cycle_indices( &self, cycle: u64, periods_per_cycle: u64, @@ -50,7 +51,7 @@

§Return va
  • a boolean indicating that the cycle overflows before the beginning of history
  • a boolean indicating that the cycle overflows after the end of history
  • -
    source

    pub fn get_ops_exec_status(&self, batch: &[OperationId]) -> Vec<Option<bool>>

    Get the execution statuses of a set of operations. +

    source

    pub fn get_ops_exec_status(&self, batch: &[OperationId]) -> Vec<Option<bool>>

    Get the execution statuses of a set of operations. Returns a list where each element is None if no execution was found for that op, or a boolean indicating whether the execution was successful (true) or had an error (false).

    Trait Implementations§

    source§

    impl Default for ActiveHistory

    source§

    fn default() -> ActiveHistory

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where diff --git a/massa_execution_worker/context/fn.generate_execution_trail_hash.html b/massa_execution_worker/context/fn.generate_execution_trail_hash.html index 9d8f3fd2c7..cac9f70365 100644 --- a/massa_execution_worker/context/fn.generate_execution_trail_hash.html +++ b/massa_execution_worker/context/fn.generate_execution_trail_hash.html @@ -1,4 +1,4 @@ -generate_execution_trail_hash in massa_execution_worker::context - Rust
    fn generate_execution_trail_hash(
    +generate_execution_trail_hash in massa_execution_worker::context - Rust
    fn generate_execution_trail_hash(
         previous_execution_trail_hash: &Hash,
         slot: &Slot,
         opt_block_id: Option<&BlockId>,
    diff --git a/massa_execution_worker/context/fn.init_prng.html b/massa_execution_worker/context/fn.init_prng.html
    index d25afaf3e1..1e1254e8ef 100644
    --- a/massa_execution_worker/context/fn.init_prng.html
    +++ b/massa_execution_worker/context/fn.init_prng.html
    @@ -1,2 +1,2 @@
    -init_prng in massa_execution_worker::context - Rust

    Function massa_execution_worker::context::init_prng

    source ·
    fn init_prng(execution_trail_hash: &Hash) -> Xoshiro256PlusPlus
    Expand description

    Initializes and seeds the PRNG with the given execution trail hash.

    +init_prng in massa_execution_worker::context - Rust

    Function massa_execution_worker::context::init_prng

    source ·
    fn init_prng(execution_trail_hash: &Hash) -> Xoshiro256PlusPlus
    Expand description

    Initializes and seeds the PRNG with the given execution trail hash.

    \ No newline at end of file diff --git a/massa_execution_worker/context/index.html b/massa_execution_worker/context/index.html index 49094b1afb..02a1cba23a 100644 --- a/massa_execution_worker/context/index.html +++ b/massa_execution_worker/context/index.html @@ -1,4 +1,4 @@ -massa_execution_worker::context - Rust

    Module massa_execution_worker::context

    source ·
    Expand description

    This module represents the context in which the VM executes bytecode. +massa_execution_worker::context - Rust

    Module massa_execution_worker::context

    source ·
    Expand description

    This module represents the context in which the VM executes bytecode. It provides information such as the current call stack. It also maintains a “speculative” ledger state which is a virtual ledger as seen after applying everything that happened so far in the context. diff --git a/massa_execution_worker/context/struct.ExecutionContext.html b/massa_execution_worker/context/struct.ExecutionContext.html index 96a4c7c437..10d3a3ea09 100644 --- a/massa_execution_worker/context/struct.ExecutionContext.html +++ b/massa_execution_worker/context/struct.ExecutionContext.html @@ -1,4 +1,4 @@ -ExecutionContext in massa_execution_worker::context - Rust

    Struct massa_execution_worker::context::ExecutionContext

    source ·
    pub struct ExecutionContext {
    Show 24 fields +ExecutionContext in massa_execution_worker::context - Rust

    Struct massa_execution_worker::context::ExecutionContext

    source ·
    pub struct ExecutionContext {
    Show 25 fields config: ExecutionConfig, speculative_ledger: SpeculativeLedger, speculative_async_pool: SpeculativeAsyncPool, @@ -22,6 +22,7 @@ pub module_cache: Arc<RwLock<ModuleCache>>, pub address_factory: AddressFactory, pub gas_remaining_before_subexecution: Option<u64>, + pub execution_component_version: u32, pub recursion_counter: u16,
    }
    Expand description

    An execution context that needs to be initialized before executing bytecode, passed to the VM to interact with during bytecode execution (through ABIs), @@ -53,8 +54,9 @@

    §address_factory: AddressFactory

    Address factory

    §gas_remaining_before_subexecution: Option<u64>

    The gas remaining before the last subexecution. so excluding the gas used by the last sc call.

    +
    §execution_component_version: u32

    The version of the execution component

    §recursion_counter: u16

    recursion counter, incremented for each new nested call

    -

    Implementations§

    source§

    impl ExecutionContext

    source

    pub(crate) fn new( +

    Implementations§

    source§

    impl ExecutionContext

    source

    pub(crate) fn new( config: ExecutionConfig, final_state: Arc<RwLock<dyn FinalStateController>>, active_history: Arc<RwLock<ActiveHistory>>, @@ -72,9 +74,9 @@

    §arguments

    Note that this will be used only for reading, never for writing

    §returns

    A new (empty) ExecutionContext instance

    -
    source

    pub(crate) fn get_snapshot(&self) -> ExecutionContextSnapshot

    Returns a snapshot containing the clone of the current execution state. +

    source

    pub(crate) fn get_snapshot(&self) -> ExecutionContextSnapshot

    Returns a snapshot containing the clone of the current execution state. Note that the snapshot does not include slot-level information such as the slot number or block ID.

    -
    source

    pub fn reset_to_snapshot( +

    source

    pub fn reset_to_snapshot( &mut self, snapshot: ExecutionContextSnapshot, error: ExecutionError, @@ -86,7 +88,7 @@

    §Argumentssnapshot: a saved snapshot to be restored
  • error: an execution error to emit as an event conserved after snapshot reset.
  • -
    source

    pub(crate) fn readonly( +

    source

    pub(crate) fn readonly( config: ExecutionConfig, slot: Slot, call_stack: Vec<ExecutionStackElement>, @@ -104,11 +106,11 @@

    §arguments
    §returns

    A ExecutionContext instance ready for a read-only execution

    -
    source

    pub(crate) fn take_async_batch( +

    source

    pub(crate) fn take_async_batch_v0( &mut self, max_gas: u64, async_msg_cst_gas_cost: u64, -) -> Vec<(AsyncMessageId, AsyncMessage)>

    This function takes a batch of asynchronous operations to execute, removing them from the speculative pool.

    +) -> Vec<(Option<Bytecode>, AsyncMessage)>

    This function takes a batch of asynchronous operations to execute, removing them from the speculative pool.

    §Arguments
    • max_gas: maximal amount of asynchronous gas available
    • @@ -119,7 +121,11 @@
      §Returns
    • Option<Bytecode> is the bytecode to execute (or None if not found)
    • AsyncMessage is the asynchronous message to execute
    -
    source

    pub(crate) fn active_slot( +

    source

    pub(crate) fn take_async_batch_v1( + &mut self, + max_gas: u64, + async_msg_cst_gas_cost: u64, +) -> Vec<(AsyncMessageId, AsyncMessage)>

    source

    pub(crate) fn active_slot( config: ExecutionConfig, slot: Slot, opt_block_id: Option<BlockId>, @@ -137,28 +143,28 @@

    §arguments
    §returns

    A ExecutionContext instance

    -
    source

    pub fn get_current_address(&self) -> Result<Address, ExecutionError>

    Gets the address at the top of the call stack, if any

    -
    source

    pub fn get_current_owned_addresses( +

    source

    pub fn get_current_address(&self) -> Result<Address, ExecutionError>

    Gets the address at the top of the call stack, if any

    +
    source

    pub fn get_current_owned_addresses( &self, ) -> Result<Vec<Address>, ExecutionError>

    Gets the current list of owned addresses (top of the stack) Ordering is conserved for determinism

    -
    source

    pub fn get_current_call_coins(&self) -> Result<Amount, ExecutionError>

    Gets the current call coins

    -
    source

    pub fn get_call_stack(&self) -> Vec<Address>

    Gets the addresses from the call stack (last = top of the stack)

    -
    source

    pub fn has_write_rights_on(&self, addr: &Address) -> bool

    Checks whether the context currently grants write access to a given address

    -
    source

    pub fn create_new_sc_address( +

    source

    pub fn get_current_call_coins(&self) -> Result<Amount, ExecutionError>

    Gets the current call coins

    +
    source

    pub fn get_call_stack(&self) -> Vec<Address>

    Gets the addresses from the call stack (last = top of the stack)

    +
    source

    pub fn has_write_rights_on(&self, addr: &Address) -> bool

    Checks whether the context currently grants write access to a given address

    +
    source

    pub fn create_new_sc_address( &mut self, bytecode: Bytecode, ) -> Result<Address, ExecutionError>

    Creates a new smart contract address with initial bytecode, and returns this address

    -
    source

    pub fn get_bytecode(&self, address: &Address) -> Option<Bytecode>

    gets the bytecode of an address if it exists in the speculative ledger, or returns None

    -
    source

    pub fn get_keys( +

    source

    pub fn get_bytecode(&self, address: &Address) -> Option<Bytecode>

    gets the bytecode of an address if it exists in the speculative ledger, or returns None

    +
    source

    pub fn get_keys( &self, address: &Address, prefix: &[u8], ) -> Option<BTreeSet<Vec<u8>>>

    gets the datastore keys of an address if it exists in the speculative ledger, or returns None

    -
    source

    pub fn get_data_entry(&self, address: &Address, key: &[u8]) -> Option<Vec<u8>>

    gets the data from a datastore entry of an address if it exists in the speculative ledger, or returns None

    -
    source

    pub fn has_data_entry(&self, address: &Address, key: &[u8]) -> bool

    checks if a datastore entry exists in the speculative ledger

    -
    source

    pub fn get_balance(&self, address: &Address) -> Option<Amount>

    gets the effective balance of an address

    -
    source

    pub fn set_data_entry( +

    source

    pub fn get_data_entry(&self, address: &Address, key: &[u8]) -> Option<Vec<u8>>

    gets the data from a datastore entry of an address if it exists in the speculative ledger, or returns None

    +
    source

    pub fn has_data_entry(&self, address: &Address, key: &[u8]) -> bool

    checks if a datastore entry exists in the speculative ledger

    +
    source

    pub fn get_balance(&self, address: &Address) -> Option<Amount>

    gets the effective balance of an address

    +
    source

    pub fn set_data_entry( &mut self, address: &Address, key: Vec<u8>, @@ -172,7 +178,7 @@

    §Argumentskey: the datastore key
  • data: the data to insert
  • -
    source

    pub fn append_data_entry( +

    source

    pub fn append_data_entry( &mut self, address: &Address, key: Vec<u8>, @@ -186,7 +192,7 @@

    §Argumentskey: the datastore key
  • data: the data to append
  • -
    source

    pub fn delete_data_entry( +

    source

    pub fn delete_data_entry( &mut self, address: &Address, key: &[u8], @@ -197,7 +203,7 @@

    §Argumentsaddress: the address of the ledger entry
  • key: the datastore key
  • -
    source

    pub fn transfer_coins( +

    source

    pub fn transfer_coins( &mut self, from_addr: Option<Address>, to_addr: Option<Address>, @@ -213,12 +219,12 @@

    §Argumentsamount: amount of coins to transfer
  • check_rights: check that the sender has the right to spend the coins according to the call stack
  • -
    source

    pub fn push_new_message(&mut self, msg: AsyncMessage)

    Add a new asynchronous message to speculative pool

    +
    source

    pub fn push_new_message(&mut self, msg: AsyncMessage)

    Add a new asynchronous message to speculative pool

    §Arguments
    • msg: asynchronous message to add
    -
    source

    pub fn cancel_async_message( +

    source

    pub fn cancel_async_message( &mut self, msg: &AsyncMessage, ) -> Option<(Address, Result<Amount, String>)>

    Cancels an asynchronous message, reimbursing msg.coins to the sender

    @@ -226,14 +232,14 @@
    §Arguments
    • msg: the asynchronous message to cancel
    -
    source

    pub fn add_rolls(&mut self, buyer_addr: &Address, roll_count: u64)

    Add roll_count rolls to the buyer address. +

    source

    pub fn add_rolls(&mut self, buyer_addr: &Address, roll_count: u64)

    Add roll_count rolls to the buyer address. Validity checks must be performed outside of this function.

    §Arguments
    • buyer_addr: address that will receive the rolls
    • roll_count: number of rolls it will receive
    -
    source

    pub fn try_sell_rolls( +

    source

    pub fn try_sell_rolls( &mut self, seller_addr: &Address, roll_count: u64, @@ -243,7 +249,7 @@

    §Arguments
  • seller_addr: address to sell the rolls from
  • roll_count: number of rolls to sell
  • -
    source

    pub fn try_slash_rolls( +

    source

    pub fn try_slash_rolls( &mut self, denounced_addr: &Address, roll_count: u64, @@ -254,7 +260,15 @@

    §Arguments
  • denounced_addr: address to sell the rolls from
  • roll_count: number of rolls to slash
  • -
    source

    pub fn update_production_stats( +

    source

    pub fn try_slash_rolls_v0( + &mut self, + denounced_addr: &Address, + roll_count: u64, +) -> Result<Amount, ExecutionError>

    source

    pub fn try_slash_rolls_v1( + &mut self, + denounced_addr: &Address, + roll_count: u64, +) -> Result<Amount, ExecutionError>

    source

    pub fn update_production_stats( &mut self, creator: &Address, slot: Slot, @@ -266,7 +280,7 @@

    §Arguments
  • slot: current slot
  • block_id: id of the block (if some)
  • -
    source

    pub fn execute_deferred_credits( +

    source

    pub fn execute_deferred_credits( &mut self, slot: &Slot, ) -> Vec<(Address, Result<Amount, String>)>

    Execute the deferred credits of slot.

    @@ -274,7 +288,13 @@
    §Arguments
    • slot: associated slot of the deferred credits to be executed
    -
    source

    pub fn settle_slot( +

    source

    fn settle_slot_v0( + &mut self, + block_info: Option<ExecutedBlockInfo>, +) -> ExecutionOutput

    source

    fn settle_slot_with_fixed_ledger_change_handling( + &mut self, + block_info: Option<ExecutedBlockInfo>, +) -> ExecutionOutput

    source

    pub fn settle_slot( &mut self, block_info: Option<ExecutedBlockInfo>, ) -> ExecutionOutput

    Finishes a slot and generates the execution output. @@ -283,7 +303,7 @@

    §Arguments resetting some context fields in the process.

    This is used to get the output of an execution before discarding the context. Note that we are not taking self by value to consume it because the context is shared.

    -
    source

    pub fn set_bytecode( +

    source

    pub fn set_bytecode( &mut self, address: &Address, bytecode: Bytecode, @@ -294,15 +314,15 @@

    §Arguments
  • address: the address of the ledger entry
  • data: the bytecode to set
  • -
    source

    pub fn event_create(&self, data: String, is_error: bool) -> SCOutputEvent

    Creates a new event but does not emit it. +

    source

    pub fn event_create(&self, data: String, is_error: bool) -> SCOutputEvent

    Creates a new event but does not emit it. Note that this does not increment the context event counter.

    §Arguments:

    data: the string data that is the payload of the event

    -
    source

    pub fn event_emit(&mut self, event: SCOutputEvent)

    Emits a previously created event. +

    source

    pub fn event_emit(&mut self, event: SCOutputEvent)

    Emits a previously created event. Overrides the event’s index with the current event counter value, and increments the event counter.

    -
    source

    pub fn is_op_executed(&self, op_id: &OperationId) -> bool

    Check if an operation was previously executed (to prevent reuse)

    -
    source

    pub fn is_denunciation_executed(&self, de_idx: &DenunciationIndex) -> bool

    Check if a denunciation was previously executed (to prevent reuse)

    -
    source

    pub fn insert_executed_op( +

    source

    pub fn is_op_executed(&self, op_id: &OperationId) -> bool

    Check if an operation was previously executed (to prevent reuse)

    +
    source

    pub fn is_denunciation_executed(&self, de_idx: &DenunciationIndex) -> bool

    Check if a denunciation was previously executed (to prevent reuse)

    +
    source

    pub fn insert_executed_op( &mut self, op_id: OperationId, op_exec_status: bool, @@ -315,63 +335,64 @@

    §Arguments
  • op_exec_status : the status of the execution of the operation (true: success, false: failed).
  • op_valid_until_slot: slot until which the operation remains valid (included)
  • -
    source

    pub fn insert_executed_denunciation( +

    source

    pub fn insert_executed_denunciation( &mut self, denunciation_idx: &DenunciationIndex, )

    Insert a executed denunciation.

    -
    source

    pub fn get_address_cycle_infos( +

    source

    pub fn get_address_cycle_infos( &self, address: &Address, periods_per_cycle: u64, ) -> Vec<ExecutionAddressCycleInfo>

    gets the cycle information for an address

    -
    source

    pub fn get_address_future_deferred_credits( +

    source

    pub fn get_address_future_deferred_credits( &self, address: &Address, thread_count: u8, max_slot: Bound<Slot>, ) -> BTreeMap<Slot, Amount>

    Get future deferred credits of an address With optionally a limit slot (excluded)

    -
    source

    pub fn check_target_sc_address( +

    source

    pub fn check_target_sc_address( &self, target_sc_address: Address, ) -> Result<(), ExecutionError>

    in case of

    async_msg, call OP, call SC to SC, read only call

    check if the given address is a smart contract address and if it exists returns an error instead

    -
    source

    pub fn deferred_calls_advance_slot( +
    source

    pub fn deferred_calls_advance_slot( &mut self, current_slot: Slot, -) -> DeferredSlotCalls

    source

    pub fn deferred_calls_compute_call_fee( +) -> DeferredSlotCalls

    source

    pub fn deferred_calls_compute_call_fee( &self, target_slot: Slot, max_gas_request: u64, current_slot: Slot, params_size: u64, ) -> Result<Amount, ExecutionError>

    Get the price it would cost to reserve “gas” with params at target slot “slot”.

    -
    source

    pub fn deferred_call_register( +

    source

    pub fn deferred_call_register( &mut self, call: DeferredCall, -) -> Result<DeferredCallId, ExecutionError>

    source

    pub fn deferred_call_exists(&self, call_id: &DeferredCallId) -> bool

    Check if a deferred call exists +) -> Result<DeferredCallId, ExecutionError>

    source

    pub fn deferred_call_exists(&self, call_id: &DeferredCallId) -> bool

    Check if a deferred call exists If it exists, check if it has been cancelled If it has been cancelled, return false

    -
    source

    pub fn get_deferred_call( +

    source

    pub fn get_deferred_call( &self, call_id: &DeferredCallId, ) -> Option<DeferredCall>

    Get a deferred call by its id

    -
    source

    pub fn deferred_call_fail_exec( +

    source

    pub fn deferred_call_fail_exec( &mut self, id: &DeferredCallId, call: &DeferredCall, ) -> Option<(Address, Result<Amount, String>)>

    when a deferred call execution fails we need to refund the coins to the caller

    -
    source

    pub fn deferred_call_cancel( +

    source

    pub fn deferred_call_cancel( &mut self, call_id: &DeferredCallId, caller_address: Address, ) -> Result<(), ExecutionError>

    when a deferred call is cancelled we need to refund the coins to the caller

    -
    source

    pub fn get_deferred_calls_by_slot( +

    source

    pub fn get_deferred_calls_by_slot( &self, slot: Slot, ) -> BTreeMap<DeferredCallId, DeferredCall>

    find the deferred calls for a given slot

    +
    source

    pub fn get_condom_limits(&self) -> CondomLimits

    Get the condom limits to pass to the VM depending on the current execution component version

    Auto Trait Implementations§

    §

    impl Freeze for ExecutionContext

    §

    impl !RefUnwindSafe for ExecutionContext

    §

    impl Send for ExecutionContext

    §

    impl Sync for ExecutionContext

    §

    impl Unpin for ExecutionContext

    §

    impl !UnwindSafe for ExecutionContext

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> ArchivePointee for T

    §

    type ArchivedMetadata = ()

    The archived version of the pointer metadata for this type.
    §

    fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, diff --git a/massa_execution_worker/context/struct.ExecutionContextSnapshot.html b/massa_execution_worker/context/struct.ExecutionContextSnapshot.html index db5e690b1d..e01cb9dd4e 100644 --- a/massa_execution_worker/context/struct.ExecutionContextSnapshot.html +++ b/massa_execution_worker/context/struct.ExecutionContextSnapshot.html @@ -1,4 +1,4 @@ -ExecutionContextSnapshot in massa_execution_worker::context - Rust
    pub struct ExecutionContextSnapshot {
    Show 15 fields +ExecutionContextSnapshot in massa_execution_worker::context - Rust
    pub struct ExecutionContextSnapshot {
    Show 15 fields pub ledger_changes: LedgerChanges, pub async_pool_changes: AsyncPoolChanges, pub deferred_calls_changes: DeferredCallRegistryChanges, diff --git a/massa_execution_worker/execution/index.html b/massa_execution_worker/execution/index.html index 0d33faad8c..72196ec3f9 100644 --- a/massa_execution_worker/execution/index.html +++ b/massa_execution_worker/execution/index.html @@ -1,4 +1,4 @@ -massa_execution_worker::execution - Rust

    Module massa_execution_worker::execution

    source ·
    Expand description

    This module deals with executing final and active slots, as well as read-only requests. +massa_execution_worker::execution - Rust

    Module massa_execution_worker::execution

    source ·
    Expand description

    This module deals with executing final and active slots, as well as read-only requests. It also keeps a history of executed slots, thus holding the speculative state of the ledger.

    Execution usually happens in the following way:

      diff --git a/massa_execution_worker/execution/struct.ExecutionState.html b/massa_execution_worker/execution/struct.ExecutionState.html index 3174e8a505..5fd84fab29 100644 --- a/massa_execution_worker/execution/struct.ExecutionState.html +++ b/massa_execution_worker/execution/struct.ExecutionState.html @@ -17,7 +17,7 @@
    }
    Expand description

    Structure holding consistent speculative and final execution states, and allowing access to them.

    Fields§

    §config: ExecutionConfig§active_history: Arc<RwLock<ActiveHistory>>§active_cursor: Slot§final_cursor: Slot§final_events_cache: Box<dyn EventCacheController>§final_state: Arc<RwLock<dyn FinalStateController>>§execution_context: Arc<Mutex<ExecutionContext>>§execution_interface: Box<dyn Interface>§stats_counter: ExecutionStatsCounter§module_cache: Arc<RwLock<ModuleCache>>§mip_store: MipStore§wallet: Arc<RwLock<Wallet>>§selector: Box<dyn SelectorController>§channels: ExecutionChannels§massa_metrics: MassaMetrics

    prometheus metrics

    -

    Implementations§

    source§

    impl ExecutionState

    source

    pub fn new( +

    Implementations§

    source§

    impl ExecutionState

    source

    pub fn new( config: ExecutionConfig, final_state: Arc<RwLock<dyn FinalStateController>>, mip_store: MipStore, @@ -48,7 +48,7 @@

    §Arguments
  • exec_out: execution output to apply
  • -
    source

    fn prepare_operation_for_execution( +

    source

    fn prepare_operation_for_execution( &self, operation: &SecureShareOperation, sender_addr: Address, @@ -62,7 +62,7 @@

    §Argumentsoperation: operation to be schedule
  • sender_addr: sender address for the operation (for fee transfer)
  • -
    source

    pub fn execute_operation( +

    source

    pub fn execute_operation( &self, operation: &SecureShareOperation, block_slot: Slot, @@ -77,7 +77,7 @@

    §Argumentsremaining_block_gas: mutable reference towards the remaining gas in the block
  • block_credits: mutable reference towards the total block reward/fee credits
  • -
    source

    fn execute_denunciation( +

    source

    fn execute_denunciation( &self, denunciation: &Denunciation, block_slot: &Slot, @@ -88,7 +88,7 @@

    §Argumentsdenunciation: denunciation to process
  • block_credits: mutable reference towards the total block reward/fee credits
  • -
    source

    pub fn execute_roll_sell_op( +

    source

    pub fn execute_roll_sell_op( &self, operation: &OperationType, seller_addr: Address, @@ -99,7 +99,7 @@

    §Argumentsoperation: the WrappedOperation to process, must be an RollSell
  • sender_addr: address of the sender
  • -
    source

    pub fn execute_roll_buy_op( +

    source

    pub fn execute_roll_buy_op( &self, operation: &OperationType, buyer_addr: Address, @@ -110,7 +110,7 @@

    §Argumentsoperation: the WrappedOperation to process, must be an RollBuy
  • buyer_addr: address of the buyer
  • -
    source

    pub fn execute_transaction_op( +

    source

    pub fn execute_transaction_op( &self, operation: &OperationType, sender_addr: Address, @@ -122,7 +122,7 @@

    §Argumentsoperation_id: ID of the operation
  • sender_addr: address of the sender
  • -
    source

    pub fn execute_executesc_op( +

    source

    pub fn execute_executesc_op( &self, operation: &OperationType, sender_addr: Address, @@ -133,7 +133,7 @@

    §Argumentsoperation: the WrappedOperation to process, must be an ExecuteSC
  • sender_addr: address of the sender
  • -
    source

    pub fn execute_callsc_op( +

    source

    pub fn execute_callsc_op( &self, operation: &OperationType, sender_addr: Address, @@ -146,10 +146,11 @@

    §Arguments
  • operation_id: ID of the operation
  • sender_addr: address of the sender
  • -
    source

    pub fn execute_async_message( +

    source

    pub fn execute_async_message( &self, message: AsyncMessage, bytecode: Option<Bytecode>, + execution_version: u32, ) -> Result<AsyncMessageExecutionResult, ExecutionError>

    Tries to execute an asynchronous message If the execution failed reimburse the message sender.

    §Arguments
    @@ -157,11 +158,11 @@
    §Arguments
  • message: message information
  • bytecode: executable target bytecode, or None if unavailable
  • -
    source

    fn execute_deferred_call( +
    source

    fn execute_deferred_call( &self, id: &DeferredCallId, call: DeferredCall, -) -> Result<DeferredCallExecutionResult, ExecutionError>

    source

    pub fn execute_slot( +) -> Result<DeferredCallExecutionResult, ExecutionError>

    source

    pub fn execute_slot( &self, slot: &Slot, exec_target: Option<&(BlockId, ExecutionBlockMetadata)>, @@ -176,19 +177,19 @@

    §Arguments
    §Returns

    An ExecutionOutput structure summarizing the output of the executed slot

    -
    source

    pub fn execute_candidate_slot( +

    source

    pub fn execute_candidate_slot( &mut self, slot: &Slot, exec_target: Option<&(BlockId, ExecutionBlockMetadata)>, selector: Box<dyn SelectorController>, )

    Execute a candidate slot

    -
    source

    pub fn execute_final_slot( +

    source

    pub fn execute_final_slot( &mut self, slot: &Slot, exec_target: Option<&(BlockId, ExecutionBlockMetadata)>, selector: Box<dyn SelectorController>, )

    Execute an SCE-final slot

    -
    source

    pub(crate) fn execute_readonly_request( +

    source

    pub(crate) fn execute_readonly_request( &self, req: ReadOnlyExecutionRequest, ) -> Result<ReadOnlyExecutionOutput, ExecutionError>

    Runs a read-only execution request. @@ -201,32 +202,32 @@

    §Arguments
    §Returns

    ExecutionOutput describing the output of the execution, or an error

    -
    source

    pub fn get_final_and_candidate_balance( +

    source

    pub fn get_final_and_candidate_balance( &self, address: &Address, ) -> (Option<Amount>, Option<Amount>)

    Gets a balance both at the latest final and candidate executed slots

    -
    source

    pub fn get_final_and_active_bytecode( +

    source

    pub fn get_final_and_active_bytecode( &self, address: &Address, ) -> (Option<Bytecode>, Option<Bytecode>)

    Gets a balance both at the latest final and candidate executed slots

    -
    source

    pub fn get_final_and_candidate_rolls(&self, address: &Address) -> (u64, u64)

    Gets roll counts both at the latest final and active executed slots

    -
    source

    pub fn get_final_and_active_data_entry( +

    source

    pub fn get_final_and_candidate_rolls(&self, address: &Address) -> (u64, u64)

    Gets roll counts both at the latest final and active executed slots

    +
    source

    pub fn get_final_and_active_data_entry( &self, address: &Address, key: &[u8], ) -> (Option<Vec<u8>>, Option<Vec<u8>>)

    Gets a data entry both at the latest final and active executed slots

    -
    source

    pub fn get_final_and_candidate_datastore_keys( +

    source

    pub fn get_final_and_candidate_datastore_keys( &self, addr: &Address, prefix: &[u8], ) -> (Option<BTreeSet<Vec<u8>>>, Option<BTreeSet<Vec<u8>>>)

    Get every final and active datastore key of the given address

    -
    source

    pub fn get_address_cycle_infos( +

    source

    pub fn get_address_cycle_infos( &self, address: &Address, -) -> Vec<ExecutionAddressCycleInfo>

    source

    pub fn get_cycle_active_rolls(&self, cycle: u64) -> BTreeMap<Address, u64>

    Returns for a given cycle the stakers taken into account +) -> Vec<ExecutionAddressCycleInfo>

    source

    pub fn get_cycle_active_rolls(&self, cycle: u64) -> BTreeMap<Address, u64>

    Returns for a given cycle the stakers taken into account by the selector. That correspond to the roll_counts in cycle - 3.

    By default it returns an empty map.

    -
    source

    pub fn get_filtered_sc_output_event( +

    source

    pub fn get_filtered_sc_output_event( &self, filter: EventFilter, ) -> Vec<SCOutputEvent>

    Gets execution events optionally filtered by:

    @@ -238,7 +239,7 @@
    §Returns
  • operation id
  • event state (final, candidate or both)
  • -
    source

    pub fn get_denunciation_execution_status( +

    source

    pub fn get_denunciation_execution_status( &self, denunciation_index: &DenunciationIndex, ) -> (bool, bool)

    Check if a denunciation has been executed given a DenunciationIndex @@ -247,22 +248,22 @@

    §Returns
  • first boolean is true if the denunciation has been executed speculatively
  • second boolean is true if the denunciation has been executed in the final state
  • -
    source

    pub fn get_cycle_infos( +

    source

    pub fn get_cycle_infos( &self, cycle: u64, restrict_to_addresses: Option<&PreHashSet<Address>>, ) -> Option<ExecutionQueryCycleInfos>

    Get cycle infos

    -
    source

    pub fn get_address_future_deferred_credits( +

    source

    pub fn get_address_future_deferred_credits( &self, address: &Address, max_slot: Bound<Slot>, ) -> BTreeMap<Slot, Amount>

    Get future deferred credits of an address

    -
    source

    pub fn get_address_deferred_credits( +

    source

    pub fn get_address_deferred_credits( &self, address: &Address, ) -> (BTreeMap<Slot, Amount>, BTreeMap<Slot, Amount>)

    Get future deferred credits of an address Returns tuple: (speculative, final)

    -
    source

    pub fn get_ops_exec_status( +

    source

    pub fn get_ops_exec_status( &self, batch: &[OperationId], ) -> Vec<(Option<bool>, Option<bool>)>

    Get the execution status of a batch of operations.

    @@ -271,20 +272,20 @@
    §Returns
    If an Option is None it means that the op execution was not found. Note that old op executions are forgotten. Otherwise, the status is a boolean indicating whether the execution was successful (true) or if there was an error (false.)

    -
    source

    pub fn update_versioning_stats( +

    source

    pub fn update_versioning_stats( &mut self, block_info: &Option<ExecutedBlockInfo>, slot: &Slot, )

    Update MipStore with block header stats

    -
    source

    pub fn deferred_call_quote( +
    source

    pub fn deferred_call_quote( &self, target_slot: Slot, max_request_gas: u64, params_size: u64, -) -> (Slot, u64, bool, Amount)

    source

    pub fn deferred_call_info( +) -> (Slot, u64, bool, Amount)

    source

    pub fn deferred_call_info( &self, call_id: &DeferredCallId, -) -> Option<DeferredCall>

    source

    pub fn get_deferred_calls_by_slot(&self, slot: Slot) -> Vec<DeferredCallId>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Option<DeferredCall>

    source

    pub fn get_deferred_calls_by_slot(&self, slot: Slot) -> Vec<DeferredCallId>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> ArchivePointee for T

    §

    type ArchivedMetadata = ()

    The archived version of the pointer metadata for this type.
    §

    fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    source§

    impl<T> Borrow<T> for T
    where diff --git a/massa_execution_worker/interface_impl/fn.amount_from_native_amount.html b/massa_execution_worker/interface_impl/fn.amount_from_native_amount.html index 3beb7107cd..a72744d565 100644 --- a/massa_execution_worker/interface_impl/fn.amount_from_native_amount.html +++ b/massa_execution_worker/interface_impl/fn.amount_from_native_amount.html @@ -1,2 +1,2 @@ -amount_from_native_amount in massa_execution_worker::interface_impl - Rust
    fn amount_from_native_amount(amount: &NativeAmount) -> Result<Amount>
    Expand description

    Helper function that creates an amount from a NativeAmount

    +amount_from_native_amount in massa_execution_worker::interface_impl - Rust
    fn amount_from_native_amount(amount: &NativeAmount) -> Result<Amount>
    Expand description

    Helper function that creates an amount from a NativeAmount

    \ No newline at end of file diff --git a/massa_execution_worker/interface_impl/fn.amount_to_native_amount.html b/massa_execution_worker/interface_impl/fn.amount_to_native_amount.html index d9797e84bc..da26496a7b 100644 --- a/massa_execution_worker/interface_impl/fn.amount_to_native_amount.html +++ b/massa_execution_worker/interface_impl/fn.amount_to_native_amount.html @@ -1,2 +1,2 @@ -amount_to_native_amount in massa_execution_worker::interface_impl - Rust
    fn amount_to_native_amount(amount: &Amount) -> NativeAmount
    Expand description

    Helper function that creates a NativeAmount from the amount internal representation

    +amount_to_native_amount in massa_execution_worker::interface_impl - Rust
    fn amount_to_native_amount(amount: &Amount) -> NativeAmount
    Expand description

    Helper function that creates a NativeAmount from the amount internal representation

    \ No newline at end of file diff --git a/massa_execution_worker/interface_impl/fn.get_address_from_opt_or_context.html b/massa_execution_worker/interface_impl/fn.get_address_from_opt_or_context.html index 7644464795..ae4897ef79 100644 --- a/massa_execution_worker/interface_impl/fn.get_address_from_opt_or_context.html +++ b/massa_execution_worker/interface_impl/fn.get_address_from_opt_or_context.html @@ -1,4 +1,4 @@ -get_address_from_opt_or_context in massa_execution_worker::interface_impl - Rust
    fn get_address_from_opt_or_context(
    +get_address_from_opt_or_context in massa_execution_worker::interface_impl - Rust
    fn get_address_from_opt_or_context(
         context: &ExecutionContext,
         option_address_string: Option<String>,
     ) -> Result<Address>
    Expand description

    Helper function to get the address from the option given as argument to some ABIs diff --git a/massa_execution_worker/interface_impl/fn.massa_time_from_native_time.html b/massa_execution_worker/interface_impl/fn.massa_time_from_native_time.html index dc134dda60..3207293e81 100644 --- a/massa_execution_worker/interface_impl/fn.massa_time_from_native_time.html +++ b/massa_execution_worker/interface_impl/fn.massa_time_from_native_time.html @@ -1,2 +1,2 @@ -massa_time_from_native_time in massa_execution_worker::interface_impl - Rust

    fn massa_time_from_native_time(time: &NativeTime) -> Result<MassaTime>
    Expand description

    Helper function that creates an MassaTime from a NativeTime

    +massa_time_from_native_time in massa_execution_worker::interface_impl - Rust
    fn massa_time_from_native_time(time: &NativeTime) -> Result<MassaTime>
    Expand description

    Helper function that creates an MassaTime from a NativeTime

    \ No newline at end of file diff --git a/massa_execution_worker/interface_impl/fn.massa_time_to_native_time.html b/massa_execution_worker/interface_impl/fn.massa_time_to_native_time.html index 96b3693bb1..21c5aa21cf 100644 --- a/massa_execution_worker/interface_impl/fn.massa_time_to_native_time.html +++ b/massa_execution_worker/interface_impl/fn.massa_time_to_native_time.html @@ -1,2 +1,2 @@ -massa_time_to_native_time in massa_execution_worker::interface_impl - Rust
    fn massa_time_to_native_time(time: &MassaTime) -> NativeTime
    Expand description

    Helper function that creates a NativeTime from the MassaTime internal representation

    +massa_time_to_native_time in massa_execution_worker::interface_impl - Rust
    fn massa_time_to_native_time(time: &MassaTime) -> NativeTime
    Expand description

    Helper function that creates a NativeTime from the MassaTime internal representation

    \ No newline at end of file diff --git a/massa_execution_worker/interface_impl/index.html b/massa_execution_worker/interface_impl/index.html index 2cf2c34706..db8476a032 100644 --- a/massa_execution_worker/interface_impl/index.html +++ b/massa_execution_worker/interface_impl/index.html @@ -1,4 +1,4 @@ -massa_execution_worker::interface_impl - Rust

    Module massa_execution_worker::interface_impl

    source ·
    Expand description

    Implementation of the interface between massa-execution-worker and massa-sc-runtime. +massa_execution_worker::interface_impl - Rust

    Module massa_execution_worker::interface_impl

    source ·
    Expand description

    Implementation of the interface between massa-execution-worker and massa-sc-runtime. This allows the VM runtime to access the Massa execution context, for example to interact with the ledger. See the definition of Interface in the massa-sc-runtime crate for functional details.

    diff --git a/massa_execution_worker/interface_impl/struct.InterfaceImpl.html b/massa_execution_worker/interface_impl/struct.InterfaceImpl.html index 17e88ce482..da333c4785 100644 --- a/massa_execution_worker/interface_impl/struct.InterfaceImpl.html +++ b/massa_execution_worker/interface_impl/struct.InterfaceImpl.html @@ -4,7 +4,7 @@ }
    Expand description

    an implementation of the Interface trait (see massa-sc-runtime crate)

    Fields§

    §config: ExecutionConfig

    execution configuration

    §context: Arc<Mutex<ExecutionContext>>

    thread-safe shared access to the execution context (see context.rs)

    -

    Implementations§

    source§

    impl InterfaceImpl

    source

    pub fn new( +

    Implementations§

    source§

    impl InterfaceImpl

    source

    pub fn new( config: ExecutionConfig, context: Arc<Mutex<ExecutionContext>>, ) -> InterfaceImpl

    creates a new InterfaceImpl

    @@ -13,12 +13,12 @@
    §Arguments
  • config: execution configuration
  • context: thread-safe shared access to the current execution context (see context.rs)
  • -

    Trait Implementations§

    source§

    impl Clone for InterfaceImpl

    source§

    fn clone(&self) -> InterfaceImpl

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Interface for InterfaceImpl

    Implementation of the Interface trait providing functions for massa-sc-runtime to call +

    Trait Implementations§

    source§

    impl Clone for InterfaceImpl

    source§

    fn clone(&self) -> InterfaceImpl

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Interface for InterfaceImpl

    Implementation of the Interface trait providing functions for massa-sc-runtime to call in order to interact with the execution context during bytecode execution. See the massa-sc-runtime crate for a functional description of the trait and its methods. Note that massa-sc-runtime uses basic types (str for addresses, u64 for amounts…) for genericity.

    -
    source§

    fn print(&self, message: &str) -> Result<()>

    prints a message in the node logs at log level 3 (debug)

    -
    source§

    fn init_call(&self, address: &str, raw_coins: u64) -> Result<Vec<u8>>

    Initialize the call when bytecode calls a function from another bytecode +

    source§

    fn print(&self, message: &str) -> Result<()>

    prints a message in the node logs at log level 3 (debug)

    +
    source§

    fn init_call(&self, address: &str, raw_coins: u64) -> Result<Vec<u8>>

    Initialize the call when bytecode calls a function from another bytecode This function transfers the coins passed as parameter, prepares the current execution context by pushing a new element on the top of the call stack, and returns the target bytecode from the ledger.

    @@ -29,24 +29,24 @@
    §Arguments
    §Returns

    The target bytecode or an error

    -
    source§

    fn finish_call(&self) -> Result<()>

    Called to finish the call process after a bytecode calls a function from another one. +

    source§

    fn finish_call(&self) -> Result<()>

    Called to finish the call process after a bytecode calls a function from another one. This function just pops away the top element of the call stack.

    -
    source§

    fn get_module(&self, bytecode: &[u8], gas_limit: u64) -> Result<RuntimeModule>

    Get the module from cache if possible, compile it if not

    +
    source§

    fn get_module(&self, bytecode: &[u8], gas_limit: u64) -> Result<RuntimeModule>

    Get the module from cache if possible, compile it if not

    §Returns

    A massa-sc-runtime CL compiled module & the remaining gas after loading the module

    -
    source§

    fn get_tmp_module( +

    source§

    fn get_tmp_module( &self, bytecode: &[u8], gas_limit: u64, ) -> Result<RuntimeModule>

    Compile and return a temporary module

    §Returns

    A massa-sc-runtime SP compiled module & the remaining gas after loading the module

    -
    source§

    fn get_balance(&self) -> Result<u64>

    Gets the balance of the current address address (top of the stack).

    +
    source§

    fn get_balance(&self) -> Result<u64>

    Gets the balance of the current address address (top of the stack).

    §Returns

    The raw representation (no decimal factor) of the balance of the address, or zero if the address is not found in the ledger.

    [DeprecatedByNewRuntime] Replaced by get_balance_wasmv1

    -
    source§

    fn get_balance_for(&self, address: &str) -> Result<u64>

    Gets the balance of arbitrary address passed as argument.

    +
    source§

    fn get_balance_for(&self, address: &str) -> Result<u64>

    Gets the balance of arbitrary address passed as argument.

    §Arguments
    • address: string representation of the address for which to get the balance
    • @@ -55,7 +55,7 @@
      §Returns

      The raw representation (no decimal factor) of the balance of the address, or zero if the address is not found in the ledger.

      [DeprecatedByNewRuntime] Replaced by get_balance_wasmv1

      -
    source§

    fn get_balance_wasmv1(&self, address: Option<String>) -> Result<NativeAmount>

    Gets the balance of arbitrary address passed as argument, or the balance of the current address if no argument is passed.

    +
    source§

    fn get_balance_wasmv1(&self, address: Option<String>) -> Result<NativeAmount>

    Gets the balance of arbitrary address passed as argument, or the balance of the current address if no argument is passed.

    §Arguments
    • address: string representation of the address for which to get the balance
    • @@ -63,7 +63,7 @@
      §Arguments§Returns

      The raw representation (no decimal factor) of the balance of the address, or zero if the address is not found in the ledger.

      -
    source§

    fn create_module(&self, bytecode: &[u8]) -> Result<String>

    Creates a new ledger entry with the initial bytecode given as argument. +

    source§

    fn create_module(&self, bytecode: &[u8]) -> Result<String>

    Creates a new ledger entry with the initial bytecode given as argument. A new unique address is generated for that entry and returned.

    §Arguments
      @@ -71,11 +71,11 @@
      §Arguments
      §Returns

      The string representation of the newly created address

      -
    source§

    fn get_keys(&self, prefix_opt: Option<&[u8]>) -> Result<BTreeSet<Vec<u8>>>

    Get the datastore keys (aka entries) for a given address

    +
    source§

    fn get_keys(&self, prefix_opt: Option<&[u8]>) -> Result<BTreeSet<Vec<u8>>>

    Get the datastore keys (aka entries) for a given address

    §Returns

    A list of keys (keys are byte arrays)

    [DeprecatedByNewRuntime] Replaced by get_keys_wasmv1

    -
    source§

    fn get_keys_for( +

    source§

    fn get_keys_for( &self, address: &str, prefix_opt: Option<&[u8]>, @@ -83,14 +83,14 @@

    §Returns
    §Returns

    A list of keys (keys are byte arrays)

    [DeprecatedByNewRuntime] Replaced by get_keys_wasmv1

    -
    source§

    fn get_ds_keys_wasmv1( +

    source§

    fn get_ds_keys_wasmv1( &self, prefix: &[u8], address: Option<String>, ) -> Result<BTreeSet<Vec<u8>>>

    Get the datastore keys (aka entries) for a given address, or the current address if none is provided

    §Returns

    A list of keys (keys are byte arrays)

    -
    source§

    fn raw_get_data(&self, key: &[u8]) -> Result<Vec<u8>>

    Gets a datastore value by key for the current address (top of the call stack).

    +
    source§

    fn raw_get_data(&self, key: &[u8]) -> Result<Vec<u8>>

    Gets a datastore value by key for the current address (top of the call stack).

    §Arguments
    • key: string key of the datastore entry to retrieve
    • @@ -98,7 +98,7 @@
      §Arguments§Returns

      The datastore value matching the provided key, if found, otherwise an error.

      [DeprecatedByNewRuntime] Replaced by raw_get_data_wasmv1

      -
    source§

    fn raw_get_data_for(&self, address: &str, key: &[u8]) -> Result<Vec<u8>>

    Gets a datastore value by key for a given address.

    +
    source§

    fn raw_get_data_for(&self, address: &str, key: &[u8]) -> Result<Vec<u8>>

    Gets a datastore value by key for a given address.

    §Arguments
    • address: string representation of the address
    • @@ -107,7 +107,7 @@
      §Arguments§Returns

      The datastore value matching the provided key, if found, otherwise an error.

      [DeprecatedByNewRuntime] Replaced by raw_get_data_wasmv1

      -
    source§

    fn get_ds_value_wasmv1( +

    source§

    fn get_ds_value_wasmv1( &self, key: &[u8], address: Option<String>, @@ -119,7 +119,7 @@

    §Arguments
    §Returns

    The datastore value matching the provided key, if found, otherwise an error.

    -
    source§

    fn raw_set_data(&self, key: &[u8], value: &[u8]) -> Result<()>

    Sets a datastore entry for the current address (top of the call stack). +

    source§

    fn raw_set_data(&self, key: &[u8], value: &[u8]) -> Result<()>

    Sets a datastore entry for the current address (top of the call stack). Fails if the address does not exist. Creates the entry if does not exist.

    §Arguments
    @@ -129,7 +129,7 @@
    §Argumentsvalue: new value to set

    [DeprecatedByNewRuntime] Replaced by raw_set_data_wasmv1

    -
    source§

    fn raw_set_data_for( +

    source§

    fn raw_set_data_for( &self, address: &str, key: &[u8], @@ -144,7 +144,7 @@

    §Argumentsvalue: new value to set

    [DeprecatedByNewRuntime] Replaced by raw_set_data_wasmv1

    -
    source§

    fn raw_append_data(&self, key: &[u8], value: &[u8]) -> Result<()>

    Appends data to a datastore entry for the current address (top of the call stack). +

    source§

    fn raw_append_data(&self, key: &[u8], value: &[u8]) -> Result<()>

    Appends data to a datastore entry for the current address (top of the call stack). Fails if the address or entry does not exist.

    §Arguments
      @@ -152,7 +152,7 @@
      §Arguments
    • value: value to append

    [DeprecatedByNewRuntime] Replaced by raw_append_data_wasmv1

    -
    source§

    fn raw_append_data_for( +

    source§

    fn raw_append_data_for( &self, address: &str, key: &[u8], @@ -166,7 +166,7 @@

    §Arguments
  • value: value to append
  • [DeprecatedByNewRuntime] Replaced by raw_append_data_wasmv1

    -
    source§

    fn append_ds_value_wasmv1( +

    source§

    fn append_ds_value_wasmv1( &self, key: &[u8], value: &[u8], @@ -179,14 +179,14 @@

    §Arguments
  • key: string key of the datastore entry
  • value: value to append
  • -
    source§

    fn raw_delete_data(&self, key: &[u8]) -> Result<()>

    Deletes a datastore entry by key for the current address (top of the call stack). +

    source§

    fn raw_delete_data(&self, key: &[u8]) -> Result<()>

    Deletes a datastore entry by key for the current address (top of the call stack). Fails if the address or entry does not exist.

    §Arguments
    • key: string key of the datastore entry to delete

    [DeprecatedByNewRuntime] Replaced by raw_delete_data_wasmv1

    -
    source§

    fn raw_delete_data_for(&self, address: &str, key: &[u8]) -> Result<()>

    Deletes a datastore entry by key for a given address. +

    source§

    fn raw_delete_data_for(&self, address: &str, key: &[u8]) -> Result<()>

    Deletes a datastore entry by key for a given address. Fails if the address or entry does not exist.

    §Arguments
      @@ -194,7 +194,7 @@
      §Arguments
    • key: string key of the datastore entry to delete

    [DeprecatedByNewRuntime] Replaced by raw_delete_data_wasmv1

    -
    source§

    fn delete_ds_entry_wasmv1( +

    source§

    fn delete_ds_entry_wasmv1( &self, key: &[u8], address: Option<String>, @@ -205,7 +205,7 @@

    §Arguments
  • address: string representation of the address
  • key: string key of the datastore entry to delete
  • -
    source§

    fn has_data(&self, key: &[u8]) -> Result<bool>

    Checks if a datastore entry exists for the current address (top of the call stack).

    +
    source§

    fn has_data(&self, key: &[u8]) -> Result<bool>

    Checks if a datastore entry exists for the current address (top of the call stack).

    §Arguments
    • key: string key of the datastore entry to retrieve
    • @@ -213,7 +213,7 @@
      §Arguments
      §Returns

      true if the address exists and has the entry matching the provided key in its datastore, otherwise false

      [DeprecatedByNewRuntime] Replaced by has_data_wasmv1

      -
    source§

    fn has_data_for(&self, address: &str, key: &[u8]) -> Result<bool>

    Checks if a datastore entry exists for a given address.

    +
    source§

    fn has_data_for(&self, address: &str, key: &[u8]) -> Result<bool>

    Checks if a datastore entry exists for a given address.

    §Arguments
    • address: string representation of the address
    • @@ -222,7 +222,7 @@
      §Arguments
      §Returns

      true if the address exists and has the entry matching the provided key in its datastore, otherwise false

      [DeprecatedByNewRuntime] Replaced by has_data_wasmv1

      -
    source§

    fn ds_entry_exists_wasmv1( +

    source§

    fn ds_entry_exists_wasmv1( &self, key: &[u8], address: Option<String>, @@ -234,24 +234,24 @@

    §Arguments
    §Returns

    true if the address exists and has the entry matching the provided key in its datastore, otherwise false

    -
    source§

    fn caller_has_write_access(&self) -> Result<bool>

    Check whether or not the caller has write access in the current context

    +
    source§

    fn caller_has_write_access(&self) -> Result<bool>

    Check whether or not the caller has write access in the current context

    §Returns

    true if the caller has write access

    -
    source§

    fn raw_get_bytecode(&self) -> Result<Vec<u8>>

    Returns bytecode of the current address

    +
    source§

    fn raw_get_bytecode(&self) -> Result<Vec<u8>>

    Returns bytecode of the current address

    [DeprecatedByNewRuntime] Replaced by raw_get_bytecode_wasmv1

    -
    source§

    fn raw_get_bytecode_for(&self, address: &str) -> Result<Vec<u8>>

    Returns bytecode of the target address

    +
    source§

    fn raw_get_bytecode_for(&self, address: &str) -> Result<Vec<u8>>

    Returns bytecode of the target address

    [DeprecatedByNewRuntime] Replaced by raw_get_bytecode_wasmv1

    -
    source§

    fn get_bytecode_wasmv1(&self, address: Option<String>) -> Result<Vec<u8>>

    Returns bytecode of the target address, or the current address if not provided

    -
    source§

    fn get_op_keys(&self, prefix_opt: Option<&[u8]>) -> Result<Vec<Vec<u8>>>

    Get the operation datastore keys (aka entries). +

    source§

    fn get_bytecode_wasmv1(&self, address: Option<String>) -> Result<Vec<u8>>

    Returns bytecode of the target address, or the current address if not provided

    +
    source§

    fn get_op_keys(&self, prefix_opt: Option<&[u8]>) -> Result<Vec<Vec<u8>>>

    Get the operation datastore keys (aka entries). Note that the datastore is only accessible to the initial caller level.

    §Returns

    A list of keys (keys are byte arrays)

    [DeprecatedByNewRuntime] Replaced by get_op_keys_wasmv1

    -
    source§

    fn get_op_keys_wasmv1(&self, prefix: &[u8]) -> Result<Vec<Vec<u8>>>

    Get the operation datastore keys (aka entries). +

    source§

    fn get_op_keys_wasmv1(&self, prefix: &[u8]) -> Result<Vec<Vec<u8>>>

    Get the operation datastore keys (aka entries). Note that the datastore is only accessible to the initial caller level.

    §Returns

    A list of keys (keys are byte arrays) that match the given prefix

    -
    source§

    fn op_entry_exists(&self, key: &[u8]) -> Result<bool>

    Checks if an operation datastore entry exists in the operation datastore. +

    source§

    fn op_entry_exists(&self, key: &[u8]) -> Result<bool>

    Checks if an operation datastore entry exists in the operation datastore. Note that the datastore is only accessible to the initial caller level.

    §Arguments
      @@ -259,7 +259,7 @@
      §Arguments
    §Returns

    true if the entry is matching the provided key in its operation datastore, otherwise false

    -
    source§

    fn get_op_data(&self, key: &[u8]) -> Result<Vec<u8>>

    Gets an operation datastore value by key. +

    source§

    fn get_op_data(&self, key: &[u8]) -> Result<Vec<u8>>

    Gets an operation datastore value by key. Note that the datastore is only accessible to the initial caller level.

    §Arguments
      @@ -267,21 +267,21 @@
      §Arguments
    §Returns

    The operation datastore value matching the provided key, if found, otherwise an error.

    -
    source§

    fn hash(&self, data: &[u8]) -> Result<[u8; 32]>

    Hashes arbitrary data

    +
    source§

    fn hash(&self, data: &[u8]) -> Result<[u8; 32]>

    Hashes arbitrary data

    §Arguments
    • data: data bytes to hash
    §Returns

    The hash in bytes format

    -
    source§

    fn address_from_public_key(&self, public_key: &str) -> Result<String>

    Converts a public key to an address

    +
    source§

    fn address_from_public_key(&self, public_key: &str) -> Result<String>

    Converts a public key to an address

    §Arguments
    • public_key: string representation of the public key
    §Returns

    The string representation of the resulting address

    -
    source§

    fn signature_verify( +

    source§

    fn signature_verify( &self, data: &[u8], signature: &str, @@ -295,7 +295,7 @@

    §Arguments
    §Returns

    true if the signature verification succeeded, false otherwise

    -
    source§

    fn evm_signature_verify( +

    source§

    fn evm_signature_verify( &self, message_: &[u8], signature_: &[u8], @@ -309,22 +309,22 @@

    §Returns
  • Expects a public key in raw secp256k1 format. Length: 64 bytes
  • -
    source§

    fn hash_keccak256(&self, bytes: &[u8]) -> Result<[u8; 32]>

    Keccak256 hash function

    -
    source§

    fn evm_get_address_from_pubkey(&self, public_key_: &[u8]) -> Result<Vec<u8>>

    Get an EVM address from a raw secp256k1 public key (64 bytes). +

    source§

    fn hash_keccak256(&self, bytes: &[u8]) -> Result<[u8; 32]>

    Keccak256 hash function

    +
    source§

    fn evm_get_address_from_pubkey(&self, public_key_: &[u8]) -> Result<Vec<u8>>

    Get an EVM address from a raw secp256k1 public key (64 bytes). Address is the last 20 bytes of the hash of the public key.

    -
    source§

    fn evm_get_pubkey_from_signature( +

    source§

    fn evm_get_pubkey_from_signature( &self, hash_: &[u8], signature_: &[u8], ) -> Result<Vec<u8>>

    Get a raw secp256k1 public key from an EVM signature and the signed hash.

    -
    source§

    fn transfer_coins(&self, to_address: &str, raw_amount: u64) -> Result<()>

    Transfer coins from the current address (top of the call stack) towards a target address.

    +
    source§

    fn transfer_coins(&self, to_address: &str, raw_amount: u64) -> Result<()>

    Transfer coins from the current address (top of the call stack) towards a target address.

    §Arguments
    • to_address: string representation of the address to which the coins are sent
    • raw_amount: raw representation (no decimal factor) of the amount of coins to transfer

    [DeprecatedByNewRuntime] Replaced by transfer_coins_wasmv1

    -
    source§

    fn transfer_coins_for( +

    source§

    fn transfer_coins_for( &self, from_address: &str, to_address: &str, @@ -337,7 +337,7 @@

    §Arguments
  • raw_amount: raw representation (no decimal factor) of the amount of coins to transfer
  • [DeprecatedByNewRuntime] Replaced by transfer_coins_wasmv1

    -
    source§

    fn transfer_coins_wasmv1( +

    source§

    fn transfer_coins_wasmv1( &self, to_address: String, raw_amount: NativeAmount, @@ -349,49 +349,49 @@

    §Arguments
  • raw_amount: raw representation (no decimal factor) of the amount of coins to transfer
  • from_address: string representation of the address that is sending the coins
  • -
    source§

    fn get_owned_addresses(&self) -> Result<Vec<String>>

    Returns the list of owned addresses (top of the call stack). +

    source§

    fn get_owned_addresses(&self) -> Result<Vec<String>>

    Returns the list of owned addresses (top of the call stack). Those addresses are the ones the current execution context has write access to, typically it includes the current address itself, but also the ones that were created previously by the current call to allow initializing them.

    §Returns

    A vector with the string representation of each owned address. Note that the ordering of this vector is deterministic and conserved.

    -
    source§

    fn get_call_stack(&self) -> Result<Vec<String>>

    Returns the addresses in the call stack, from the bottom to the top.

    +
    source§

    fn get_call_stack(&self) -> Result<Vec<String>>

    Returns the addresses in the call stack, from the bottom to the top.

    §Returns

    A vector with the string representation of each call stack address.

    -
    source§

    fn get_call_coins(&self) -> Result<u64>

    Gets the amount of coins that have been transferred at the beginning of the call. +

    source§

    fn get_call_coins(&self) -> Result<u64>

    Gets the amount of coins that have been transferred at the beginning of the call. See the init_call method.

    §Returns

    The raw representation (no decimal factor) of the amount of coins

    [DeprecatedByNewRuntime] Replaced by get_call_coins_wasmv1

    -
    source§

    fn get_call_coins_wasmv1(&self) -> Result<NativeAmount>

    Gets the amount of coins that have been transferred at the beginning of the call. +

    source§

    fn get_call_coins_wasmv1(&self) -> Result<NativeAmount>

    Gets the amount of coins that have been transferred at the beginning of the call. See the init_call method.

    §Returns

    The amount of coins

    -
    source§

    fn generate_event(&self, data: String) -> Result<()>

    Emits an execution event to be stored.

    +
    source§

    fn generate_event(&self, data: String) -> Result<()>

    Emits an execution event to be stored.

    §Arguments:

    data: the string data that is the payload of the event

    [DeprecatedByNewRuntime] Replaced by get_current_slot

    -
    source§

    fn generate_event_wasmv1(&self, data: Vec<u8>) -> Result<()>

    Emits an execution event to be stored.

    +
    source§

    fn generate_event_wasmv1(&self, data: Vec<u8>) -> Result<()>

    Emits an execution event to be stored.

    §Arguments:

    data: the bytes_array data that is the payload of the event

    -
    source§

    fn get_time(&self) -> Result<u64>

    Returns the current time (millisecond UNIX timestamp) +

    source§

    fn get_time(&self) -> Result<u64>

    Returns the current time (millisecond UNIX timestamp) Note that in order to ensure determinism, this is actually the time of the context slot.

    -
    source§

    fn unsafe_random(&self) -> Result<i64>

    Returns a pseudo-random deterministic i64 number

    +
    source§

    fn unsafe_random(&self) -> Result<i64>

    Returns a pseudo-random deterministic i64 number

    §Warning

    This random number generator is unsafe: it can be both predicted and manipulated before the execution

    [DeprecatedByNewRuntime] Replaced by unsafe_random_wasmv1

    -
    source§

    fn unsafe_random_f64(&self) -> Result<f64>

    Returns a pseudo-random deterministic f64 number

    +
    source§

    fn unsafe_random_f64(&self) -> Result<f64>

    Returns a pseudo-random deterministic f64 number

    §Warning

    This random number generator is unsafe: it can be both predicted and manipulated before the execution

    [DeprecatedByNewRuntime] Replaced by unsafe_random_wasmv1

    -
    source§

    fn unsafe_random_wasmv1(&self, num_bytes: u64) -> Result<Vec<u8>>

    Returns a pseudo-random deterministic byte array, with the given number of bytes

    +
    source§

    fn unsafe_random_wasmv1(&self, num_bytes: u64) -> Result<Vec<u8>>

    Returns a pseudo-random deterministic byte array, with the given number of bytes

    §Warning

    This random number generator is unsafe: it can be both predicted and manipulated before the execution

    -
    source§

    fn send_message( +

    source§

    fn send_message( &self, target_address: &str, target_function: &str, @@ -414,37 +414,37 @@

    §Arguments
  • raw_coins: Coins given by the sender
  • data: Message data
  • -
    source§

    fn get_current_period(&self) -> Result<u64>

    Returns the period of the current execution slot

    +
    source§

    fn get_current_period(&self) -> Result<u64>

    Returns the period of the current execution slot

    [DeprecatedByNewRuntime] Replaced by get_current_slot

    -
    source§

    fn get_current_thread(&self) -> Result<u8>

    Returns the thread of the current execution slot

    +
    source§

    fn get_current_thread(&self) -> Result<u8>

    Returns the thread of the current execution slot

    [DeprecatedByNewRuntime] Replaced by get_current_slot

    -
    source§

    fn get_current_slot(&self) -> Result<Slot>

    Returns the current execution slot

    -
    source§

    fn raw_set_bytecode(&self, bytecode: &[u8]) -> Result<()>

    Sets the bytecode of the current address

    +
    source§

    fn get_current_slot(&self) -> Result<Slot>

    Returns the current execution slot

    +
    source§

    fn raw_set_bytecode(&self, bytecode: &[u8]) -> Result<()>

    Sets the bytecode of the current address

    [DeprecatedByNewRuntime] Replaced by raw_set_bytecode_wasmv1

    -
    source§

    fn raw_set_bytecode_for(&self, address: &str, bytecode: &[u8]) -> Result<()>

    Sets the bytecode of an arbitrary address. +

    source§

    fn raw_set_bytecode_for(&self, address: &str, bytecode: &[u8]) -> Result<()>

    Sets the bytecode of an arbitrary address. Fails if the address does not exist, is an user address, or if the context doesn’t have write access rights on it.

    [DeprecatedByNewRuntime] Replaced by raw_set_bytecode_wasmv1

    -
    source§

    fn set_bytecode_wasmv1( +

    source§

    fn set_bytecode_wasmv1( &self, bytecode: &[u8], address: Option<String>, ) -> Result<()>

    Sets the bytecode of an arbitrary address, or the current address if not provided. Fails if the address does not exist, is an user address, or if the context doesn’t have write access rights on it.

    -
    source§

    fn hash_sha256(&self, bytes: &[u8]) -> Result<[u8; 32]>

    Hashes givens byte array with sha256

    +
    source§

    fn hash_sha256(&self, bytes: &[u8]) -> Result<[u8; 32]>

    Hashes givens byte array with sha256

    §Arguments
    • bytes: byte array to hash
    §Returns

    The byte array of the resulting hash

    -
    source§

    fn hash_blake3(&self, bytes: &[u8]) -> Result<[u8; 32]>

    Hashes givens byte array with blake3

    +
    source§

    fn hash_blake3(&self, bytes: &[u8]) -> Result<[u8; 32]>

    Hashes givens byte array with blake3

    §Arguments
    • bytes: byte array to hash
    §Returns

    The byte array of the resulting hash

    -
    source§

    fn get_deferred_call_quote( +

    source§

    fn get_deferred_call_quote( &self, target_slot: (u64, u8), gas_limit: u64, @@ -457,7 +457,7 @@

    §Arguments
    §Returns

    A tuple containing a boolean indicating if the call is possible and the amount of fees needed

    -
    source§

    fn deferred_call_register( +

    source§

    fn deferred_call_register( &self, target_addr: &str, target_func: &str, @@ -477,101 +477,100 @@

    §Arguments
    §Returns

    The id of the call

    -
    source§

    fn deferred_call_exists(&self, id: &str) -> Result<bool>

    Check if an deferred call exists

    +
    source§

    fn deferred_call_exists(&self, id: &str) -> Result<bool>

    Check if an deferred call exists

    §Arguments
    • id: the id of the call
    §Returns

    true if the call exists, false otherwise

    -
    source§

    fn deferred_call_cancel(&self, id: &str) -> Result<()>

    Cancel a deferred call

    +
    source§

    fn deferred_call_cancel(&self, id: &str) -> Result<()>

    Cancel a deferred call

    §Arguments
    • id: the id of the call
    -
    source§

    fn native_amount_from_str_wasmv1(&self, amount: &str) -> Result<NativeAmount>

    Returns a NativeAmount from a string

    -
    source§

    fn native_amount_to_string_wasmv1( +

    source§

    fn native_amount_from_str_wasmv1(&self, amount: &str) -> Result<NativeAmount>

    Returns a NativeAmount from a string

    +
    source§

    fn native_amount_to_string_wasmv1( &self, amount: &NativeAmount, ) -> Result<String>

    Returns a string from a NativeAmount

    -
    source§

    fn check_native_amount_wasmv1(&self, amount: &NativeAmount) -> Result<bool>

    Checks if the given native amount is valid

    -
    source§

    fn add_native_amount_wasmv1( +

    source§

    fn check_native_amount_wasmv1(&self, amount: &NativeAmount) -> Result<bool>

    Checks if the given native amount is valid

    +
    source§

    fn add_native_amount_wasmv1( &self, amount1: &NativeAmount, amount2: &NativeAmount, ) -> Result<NativeAmount>

    Adds two native amounts, saturating at the numeric bounds instead of overflowing.

    -
    source§

    fn sub_native_amount_wasmv1( +

    source§

    fn sub_native_amount_wasmv1( &self, amount1: &NativeAmount, amount2: &NativeAmount, ) -> Result<NativeAmount>

    Subtracts two native amounts, saturating at the numeric bounds instead of overflowing.

    -
    source§

    fn scalar_mul_native_amount_wasmv1( +

    source§

    fn scalar_mul_native_amount_wasmv1( &self, amount: &NativeAmount, factor: u64, ) -> Result<NativeAmount>

    Multiplies a native amount by a factor, saturating at the numeric bounds instead of overflowing.

    -
    source§

    fn scalar_div_rem_native_amount_wasmv1( +

    source§

    fn scalar_div_rem_native_amount_wasmv1( &self, dividend: &NativeAmount, divisor: u64, ) -> Result<(NativeAmount, NativeAmount)>

    Divides a native amount by a divisor, return an error if the divisor is 0.

    -
    source§

    fn div_rem_native_amount_wasmv1( +

    source§

    fn div_rem_native_amount_wasmv1( &self, dividend: &NativeAmount, divisor: &NativeAmount, ) -> Result<(u64, NativeAmount)>

    Divides a native amount by a divisor, return an error if the divisor is 0.

    -
    source§

    fn save_gas_remaining_before_subexecution(&self, gas_remaining: u64)

    Try to get a write lock on the execution context then set the +

    source§

    fn save_gas_remaining_before_subexecution(&self, gas_remaining: u64)

    Try to get a write lock on the execution context then set the gas_used_until_the_last_subexecution field to the given gas_remaining value.

    If the context is locked, this function does nothing but log a warning.

    -
    source§

    fn get_interface_version(&self) -> Result<u32>

    Interface version to sync with the runtime for its versioning

    -
    source§

    fn increment_recursion_counter(&self) -> Result<()>

    source§

    fn decrement_recursion_counter(&self) -> Result<()>

    source§

    fn set_ds_value_wasmv1( +
    source§

    fn get_interface_version(&self) -> Result<u32>

    source§

    fn increment_recursion_counter(&self) -> Result<()>

    source§

    fn decrement_recursion_counter(&self) -> Result<()>

    source§

    fn set_ds_value_wasmv1( &self, key: &[u8], value: &[u8], address: Option<String>, -) -> Result<()>

    source§

    fn validate_address(&self, address: &str) -> Result<bool>

    Validate an address
    source§

    fn is_address_eoa(&self, address_: &str) -> Result<bool>

    Return true if the address is a User address, false if it is an SC -address
    source§

    fn get_origin_operation_id(&self) -> Result<Option<String>>

    source§

    fn init_call_wasmv1( +) -> Result<()>

    source§

    fn validate_address(&self, address: &str) -> Result<bool>

    Validate an address
    source§

    fn is_address_eoa(&self, address_: &str) -> Result<bool>

    Return true if the address is a User address, false if it is an SC +address
    source§

    fn get_origin_operation_id(&self) -> Result<Option<String>>

    source§

    fn init_call_wasmv1( &self, address: &str, raw_coins: NativeAmount, ) -> Result<Vec<u8>>

    Prepare the execution of a module at the given address and transfer a -given amount of coins
    source§

    fn base58_check_to_bytes_wasmv1(&self, s: &str) -> Result<Vec<u8>>

    source§

    fn bytes_to_base58_check_wasmv1(&self, data: &[u8]) -> String

    source§

    fn check_address_wasmv1(&self, to_check: &str) -> Result<bool>

    source§

    fn check_pubkey_wasmv1(&self, to_check: &str) -> Result<bool>

    source§

    fn check_signature_wasmv1(&self, to_check: &str) -> Result<bool>

    source§

    fn get_address_category_wasmv1(&self, to_check: &str) -> Result<AddressCategory>

    source§

    fn get_address_version_wasmv1(&self, address: &str) -> Result<u64>

    source§

    fn get_pubkey_version_wasmv1(&self, pubkey: &str) -> Result<u64>

    source§

    fn get_signature_version_wasmv1(&self, signature: &str) -> Result<u64>

    source§

    fn checked_add_native_time_wasmv1( +given amount of coins

    source§

    fn base58_check_to_bytes_wasmv1(&self, s: &str) -> Result<Vec<u8>>

    source§

    fn bytes_to_base58_check_wasmv1(&self, data: &[u8]) -> String

    source§

    fn check_address_wasmv1(&self, to_check: &str) -> Result<bool>

    source§

    fn check_pubkey_wasmv1(&self, to_check: &str) -> Result<bool>

    source§

    fn check_signature_wasmv1(&self, to_check: &str) -> Result<bool>

    source§

    fn get_address_category_wasmv1(&self, to_check: &str) -> Result<AddressCategory>

    source§

    fn get_address_version_wasmv1(&self, address: &str) -> Result<u64>

    source§

    fn get_pubkey_version_wasmv1(&self, pubkey: &str) -> Result<u64>

    source§

    fn get_signature_version_wasmv1(&self, signature: &str) -> Result<u64>

    source§

    fn checked_add_native_time_wasmv1( &self, time1: &NativeTime, time2: &NativeTime, -) -> Result<NativeTime>

    source§

    fn checked_sub_native_time_wasmv1( +) -> Result<NativeTime>

    source§

    fn checked_sub_native_time_wasmv1( &self, time1: &NativeTime, time2: &NativeTime, -) -> Result<NativeTime>

    source§

    fn checked_mul_native_time_wasmv1( +) -> Result<NativeTime>

    source§

    fn checked_mul_native_time_wasmv1( &self, time: &NativeTime, factor: u64, -) -> Result<NativeTime>

    source§

    fn checked_scalar_div_native_time_wasmv1( +) -> Result<NativeTime>

    source§

    fn checked_scalar_div_native_time_wasmv1( &self, dividend: &NativeTime, divisor: u64, -) -> Result<(NativeTime, NativeTime)>

    source§

    fn checked_div_native_time_wasmv1( +) -> Result<(NativeTime, NativeTime)>

    source§

    fn checked_div_native_time_wasmv1( &self, dividend: &NativeTime, divisor: &NativeTime, -) -> Result<(u64, NativeTime)>

    source§

    fn compare_address_wasmv1( +) -> Result<(u64, NativeTime)>

    source§

    fn compare_address_wasmv1( &self, left: &str, right: &str, -) -> Result<ComparisonResult>

    source§

    fn compare_native_amount_wasmv1( +) -> Result<ComparisonResult>

    source§

    fn compare_native_amount_wasmv1( &self, left: &NativeAmount, right: &NativeAmount, -) -> Result<ComparisonResult>

    source§

    fn compare_native_time_wasmv1( +) -> Result<ComparisonResult>

    source§

    fn compare_native_time_wasmv1( &self, left: &NativeTime, right: &NativeTime, -) -> Result<ComparisonResult>

    source§

    fn compare_pub_key_wasmv1( +) -> Result<ComparisonResult>

    source§

    fn compare_pub_key_wasmv1( &self, left: &str, right: &str, -) -> Result<ComparisonResult>

    source§

    fn chain_id(&self) -> Result<u64>

    source§

    impl InterfaceClone for InterfaceImpl

    source§

    fn clone_box(&self) -> Box<dyn Interface>

    allows cloning a boxed InterfaceImpl

    +) -> Result<ComparisonResult>

    source§

    fn chain_id(&self) -> Result<u64>

    source§

    impl InterfaceClone for InterfaceImpl

    source§

    fn clone_box(&self) -> Box<dyn Interface>

    allows cloning a boxed InterfaceImpl

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> ArchivePointee for T

    §

    type ArchivedMetadata = ()

    The archived version of the pointer metadata for this type.
    §

    fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, diff --git a/massa_execution_worker/speculative_async_pool/fn.is_triggered.html b/massa_execution_worker/speculative_async_pool/fn.is_triggered.html index 1212a4e0c8..f354651b24 100644 --- a/massa_execution_worker/speculative_async_pool/fn.is_triggered.html +++ b/massa_execution_worker/speculative_async_pool/fn.is_triggered.html @@ -1,4 +1,4 @@ -is_triggered in massa_execution_worker::speculative_async_pool - Rust
    fn is_triggered(
    +is_triggered in massa_execution_worker::speculative_async_pool - Rust
    fn is_triggered(
         filter: &AsyncMessageTrigger,
         ledger_changes: &LedgerChanges,
     ) -> bool
    Expand description

    Check in the ledger changes if a message trigger has been triggered

    diff --git a/massa_execution_worker/speculative_async_pool/index.html b/massa_execution_worker/speculative_async_pool/index.html index 8b51362d67..c3b2c0e1e8 100644 --- a/massa_execution_worker/speculative_async_pool/index.html +++ b/massa_execution_worker/speculative_async_pool/index.html @@ -1,3 +1,3 @@ -massa_execution_worker::speculative_async_pool - Rust
    Expand description

    The speculative asynchronous pool represents the state of +massa_execution_worker::speculative_async_pool - Rust

    Expand description

    The speculative asynchronous pool represents the state of the pool at an arbitrary execution slot.

    Structs§

    Functions§

    • Check in the ledger changes if a message trigger has been triggered
    \ No newline at end of file diff --git a/massa_execution_worker/speculative_async_pool/struct.SpeculativeAsyncPool.html b/massa_execution_worker/speculative_async_pool/struct.SpeculativeAsyncPool.html index c08f412797..3d551b15b0 100644 --- a/massa_execution_worker/speculative_async_pool/struct.SpeculativeAsyncPool.html +++ b/massa_execution_worker/speculative_async_pool/struct.SpeculativeAsyncPool.html @@ -1,25 +1,25 @@ -SpeculativeAsyncPool in massa_execution_worker::speculative_async_pool - Rust
    pub(crate) struct SpeculativeAsyncPool {
    +SpeculativeAsyncPool in massa_execution_worker::speculative_async_pool - Rust
    pub(crate) struct SpeculativeAsyncPool {
         final_state: Arc<RwLock<dyn FinalStateController>>,
         active_history: Arc<RwLock<ActiveHistory>>,
         pool_changes: AsyncPoolChanges,
         message_infos: BTreeMap<AsyncMessageId, AsyncMessageInfo>,
    -}

    Fields§

    §final_state: Arc<RwLock<dyn FinalStateController>>§active_history: Arc<RwLock<ActiveHistory>>§pool_changes: AsyncPoolChanges§message_infos: BTreeMap<AsyncMessageId, AsyncMessageInfo>

    Implementations§

    Fields§

    §final_state: Arc<RwLock<dyn FinalStateController>>§active_history: Arc<RwLock<ActiveHistory>>§pool_changes: AsyncPoolChanges§message_infos: BTreeMap<AsyncMessageId, AsyncMessageInfo>

    Implementations§

    source§

    impl SpeculativeAsyncPool

    source

    pub fn new( final_state: Arc<RwLock<dyn FinalStateController>>, active_history: Arc<RwLock<ActiveHistory>>, ) -> Self

    Creates a new SpeculativeAsyncPool

    -
    §Arguments
    source

    pub fn take(&mut self) -> AsyncPoolChanges

    Returns the changes caused to the SpeculativeAsyncPool since its creation, +

    §Arguments
    source

    pub fn take(&mut self) -> AsyncPoolChanges

    Returns the changes caused to the SpeculativeAsyncPool since its creation, and resets their local value to nothing. This must be called after settle_emitted_messages() The message_infos should already be removed if taken, no need to do it here.

    -
    source

    pub fn get_snapshot( +

    source

    pub fn get_snapshot( &self, ) -> (AsyncPoolChanges, BTreeMap<AsyncMessageId, AsyncMessageInfo>)

    Takes a snapshot (clone) of the emitted messages

    -
    source

    pub fn reset_to_snapshot( +

    source

    pub fn reset_to_snapshot( &mut self, snapshot: (AsyncPoolChanges, BTreeMap<AsyncMessageId, AsyncMessageInfo>), )

    Resets the SpeculativeAsyncPool emitted messages to a snapshot (see get_snapshot method)

    -
    source

    pub fn push_new_message(&mut self, msg: AsyncMessage)

    Add a new message to the list of changes of this SpeculativeAsyncPool

    -
    source

    pub fn take_batch_to_execute( +

    source

    pub fn push_new_message(&mut self, msg: AsyncMessage)

    Add a new message to the list of changes of this SpeculativeAsyncPool

    +
    source

    pub fn take_batch_to_execute( &mut self, slot: Slot, max_gas: u64, @@ -34,10 +34,11 @@

    §Arguments
    §Returns

    A vector of AsyncMessage to execute

    -

    source

    pub fn settle_slot( +

    source

    pub fn settle_slot( &mut self, slot: &Slot, ledger_changes: &LedgerChanges, + fix_eliminated_msg: bool, ) -> Vec<(AsyncMessageId, AsyncMessage)>

    Settle a slot. Consume newly emitted messages into self.async_pool, recording changes into self.settled_changes.

    §Arguments
    @@ -47,16 +48,22 @@
    §Arguments
    §Returns

    the list of deleted (message_id, message), used for reimbursement

    -
    source

    fn fetch_msgs( +

    source

    fn fetch_msgs( &mut self, wanted_ids: Vec<&AsyncMessageId>, delete_existing: bool, -) -> Vec<(AsyncMessageId, AsyncMessage)>

    source

    fn is_message_expired(slot: &Slot, message_validity_end: &Slot) -> bool

    Return true if a message (given its validity end) is expired + execution_component_version: u32, +) -> Vec<(AsyncMessageId, AsyncMessage)>

    source

    fn get_execution_component_version(&self, slot: &Slot) -> u32

    source

    fn is_message_expired( + slot: &Slot, + message_validity_end: &Slot, + execution_component_version: u32, +) -> bool

    Return true if a message (given its validity end) is expired Must be consistent with is_message_valid

    -
    source

    fn is_message_ready_to_execute( +

    source

    fn is_message_ready_to_execute( slot: &Slot, message_validity_start: &Slot, message_validity_end: &Slot, + execution_component_version: u32, ) -> bool

    Return true if a message (given its validity_start & validity end) is ready to execute Must be consistent with is_message_expired

    Auto Trait Implementations§

    §

    impl Freeze for SpeculativeAsyncPool

    §

    impl !RefUnwindSafe for SpeculativeAsyncPool

    §

    impl Send for SpeculativeAsyncPool

    §

    impl Sync for SpeculativeAsyncPool

    §

    impl Unpin for SpeculativeAsyncPool

    §

    impl !UnwindSafe for SpeculativeAsyncPool

    Blanket Implementations§

    source§

    impl<T> Any for T
    where diff --git a/massa_execution_worker/speculative_ledger/index.html b/massa_execution_worker/speculative_ledger/index.html index 10d63b6ce2..b4e667f8c4 100644 --- a/massa_execution_worker/speculative_ledger/index.html +++ b/massa_execution_worker/speculative_ledger/index.html @@ -1,4 +1,4 @@ -massa_execution_worker::speculative_ledger - Rust

    Module massa_execution_worker::speculative_ledger

    source ·
    Expand description

    The speculative ledger represents, in a compressed way, +massa_execution_worker::speculative_ledger - Rust

    Module massa_execution_worker::speculative_ledger

    source ·
    Expand description

    The speculative ledger represents, in a compressed way, the state of the ledger at an arbitrary execution slot. It never actually writes to the consensus state but keeps track of the changes that were applied to it since its creation.

    diff --git a/massa_execution_worker/speculative_ledger/struct.SpeculativeLedger.html b/massa_execution_worker/speculative_ledger/struct.SpeculativeLedger.html index c707e0fd1a..3b5672f28d 100644 --- a/massa_execution_worker/speculative_ledger/struct.SpeculativeLedger.html +++ b/massa_execution_worker/speculative_ledger/struct.SpeculativeLedger.html @@ -20,7 +20,7 @@
    §max_datastore_value_size: u64

    Max datastore value size

    §max_bytecode_size: u64

    Max bytecode size

    §storage_costs_constants: StorageCostsConstants

    storage cost constants

    -

    Implementations§

    source§

    impl SpeculativeLedger

    source

    pub fn new( +

    Implementations§

    source§

    impl SpeculativeLedger

    source

    pub fn new( final_state: Arc<RwLock<dyn FinalStateController>>, active_history: Arc<RwLock<ActiveHistory>>, max_datastore_key_length: u8, @@ -47,11 +47,12 @@

    §Arguments:<

    addr: the address to query

    §Returns

    Some(Bytecode) if the address was found, otherwise None

    -
    source

    pub fn transfer_coins( +

    source

    pub fn transfer_coins( &mut self, from_addr: Option<Address>, to_addr: Option<Address>, amount: Amount, + execution_component_version: u32, ) -> Result<(), ExecutionError>

    Transfers coins from one address to another. No changes are retained in case of failure. The spending address, if defined, must exist.

    @@ -61,16 +62,17 @@
    §Parameters:to_addr: optional crediting address (use None for pure coin destruction)
  • amount: amount of coins to transfer
  • -
    source

    pub fn entry_exists(&self, addr: &Address) -> bool

    Checks if an address exists in the speculative ledger

    +
    source

    pub fn entry_exists(&self, addr: &Address) -> bool

    Checks if an address exists in the speculative ledger

    §Arguments:

    addr: the address to query

    §Returns

    true if the address was found, otherwise false

    -
    source

    pub fn create_new_sc_address( +

    source

    pub fn create_new_sc_address( &mut self, creator_address: Address, addr: Address, bytecode: Bytecode, + execution_component_version: u32, ) -> Result<(), ExecutionError>

    Creates a new smart contract address with initial bytecode.

    §Arguments
      @@ -78,11 +80,12 @@
      §Argumentsaddr: address to create
    • bytecode: bytecode to set in the new ledger entry
    -
    source

    pub fn set_bytecode( +

    source

    pub fn set_bytecode( &mut self, caller_addr: &Address, addr: &Address, bytecode: Bytecode, + execution_component_version: u32, ) -> Result<(), ExecutionError>

    Sets the bytecode associated to an address in the ledger. Fails if the address doesn’t exist.

    §Arguments
    @@ -91,7 +94,7 @@
    §Argumentsaddr: target address
  • bytecode: bytecode to set for that address
  • -
    source

    pub fn get_keys( +

    source

    pub fn get_keys( &self, addr: &Address, prefix: &[u8], @@ -103,7 +106,7 @@

    §Arguments
    §Returns

    Some(Vec<Vec<u8>>) for found keys, None if the address does not exist.

    -
    source

    pub fn get_data_entry(&self, addr: &Address, key: &[u8]) -> Option<Vec<u8>>

    Gets a copy of a datastore value for a given address and datastore key

    +
    source

    pub fn get_data_entry(&self, addr: &Address, key: &[u8]) -> Option<Vec<u8>>

    Gets a copy of a datastore value for a given address and datastore key

    §Arguments
    • addr: address to query
    • @@ -111,7 +114,7 @@
      §Arguments
      §Returns

      Some(Vec<u8>) if the value was found, None if the address does not exist or if the key is not in its datastore.

      -
    source

    pub fn has_data_entry(&self, addr: &Address, key: &[u8]) -> bool

    Checks if a data entry exists for a given address

    +
    source

    pub fn has_data_entry(&self, addr: &Address, key: &[u8]) -> bool

    Checks if a data entry exists for a given address

    §Arguments
    • addr: address to query
    • @@ -119,23 +122,25 @@
      §Arguments
      §Returns

      true if the key exists in the address datastore, false otherwise

      -
    source

    fn get_storage_cost_datastore_entry( +

    source

    fn get_storage_cost_datastore_entry( &self, key: &[u8], value: &[u8], ) -> Result<Amount, ExecutionError>

    Compute the storage costs of a full datastore entry

    -
    source

    fn charge_datastore_entry_change_storage( +

    source

    fn charge_datastore_entry_change_storage( &mut self, caller_addr: &Address, old_key_value: Option<(&[u8], &[u8])>, new_key_value: Option<(&[u8], &[u8])>, + execution_component_version: u32, ) -> Result<(), ExecutionError>

    Charge the storage costs of a datastore entry change, if any.

    -
    source

    pub fn set_data_entry( +

    source

    pub fn set_data_entry( &mut self, caller_addr: &Address, addr: &Address, key: Vec<u8>, value: Vec<u8>, + execution_component_version: u32, ) -> Result<(), ExecutionError>

    Sets a data set entry for a given address in the ledger. Fails if the address doesn’t exist. If the datastore entry does not exist, it is created.

    @@ -146,11 +151,12 @@
    §Argumentskey: datastore key
  • data: value to associate to the datastore key
  • -
    source

    pub fn delete_data_entry( +

    source

    pub fn delete_data_entry( &mut self, caller_addr: &Address, addr: &Address, key: &[u8], + execution_component_version: u32, ) -> Result<(), ExecutionError>

    Deletes a datastore entry for a given address. Fails if the entry or address does not exist.

    §Arguments
    diff --git a/massa_final_state/controller_trait/trait.FinalStateController.html b/massa_final_state/controller_trait/trait.FinalStateController.html index 95dda3e19b..e1c8a33844 100644 --- a/massa_final_state/controller_trait/trait.FinalStateController.html +++ b/massa_final_state/controller_trait/trait.FinalStateController.html @@ -61,4 +61,4 @@
    source

    fn get_mip_store(&self) -> &MipStore

    Get MIP Store

    source

    fn get_mip_store_mut(&mut self) -> &mut MipStore

    Get mutable reference to MIP Store

    source

    fn get_deferred_call_registry(&self) -> &DeferredCallRegistry

    Get deferred call registry

    -

    Implementors§

    source§

    impl FinalStateController for FinalState

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/massa_final_state/final_state/index.html b/massa_final_state/final_state/index.html index 54b271c71b..f470ccaf49 100644 --- a/massa_final_state/final_state/index.html +++ b/massa_final_state/final_state/index.html @@ -1,4 +1,4 @@ -massa_final_state::final_state - Rust

    Module massa_final_state::final_state

    source ·
    Expand description

    Copyright (c) 2022 MASSA LABS info@massa.net +massa_final_state::final_state - Rust

    Module massa_final_state::final_state

    source ·
    Expand description

    Copyright (c) 2022 MASSA LABS info@massa.net This file defines the final state of the node, which includes the final ledger and asynchronous message pool that are kept at the output of a given final slot (the latest executed final slot), diff --git a/massa_final_state/final_state/struct.FinalState.html b/massa_final_state/final_state/struct.FinalState.html index ecc5f673ba..cc348960bd 100644 --- a/massa_final_state/final_state/struct.FinalState.html +++ b/massa_final_state/final_state/struct.FinalState.html @@ -32,7 +32,7 @@

  • If from bootstrap: set during bootstrap
  • §db: ShareableMassaDBController

    the RocksDB instance used to write every final_state struct on disk

    -

    Implementations§

    source§

    impl FinalState

    source

    pub fn new( +

    Implementations§

    source§

    impl FinalState

    source

    pub fn new( db: ShareableMassaDBController, config: FinalStateConfig, ledger: Box<dyn LedgerController>, @@ -65,8 +65,8 @@

    §Arguments
    &mut self, cycle: u64, ) -> Result<(), FinalStateError>

    Used during interpolation, when a new cycle is set as completed

    -
    source

    fn _finalize(&mut self, slot: Slot, changes: StateChanges) -> AnyResult<()>

    source

    fn _is_db_valid(&self) -> AnyResult<()>

    Internal function called by is_db_valid

    -
    source

    pub fn new_derived_from_snapshot( +

    source

    fn _finalize(&mut self, slot: Slot, changes: StateChanges) -> AnyResult<()>

    source

    fn _is_db_valid(&self) -> AnyResult<()>

    Internal function called by is_db_valid

    +
    source

    pub fn new_derived_from_snapshot( db: ShareableMassaDBController, config: FinalStateConfig, ledger: Box<dyn LedgerController>, @@ -82,12 +82,12 @@

    §Argumentsselector: the pos selector. Used to send draw inputs when a new cycle is completed.
  • last_start_period: at what period we should attach the final_state
  • -

    Trait Implementations§

    source§

    impl FinalStateController for FinalState

    source§

    fn compute_initial_draws(&mut self) -> Result<(), FinalStateError>

    Performs the initial draws.
    source§

    fn finalize(&mut self, slot: Slot, changes: StateChanges)

    Applies changes to the execution state at a given slot, and settles that slot forever. -Once this is called, the state is attached at the output of the provided slot. Read more
    source§

    fn get_execution_trail_hash(&self) -> Hash

    Gets the hash of the execution trail
    source§

    fn get_fingerprint(&self) -> Hash

    Get the fingerprint (hash) of the final state. -Note that only one atomic write per final slot occurs, so this can be safely queried at any time.
    source§

    fn get_slot(&self) -> Slot

    Get the slot at the end of which the final state is attached
    source§

    fn init_execution_trail_hash_to_batch(&mut self, batch: &mut DBBatch)

    Initialize the execution trail hash to zero.
    source§

    fn is_db_valid(&self) -> bool

    Deserialize the entire DB and check the data. Useful to check after bootstrap.
    source§

    fn recompute_caches(&mut self)

    After bootstrap or load from disk, recompute all the caches.
    source§

    fn reset(&mut self)

    Reset the final state to the initial state. Read more
    source§

    fn get_ledger(&self) -> &Box<dyn LedgerController>

    Get ledger
    source§

    fn get_ledger_mut(&mut self) -> &mut Box<dyn LedgerController>

    Get ledger mut
    source§

    fn get_async_pool(&self) -> &AsyncPool

    Get async pool
    source§

    fn get_pos_state(&self) -> &PoSFinalState

    Get pos state
    source§

    fn get_pos_state_mut(&mut self) -> &mut PoSFinalState

    Get pos state mut
    source§

    fn executed_ops_contains(&self, op_id: &OperationId) -> bool

    check if an operation is in the executed ops
    source§

    fn get_ops_exec_status(&self, batch: &[OperationId]) -> Vec<Option<bool>>

    Get the executed status ops
    source§

    fn get_executed_denunciations(&self) -> &ExecutedDenunciations

    Get executed denunciations
    source§

    fn get_database(&self) -> &ShareableMassaDBController

    Get the database
    source§

    fn get_last_start_period(&self) -> u64

    Get last start period
    source§

    fn set_last_start_period(&mut self, last_start_period: u64)

    Set last start period
    source§

    fn get_last_slot_before_downtime(&self) -> &Option<Slot>

    Get last slot before downtime
    source§

    fn set_last_slot_before_downtime( +

    Trait Implementations§

    source§

    impl FinalStateController for FinalState

    source§

    fn compute_initial_draws(&mut self) -> Result<(), FinalStateError>

    Performs the initial draws.
    source§

    fn finalize(&mut self, slot: Slot, changes: StateChanges)

    Applies changes to the execution state at a given slot, and settles that slot forever. +Once this is called, the state is attached at the output of the provided slot. Read more
    source§

    fn get_execution_trail_hash(&self) -> Hash

    Gets the hash of the execution trail
    source§

    fn get_fingerprint(&self) -> Hash

    Get the fingerprint (hash) of the final state. +Note that only one atomic write per final slot occurs, so this can be safely queried at any time.
    source§

    fn get_slot(&self) -> Slot

    Get the slot at the end of which the final state is attached
    source§

    fn init_execution_trail_hash_to_batch(&mut self, batch: &mut DBBatch)

    Initialize the execution trail hash to zero.
    source§

    fn is_db_valid(&self) -> bool

    Deserialize the entire DB and check the data. Useful to check after bootstrap.
    source§

    fn recompute_caches(&mut self)

    After bootstrap or load from disk, recompute all the caches.
    source§

    fn reset(&mut self)

    Reset the final state to the initial state. Read more
    source§

    fn get_ledger(&self) -> &Box<dyn LedgerController>

    Get ledger
    source§

    fn get_ledger_mut(&mut self) -> &mut Box<dyn LedgerController>

    Get ledger mut
    source§

    fn get_async_pool(&self) -> &AsyncPool

    Get async pool
    source§

    fn get_pos_state(&self) -> &PoSFinalState

    Get pos state
    source§

    fn get_pos_state_mut(&mut self) -> &mut PoSFinalState

    Get pos state mut
    source§

    fn executed_ops_contains(&self, op_id: &OperationId) -> bool

    check if an operation is in the executed ops
    source§

    fn get_ops_exec_status(&self, batch: &[OperationId]) -> Vec<Option<bool>>

    Get the executed status ops
    source§

    fn get_executed_denunciations(&self) -> &ExecutedDenunciations

    Get executed denunciations
    source§

    fn get_database(&self) -> &ShareableMassaDBController

    Get the database
    source§

    fn get_last_start_period(&self) -> u64

    Get last start period
    source§

    fn set_last_start_period(&mut self, last_start_period: u64)

    Set last start period
    source§

    fn get_last_slot_before_downtime(&self) -> &Option<Slot>

    Get last slot before downtime
    source§

    fn set_last_slot_before_downtime( &mut self, last_slot_before_downtime: Option<Slot>, -)

    Set last slot before downtime
    source§

    fn get_mip_store_mut(&mut self) -> &mut MipStore

    Get mutable reference to MIP Store
    source§

    fn get_mip_store(&self) -> &MipStore

    Get MIP Store
    source§

    fn get_deferred_call_registry(&self) -> &DeferredCallRegistry

    Get deferred call registry

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +)

    Set last slot before downtime
    source§

    fn get_mip_store_mut(&mut self) -> &mut MipStore

    Get mutable reference to MIP Store
    source§

    fn get_mip_store(&self) -> &MipStore

    Get MIP Store
    source§

    fn get_deferred_call_registry(&self) -> &DeferredCallRegistry

    Get deferred call registry

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_final_state/state_changes/index.html b/massa_final_state/state_changes/index.html index c0a3b277d0..9982458377 100644 --- a/massa_final_state/state_changes/index.html +++ b/massa_final_state/state_changes/index.html @@ -1,3 +1,3 @@ -massa_final_state::state_changes - Rust

    Module massa_final_state::state_changes

    source ·
    Expand description

    Copyright (c) 2022 MASSA LABS info@massa.net +massa_final_state::state_changes - Rust

    Module massa_final_state::state_changes

    source ·
    Expand description

    Copyright (c) 2022 MASSA LABS info@massa.net This file provides structures representing changes to the final state

    Structs§

    \ No newline at end of file diff --git a/massa_final_state/state_changes/struct.StateChanges.html b/massa_final_state/state_changes/struct.StateChanges.html index 42fa412d52..a0ed92b6df 100644 --- a/massa_final_state/state_changes/struct.StateChanges.html +++ b/massa_final_state/state_changes/struct.StateChanges.html @@ -14,7 +14,7 @@
    §executed_ops_changes: ExecutedOpsChanges

    executed operations changes

    §executed_denunciations_changes: ExecutedDenunciationsChanges

    executed denunciations changes

    §execution_trail_hash_change: SetOrKeep<Hash>

    execution trail hash change

    -

    Implementations§

    source§

    impl StateChanges

    source

    pub fn apply(&mut self, changes: StateChanges)

    extends the current StateChanges with another one

    +

    Implementations§

    source§

    impl StateChanges

    source

    pub fn apply(&mut self, changes: StateChanges)

    extends the current StateChanges with another one

    Trait Implementations§

    source§

    impl Clone for StateChanges

    source§

    fn clone(&self) -> StateChanges

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StateChanges

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for StateChanges

    source§

    fn default() -> StateChanges

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for StateChanges

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<StateChanges> for StateChangesDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, diff --git a/massa_final_state/struct.FinalState.html b/massa_final_state/struct.FinalState.html index 89b07cf852..ec39c8a903 100644 --- a/massa_final_state/struct.FinalState.html +++ b/massa_final_state/struct.FinalState.html @@ -32,7 +32,7 @@
  • If from bootstrap: set during bootstrap
  • §db: ShareableMassaDBController

    the RocksDB instance used to write every final_state struct on disk

    -

    Implementations§

    source§

    impl FinalState

    source

    pub fn new( +

    Implementations§

    source§

    impl FinalState

    source

    pub fn new( db: ShareableMassaDBController, config: FinalStateConfig, ledger: Box<dyn LedgerController>, @@ -65,8 +65,8 @@

    §Arguments
    &mut self, cycle: u64, ) -> Result<(), FinalStateError>

    Used during interpolation, when a new cycle is set as completed

    -
    source

    fn _finalize(&mut self, slot: Slot, changes: StateChanges) -> AnyResult<()>

    source

    fn _is_db_valid(&self) -> AnyResult<()>

    Internal function called by is_db_valid

    -
    source

    pub fn new_derived_from_snapshot( +

    source

    fn _finalize(&mut self, slot: Slot, changes: StateChanges) -> AnyResult<()>

    source

    fn _is_db_valid(&self) -> AnyResult<()>

    Internal function called by is_db_valid

    +
    source

    pub fn new_derived_from_snapshot( db: ShareableMassaDBController, config: FinalStateConfig, ledger: Box<dyn LedgerController>, @@ -82,12 +82,12 @@

    §Argumentsselector: the pos selector. Used to send draw inputs when a new cycle is completed.
  • last_start_period: at what period we should attach the final_state
  • -

    Trait Implementations§

    source§

    impl FinalStateController for FinalState

    source§

    fn compute_initial_draws(&mut self) -> Result<(), FinalStateError>

    Performs the initial draws.
    source§

    fn finalize(&mut self, slot: Slot, changes: StateChanges)

    Applies changes to the execution state at a given slot, and settles that slot forever. -Once this is called, the state is attached at the output of the provided slot. Read more
    source§

    fn get_execution_trail_hash(&self) -> Hash

    Gets the hash of the execution trail
    source§

    fn get_fingerprint(&self) -> Hash

    Get the fingerprint (hash) of the final state. -Note that only one atomic write per final slot occurs, so this can be safely queried at any time.
    source§

    fn get_slot(&self) -> Slot

    Get the slot at the end of which the final state is attached
    source§

    fn init_execution_trail_hash_to_batch(&mut self, batch: &mut DBBatch)

    Initialize the execution trail hash to zero.
    source§

    fn is_db_valid(&self) -> bool

    Deserialize the entire DB and check the data. Useful to check after bootstrap.
    source§

    fn recompute_caches(&mut self)

    After bootstrap or load from disk, recompute all the caches.
    source§

    fn reset(&mut self)

    Reset the final state to the initial state. Read more
    source§

    fn get_ledger(&self) -> &Box<dyn LedgerController>

    Get ledger
    source§

    fn get_ledger_mut(&mut self) -> &mut Box<dyn LedgerController>

    Get ledger mut
    source§

    fn get_async_pool(&self) -> &AsyncPool

    Get async pool
    source§

    fn get_pos_state(&self) -> &PoSFinalState

    Get pos state
    source§

    fn get_pos_state_mut(&mut self) -> &mut PoSFinalState

    Get pos state mut
    source§

    fn executed_ops_contains(&self, op_id: &OperationId) -> bool

    check if an operation is in the executed ops
    source§

    fn get_ops_exec_status(&self, batch: &[OperationId]) -> Vec<Option<bool>>

    Get the executed status ops
    source§

    fn get_executed_denunciations(&self) -> &ExecutedDenunciations

    Get executed denunciations
    source§

    fn get_database(&self) -> &ShareableMassaDBController

    Get the database
    source§

    fn get_last_start_period(&self) -> u64

    Get last start period
    source§

    fn set_last_start_period(&mut self, last_start_period: u64)

    Set last start period
    source§

    fn get_last_slot_before_downtime(&self) -> &Option<Slot>

    Get last slot before downtime
    source§

    fn set_last_slot_before_downtime( +

    Trait Implementations§

    source§

    impl FinalStateController for FinalState

    source§

    fn compute_initial_draws(&mut self) -> Result<(), FinalStateError>

    Performs the initial draws.
    source§

    fn finalize(&mut self, slot: Slot, changes: StateChanges)

    Applies changes to the execution state at a given slot, and settles that slot forever. +Once this is called, the state is attached at the output of the provided slot. Read more
    source§

    fn get_execution_trail_hash(&self) -> Hash

    Gets the hash of the execution trail
    source§

    fn get_fingerprint(&self) -> Hash

    Get the fingerprint (hash) of the final state. +Note that only one atomic write per final slot occurs, so this can be safely queried at any time.
    source§

    fn get_slot(&self) -> Slot

    Get the slot at the end of which the final state is attached
    source§

    fn init_execution_trail_hash_to_batch(&mut self, batch: &mut DBBatch)

    Initialize the execution trail hash to zero.
    source§

    fn is_db_valid(&self) -> bool

    Deserialize the entire DB and check the data. Useful to check after bootstrap.
    source§

    fn recompute_caches(&mut self)

    After bootstrap or load from disk, recompute all the caches.
    source§

    fn reset(&mut self)

    Reset the final state to the initial state. Read more
    source§

    fn get_ledger(&self) -> &Box<dyn LedgerController>

    Get ledger
    source§

    fn get_ledger_mut(&mut self) -> &mut Box<dyn LedgerController>

    Get ledger mut
    source§

    fn get_async_pool(&self) -> &AsyncPool

    Get async pool
    source§

    fn get_pos_state(&self) -> &PoSFinalState

    Get pos state
    source§

    fn get_pos_state_mut(&mut self) -> &mut PoSFinalState

    Get pos state mut
    source§

    fn executed_ops_contains(&self, op_id: &OperationId) -> bool

    check if an operation is in the executed ops
    source§

    fn get_ops_exec_status(&self, batch: &[OperationId]) -> Vec<Option<bool>>

    Get the executed status ops
    source§

    fn get_executed_denunciations(&self) -> &ExecutedDenunciations

    Get executed denunciations
    source§

    fn get_database(&self) -> &ShareableMassaDBController

    Get the database
    source§

    fn get_last_start_period(&self) -> u64

    Get last start period
    source§

    fn set_last_start_period(&mut self, last_start_period: u64)

    Set last start period
    source§

    fn get_last_slot_before_downtime(&self) -> &Option<Slot>

    Get last slot before downtime
    source§

    fn set_last_slot_before_downtime( &mut self, last_slot_before_downtime: Option<Slot>, -)

    Set last slot before downtime
    source§

    fn get_mip_store_mut(&mut self) -> &mut MipStore

    Get mutable reference to MIP Store
    source§

    fn get_mip_store(&self) -> &MipStore

    Get MIP Store
    source§

    fn get_deferred_call_registry(&self) -> &DeferredCallRegistry

    Get deferred call registry

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +)

    Set last slot before downtime
    source§

    fn get_mip_store_mut(&mut self) -> &mut MipStore

    Get mutable reference to MIP Store
    source§

    fn get_mip_store(&self) -> &MipStore

    Get MIP Store
    source§

    fn get_deferred_call_registry(&self) -> &DeferredCallRegistry

    Get deferred call registry

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_final_state/struct.StateChanges.html b/massa_final_state/struct.StateChanges.html index f9af60341d..dcb87d00fa 100644 --- a/massa_final_state/struct.StateChanges.html +++ b/massa_final_state/struct.StateChanges.html @@ -14,7 +14,7 @@
    §executed_ops_changes: ExecutedOpsChanges

    executed operations changes

    §executed_denunciations_changes: ExecutedDenunciationsChanges

    executed denunciations changes

    §execution_trail_hash_change: SetOrKeep<Hash>

    execution trail hash change

    -

    Implementations§

    source§

    impl StateChanges

    source

    pub fn apply(&mut self, changes: StateChanges)

    extends the current StateChanges with another one

    +

    Implementations§

    source§

    impl StateChanges

    source

    pub fn apply(&mut self, changes: StateChanges)

    extends the current StateChanges with another one

    Trait Implementations§

    source§

    impl Clone for StateChanges

    source§

    fn clone(&self) -> StateChanges

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for StateChanges

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for StateChanges

    source§

    fn default() -> StateChanges

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for StateChanges

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<StateChanges> for StateChangesDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, diff --git a/massa_final_state/trait.FinalStateController.html b/massa_final_state/trait.FinalStateController.html index b43f6e414a..dc8c1b6aa9 100644 --- a/massa_final_state/trait.FinalStateController.html +++ b/massa_final_state/trait.FinalStateController.html @@ -61,4 +61,4 @@

    source

    fn get_mip_store(&self) -> &MipStore

    Get MIP Store

    source

    fn get_mip_store_mut(&mut self) -> &mut MipStore

    Get mutable reference to MIP Store

    source

    fn get_deferred_call_registry(&self) -> &DeferredCallRegistry

    Get deferred call registry

    -

    Implementors§

    \ No newline at end of file +

    Implementors§

    \ No newline at end of file diff --git a/massa_grpc/public/fn.query_state.html b/massa_grpc/public/fn.query_state.html index 36fe027f09..330ab3db44 100644 --- a/massa_grpc/public/fn.query_state.html +++ b/massa_grpc/public/fn.query_state.html @@ -1,4 +1,4 @@ -query_state in massa_grpc::public - Rust

    Function massa_grpc::public::query_state

    source ·
    pub(crate) fn query_state(
    +query_state in massa_grpc::public - Rust

    Function massa_grpc::public::query_state

    source ·
    pub(crate) fn query_state(
         grpc: &MassaPublicGrpc,
         request: Request<QueryStateRequest>,
     ) -> Result<QueryStateResponse, GrpcError>
    Expand description

    Get query state

    diff --git a/massa_grpc/public/fn.search_blocks.html b/massa_grpc/public/fn.search_blocks.html index d98d8e141d..26bb5d43c8 100644 --- a/massa_grpc/public/fn.search_blocks.html +++ b/massa_grpc/public/fn.search_blocks.html @@ -1,4 +1,4 @@ -search_blocks in massa_grpc::public - Rust

    Function massa_grpc::public::search_blocks

    source ·
    pub(crate) fn search_blocks(
    +search_blocks in massa_grpc::public - Rust

    Function massa_grpc::public::search_blocks

    source ·
    pub(crate) fn search_blocks(
         grpc: &MassaPublicGrpc,
         request: Request<SearchBlocksRequest>,
     ) -> Result<SearchBlocksResponse, GrpcError>
    Expand description

    Search blocks

    diff --git a/massa_grpc/public/fn.search_endorsements.html b/massa_grpc/public/fn.search_endorsements.html index a43403e6e1..d202a20056 100644 --- a/massa_grpc/public/fn.search_endorsements.html +++ b/massa_grpc/public/fn.search_endorsements.html @@ -1,4 +1,4 @@ -search_endorsements in massa_grpc::public - Rust

    Function massa_grpc::public::search_endorsements

    source ·
    pub(crate) fn search_endorsements(
    +search_endorsements in massa_grpc::public - Rust

    Function massa_grpc::public::search_endorsements

    source ·
    pub(crate) fn search_endorsements(
         grpc: &MassaPublicGrpc,
         request: Request<SearchEndorsementsRequest>,
     ) -> Result<SearchEndorsementsResponse, GrpcError>
    Expand description

    Search endorsements

    diff --git a/massa_grpc/public/fn.search_operations.html b/massa_grpc/public/fn.search_operations.html index 93c4baa64a..540b076911 100644 --- a/massa_grpc/public/fn.search_operations.html +++ b/massa_grpc/public/fn.search_operations.html @@ -1,4 +1,4 @@ -search_operations in massa_grpc::public - Rust

    Function massa_grpc::public::search_operations

    source ·
    pub(crate) fn search_operations(
    +search_operations in massa_grpc::public - Rust

    Function massa_grpc::public::search_operations

    source ·
    pub(crate) fn search_operations(
         grpc: &MassaPublicGrpc,
         request: Request<SearchOperationsRequest>,
     ) -> Result<SearchOperationsResponse, GrpcError>
    Expand description

    Search operations

    diff --git a/massa_grpc/public/index.html b/massa_grpc/public/index.html index ba08380297..478b37cbb3 100644 --- a/massa_grpc/public/index.html +++ b/massa_grpc/public/index.html @@ -1,2 +1,2 @@ -massa_grpc::public - Rust

    Module massa_grpc::public

    source ·
    Expand description

    business code for non stream methods

    +massa_grpc::public - Rust

    Module massa_grpc::public

    source ·
    Expand description

    business code for non stream methods

    Functions§

    \ No newline at end of file diff --git a/massa_ledger_exports/controller/index.html b/massa_ledger_exports/controller/index.html index 7aba32c507..92bf3c3a22 100644 --- a/massa_ledger_exports/controller/index.html +++ b/massa_ledger_exports/controller/index.html @@ -1 +1 @@ -massa_ledger_exports::controller - Rust

    Module massa_ledger_exports::controller

    source ·

    Traits§

    \ No newline at end of file +massa_ledger_exports::controller - Rust

    Module massa_ledger_exports::controller

    source ·

    Traits§

    \ No newline at end of file diff --git a/massa_ledger_exports/controller/trait.LedgerController.html b/massa_ledger_exports/controller/trait.LedgerController.html index 69ee665d2e..5df569876d 100644 --- a/massa_ledger_exports/controller/trait.LedgerController.html +++ b/massa_ledger_exports/controller/trait.LedgerController.html @@ -1,4 +1,4 @@ -LedgerController in massa_ledger_exports::controller - Rust
    pub trait LedgerController: Send + Sync {
    +LedgerController in massa_ledger_exports::controller - Rust
    pub trait LedgerController: Send + Sync {
         // Required methods
         fn load_initial_ledger(&mut self) -> Result<(), LedgerError>;
         fn get_balance(&self, addr: &Address) -> Option<Amount>;
    @@ -15,6 +15,7 @@
             &mut self,
             changes: LedgerChanges,
             ledger_batch: &mut DBBatch,
    +        final_state_component_version: u32,
         );
         fn is_key_value_valid(
             &self,
    @@ -48,11 +49,12 @@ 
    §Returns

    A BTreeSet of the datastore keys

    source

    fn reset(&mut self)

    Reset the ledger

    USED FOR BOOTSTRAP ONLY

    -
    source

    fn apply_changes_to_batch( +

    source

    fn apply_changes_to_batch( &mut self, changes: LedgerChanges, ledger_batch: &mut DBBatch, -)

    source

    fn is_key_value_valid( + final_state_component_version: u32, +)

    source

    fn is_key_value_valid( &self, serialized_key: &[u8], serialized_value: &[u8], diff --git a/massa_ledger_exports/trait.LedgerController.html b/massa_ledger_exports/trait.LedgerController.html index daa7d4fa51..a97405171d 100644 --- a/massa_ledger_exports/trait.LedgerController.html +++ b/massa_ledger_exports/trait.LedgerController.html @@ -1,4 +1,4 @@ -LedgerController in massa_ledger_exports - Rust

    Trait massa_ledger_exports::LedgerController

    source ·
    pub trait LedgerController: Send + Sync {
    +LedgerController in massa_ledger_exports - Rust

    Trait massa_ledger_exports::LedgerController

    source ·
    pub trait LedgerController: Send + Sync {
         // Required methods
         fn load_initial_ledger(&mut self) -> Result<(), LedgerError>;
         fn get_balance(&self, addr: &Address) -> Option<Amount>;
    @@ -15,6 +15,7 @@
             &mut self,
             changes: LedgerChanges,
             ledger_batch: &mut DBBatch,
    +        final_state_component_version: u32,
         );
         fn is_key_value_valid(
             &self,
    @@ -48,11 +49,12 @@ 
    §Returns

    A BTreeSet of the datastore keys

    source

    fn reset(&mut self)

    Reset the ledger

    USED FOR BOOTSTRAP ONLY

    -
    source

    fn apply_changes_to_batch( +

    source

    fn apply_changes_to_batch( &mut self, changes: LedgerChanges, ledger_batch: &mut DBBatch, -)

    source

    fn is_key_value_valid( + final_state_component_version: u32, +)

    source

    fn is_key_value_valid( &self, serialized_key: &[u8], serialized_value: &[u8], diff --git a/massa_ledger_worker/ledger/index.html b/massa_ledger_worker/ledger/index.html index 03c15928a2..bfb0b7b4d6 100644 --- a/massa_ledger_worker/ledger/index.html +++ b/massa_ledger_worker/ledger/index.html @@ -1,4 +1,4 @@ -massa_ledger_worker::ledger - Rust

    Module massa_ledger_worker::ledger

    source ·
    Expand description

    This file defines the final ledger associating addresses to their balances, bytecode and data.

    +massa_ledger_worker::ledger - Rust

    Module massa_ledger_worker::ledger

    source ·
    Expand description

    This file defines the final ledger associating addresses to their balances, bytecode and data.

    Structs§

    • Represents a final ledger associating addresses to their balances, bytecode and data. The final ledger is part of the final state which is attached to a final slot, can be bootstrapped and allows others to bootstrap. The ledger size can be very high: it can exceed 1 terabyte. diff --git a/massa_ledger_worker/ledger/struct.FinalLedger.html b/massa_ledger_worker/ledger/struct.FinalLedger.html index c5b4a2b28c..d14ed26778 100644 --- a/massa_ledger_worker/ledger/struct.FinalLedger.html +++ b/massa_ledger_worker/ledger/struct.FinalLedger.html @@ -8,7 +8,7 @@

    Fields§

    §config: LedgerConfig

    ledger configuration

    §sorted_ledger: LedgerDB

    ledger tree, sorted by address

    Implementations§

    source§

    impl FinalLedger

    source

    pub fn new(config: LedgerConfig, db: ShareableMassaDBController) -> Self

    Initializes a new FinalLedger by reading its initial state from file.

    -

    Trait Implementations§

    source§

    impl Debug for FinalLedger

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl LedgerController for FinalLedger

    source§

    fn load_initial_ledger(&mut self) -> Result<(), LedgerError>

    Loads ledger from file

    +

    Trait Implementations§

    source§

    impl Debug for FinalLedger

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl LedgerController for FinalLedger

    source§

    fn load_initial_ledger(&mut self) -> Result<(), LedgerError>

    Loads ledger from file

    source§

    fn get_balance(&self, addr: &Address) -> Option<Amount>

    Gets the balance of a ledger entry

    §Returns

    The balance, or None if the ledger entry was not found

    @@ -35,12 +35,13 @@
    §Returns

    A BTreeSet of the datastore keys

    source§

    fn reset(&mut self)

    Reset the disk ledger.

    USED FOR BOOTSTRAP ONLY

    -
    source§

    fn apply_changes_to_batch( +

    source§

    fn apply_changes_to_batch( &mut self, changes: LedgerChanges, ledger_batch: &mut DBBatch, + final_state_component_version: u32, )

    Allows applying LedgerChanges to the final ledger

    -
    source§

    fn is_key_value_valid( +

    source§

    fn is_key_value_valid( &self, serialized_key: &[u8], serialized_value: &[u8], diff --git a/massa_ledger_worker/ledger_db/fn.delete_datastore_entries.html b/massa_ledger_worker/ledger_db/fn.delete_datastore_entries.html index 35e05c1322..9561876c09 100644 --- a/massa_ledger_worker/ledger_db/fn.delete_datastore_entries.html +++ b/massa_ledger_worker/ledger_db/fn.delete_datastore_entries.html @@ -1,5 +1,6 @@ -delete_datastore_entries in massa_ledger_worker::ledger_db - Rust
    fn delete_datastore_entries(
    +delete_datastore_entries in massa_ledger_worker::ledger_db - Rust
    fn delete_datastore_entries(
         addr: &Address,
         db: &RwLockReadGuard<'_, RawRwLock, Box<dyn MassaDBController>>,
         batch: &mut BTreeMap<Vec<u8>, Option<Vec<u8>>>,
    +    final_state_component_version: u32,
     )
    \ No newline at end of file diff --git a/massa_ledger_worker/ledger_db/fn.end_prefix.html b/massa_ledger_worker/ledger_db/fn.end_prefix.html index f8afc58115..7c98457f0f 100644 --- a/massa_ledger_worker/ledger_db/fn.end_prefix.html +++ b/massa_ledger_worker/ledger_db/fn.end_prefix.html @@ -1,4 +1,4 @@ -end_prefix in massa_ledger_worker::ledger_db - Rust

    Function massa_ledger_worker::ledger_db::end_prefix

    source ·
    fn end_prefix(prefix: &[u8]) -> Option<Vec<u8>>
    Expand description

    For a given start prefix (inclusive), returns the correct end prefix (non-inclusive). +end_prefix in massa_ledger_worker::ledger_db - Rust

    Function massa_ledger_worker::ledger_db::end_prefix

    source ·
    fn end_prefix(prefix: &[u8]) -> Option<Vec<u8>>
    Expand description

    For a given start prefix (inclusive), returns the correct end prefix (non-inclusive). This assumes the key bytes are ordered in lexicographical order. Since key length is not limited, for some case we return None because there is no bounded limit (every keys in the series [], [255], [255, 255] …).

    diff --git a/massa_ledger_worker/ledger_db/index.html b/massa_ledger_worker/ledger_db/index.html index 7a660878ec..61e4887192 100644 --- a/massa_ledger_worker/ledger_db/index.html +++ b/massa_ledger_worker/ledger_db/index.html @@ -1,4 +1,4 @@ -massa_ledger_worker::ledger_db - Rust

    Module massa_ledger_worker::ledger_db

    source ·
    Expand description

    Copyright (c) 2022 MASSA LABS info@massa.net +massa_ledger_worker::ledger_db - Rust

    Module massa_ledger_worker::ledger_db

    source ·
    Expand description

    Copyright (c) 2022 MASSA LABS info@massa.net Module to interact with the disk ledger

    Structs§

    Enums§

    Functions§

    • end_prefix 🔒
      For a given start prefix (inclusive), returns the correct end prefix (non-inclusive). This assumes the key bytes are ordered in lexicographical order. diff --git a/massa_ledger_worker/ledger_db/struct.LedgerDB.html b/massa_ledger_worker/ledger_db/struct.LedgerDB.html index 44adaacddd..de96710295 100644 --- a/massa_ledger_worker/ledger_db/struct.LedgerDB.html +++ b/massa_ledger_worker/ledger_db/struct.LedgerDB.html @@ -13,7 +13,7 @@ max_datastore_key_length: u8, }
    Expand description

    Disk ledger DB module

    Contains a RocksDB DB instance

    -

    Fields§

    §db: ShareableMassaDBController§thread_count: u8§key_serializer_db: KeySerializer§key_deserializer_db: KeyDeserializer§amount_serializer: AmountSerializer§version_serializer: U64VarIntSerializer§version_deserializer: U64VarIntDeserializer§bytecode_serializer: BytecodeSerializer§amount_deserializer: AmountDeserializer§bytecode_deserializer: BytecodeDeserializer§max_datastore_value_length: u64§max_datastore_key_length: u8

    Implementations§

    source§

    impl LedgerDB

    source

    pub fn new( +

    Fields§

    §db: ShareableMassaDBController§thread_count: u8§key_serializer_db: KeySerializer§key_deserializer_db: KeyDeserializer§amount_serializer: AmountSerializer§version_serializer: U64VarIntSerializer§version_deserializer: U64VarIntDeserializer§bytecode_serializer: BytecodeSerializer§amount_deserializer: AmountDeserializer§bytecode_deserializer: BytecodeDeserializer§max_datastore_value_length: u64§max_datastore_key_length: u8

    Implementations§

    source§

    impl LedgerDB

    source

    pub fn new( db: ShareableMassaDBController, thread_count: u8, max_datastore_key_length: u8, @@ -27,17 +27,18 @@

    §Arguments
    &mut self, initial_ledger: HashMap<Address, LedgerEntry>, )

    Loads the initial disk ledger

    -
    §Arguments
    source

    pub fn apply_changes_to_batch( +

    §Arguments
    source

    pub fn apply_changes_to_batch( &self, changes: LedgerChanges, batch: &mut DBBatch, + final_state_component_version: u32, )

    Allows applying LedgerChanges to the disk ledger

    §Arguments
    • changes: ledger changes to be applied
    • batch: the batch to apply the changes to
    -
    source

    pub fn get_sub_entry( +

    source

    pub fn get_sub_entry( &self, addr: &Address, ty: LedgerSubEntry, @@ -49,23 +50,24 @@

    §Arguments
    §Returns

    An Option of the sub-entry value as bytes

    -
    source

    pub fn get_datastore_keys( +

    source

    pub fn get_datastore_keys( &self, addr: &Address, prefix: &[u8], ) -> Option<BTreeSet<Vec<u8>>>

    Get every key of the datastore for a given address.

    §Returns

    A BTreeSet of the datastore keys

    -
    source

    pub fn reset(&self)

    source

    pub fn is_key_value_valid( +

    source

    pub fn reset(&self)

    source

    pub fn is_key_value_valid( &self, serialized_key: &[u8], serialized_value: &[u8], ) -> bool

    Deserializes the key and value, useful after bootstrap

    -
    source§

    impl LedgerDB

    source§

    impl LedgerDB

    source

    fn put_entry( &self, addr: &Address, ledger_entry: LedgerEntry, batch: &mut DBBatch, + final_state_component_version: u32, )

    Add every sub-entry individually for a given entry.

    §Arguments
      @@ -73,7 +75,7 @@
      §Argumentsledger_entry: complete entry to be added
    • batch: the given operation batch to update
    -
    source

    fn update_entry( +

    source

    fn update_entry( &self, addr: &Address, entry_update: LedgerEntryUpdate, @@ -84,7 +86,12 @@

    §Argumentsentry_update: a descriptor of the entry updates to be applied
  • batch: the given operation batch to update
  • -
    source

    fn delete_entry(&self, addr: &Address, batch: &mut DBBatch)

    Delete every sub-entry associated to the given address.

    +
    source

    fn delete_entry( + &self, + addr: &Address, + batch: &mut DBBatch, + final_state_component_version: u32, +)

    Delete every sub-entry associated to the given address.

    §Arguments
    • batch: the given operation batch to update
    • diff --git a/massa_ledger_worker/struct.FinalLedger.html b/massa_ledger_worker/struct.FinalLedger.html index 3e7d01d281..4f603b489e 100644 --- a/massa_ledger_worker/struct.FinalLedger.html +++ b/massa_ledger_worker/struct.FinalLedger.html @@ -8,7 +8,7 @@

    Fields§

    §config: LedgerConfig

    ledger configuration

    §sorted_ledger: LedgerDB

    ledger tree, sorted by address

    Implementations§

    source§

    impl FinalLedger

    source

    pub fn new(config: LedgerConfig, db: ShareableMassaDBController) -> Self

    Initializes a new FinalLedger by reading its initial state from file.

    -

    Trait Implementations§

    source§

    impl Debug for FinalLedger

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl LedgerController for FinalLedger

    source§

    fn load_initial_ledger(&mut self) -> Result<(), LedgerError>

    Loads ledger from file

    +

    Trait Implementations§

    source§

    impl Debug for FinalLedger

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl LedgerController for FinalLedger

    source§

    fn load_initial_ledger(&mut self) -> Result<(), LedgerError>

    Loads ledger from file

    source§

    fn get_balance(&self, addr: &Address) -> Option<Amount>

    Gets the balance of a ledger entry

    §Returns

    The balance, or None if the ledger entry was not found

    @@ -35,12 +35,13 @@
    §Returns

    A BTreeSet of the datastore keys

    source§

    fn reset(&mut self)

    Reset the disk ledger.

    USED FOR BOOTSTRAP ONLY

    -
    source§

    fn apply_changes_to_batch( +

    source§

    fn apply_changes_to_batch( &mut self, changes: LedgerChanges, ledger_batch: &mut DBBatch, + final_state_component_version: u32, )

    Allows applying LedgerChanges to the final ledger

    -
    source§

    fn is_key_value_valid( +

    source§

    fn is_key_value_valid( &self, serialized_key: &[u8], serialized_value: &[u8], diff --git a/massa_models/address/enum.Address.html b/massa_models/address/enum.Address.html index 7940f43bea..267962aa13 100644 --- a/massa_models/address/enum.Address.html +++ b/massa_models/address/enum.Address.html @@ -7,10 +7,10 @@

    source

    pub fn from_public_key(public_key: &PublicKey) -> Self

    Computes the address associated with the given public key. Depends on the Public Key version

    source

    pub fn to_prefixed_bytes(self) -> Vec<u8>

    Serialize the address as bytes. Includes the type and version prefixes

    -

    Trait Implementations§

    source§

    impl Clone for Address

    source§

    fn clone(&self) -> Address

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Address

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Address

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Address, D::Error>

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Address> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Clone for Address

    source§

    fn clone(&self) -> Address

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Address

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Address

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Address, D::Error>

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Address> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], Address, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for Address

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for Address

    §

    type Err = ModelsError

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl Hash for Address

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where +) -> IResult<&'a [u8], Address, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for Address

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for Address

    §

    type Err = ModelsError

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl Hash for Address

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for Address

    source§

    fn cmp(&self, other: &Address) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where @@ -19,11 +19,11 @@ by ==.

    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl PartialOrd for Address

    source§

    fn partial_cmp(&self, other: &Address) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Serialize for Address

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Address> for AddressSerializer

    source§

    impl Serialize for Address

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Address> for AddressSerializer

    source§

    fn serialize( &self, value: &Address, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Copy for Address

    source§

    impl Eq for Address

    source§

    impl PreHashed for Address

    source§

    impl StructuralPartialEq for Address

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Copy for Address

    source§

    impl Eq for Address

    source§

    impl PreHashed for Address

    source§

    impl StructuralPartialEq for Address

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CallHasher for T
    where diff --git a/massa_models/address/enum.SCAddress.html b/massa_models/address/enum.SCAddress.html index fc803aa35b..8cd87548f0 100644 --- a/massa_models/address/enum.SCAddress.html +++ b/massa_models/address/enum.SCAddress.html @@ -2,10 +2,10 @@ SCAddressV0(SCAddressV0), }
    Expand description

    Derived from a public key.

    Variants§

    §

    SCAddressV0(SCAddressV0)

    Implementations§

    source§

    impl SCAddress

    source

    fn from_str_without_prefixed_type(s: &str) -> Result<Self, ModelsError>

    source

    pub fn to_prefixed_bytes(self) -> Vec<u8>

    Serialize the address as bytes. Includes the type and version prefixes

    -

    Trait Implementations§

    source§

    impl Clone for SCAddress

    source§

    fn clone(&self) -> SCAddress

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Deserializer<SCAddress> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Clone for SCAddress

    source§

    fn clone(&self) -> SCAddress

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Deserializer<SCAddress> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], SCAddress, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for SCAddress

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for SCAddress

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where +) -> IResult<&'a [u8], SCAddress, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for SCAddress

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for SCAddress

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for SCAddress

    source§

    fn cmp(&self, other: &SCAddress) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where @@ -14,11 +14,11 @@ by ==.

    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl PartialOrd for SCAddress

    source§

    fn partial_cmp(&self, other: &SCAddress) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Serialize for SCAddress

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<SCAddress> for AddressSerializer

    source§

    impl Serialize for SCAddress

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<SCAddress> for AddressSerializer

    source§

    fn serialize( &self, value: &SCAddress, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Copy for SCAddress

    source§

    impl Eq for SCAddress

    source§

    impl StructuralPartialEq for SCAddress

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Copy for SCAddress

    source§

    impl Eq for SCAddress

    source§

    impl StructuralPartialEq for SCAddress

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CallHasher for T
    where diff --git a/massa_models/address/enum.UserAddress.html b/massa_models/address/enum.UserAddress.html index 47a92b43d7..84fede5c9b 100644 --- a/massa_models/address/enum.UserAddress.html +++ b/massa_models/address/enum.UserAddress.html @@ -4,10 +4,10 @@

    Variants§

    §

    UserAddressV0(UserAddressV0)

    Implementations§

    source§

    impl UserAddress

    source

    fn get_thread(&self, thread_count: u8) -> u8

    Gets the associated thread. Depends on the thread_count

    source

    fn from_public_key(public_key: &PublicKey) -> Self

    Computes the address associated with the given public key

    source

    fn from_str_without_prefixed_type(s: &str) -> Result<Self, ModelsError>

    source

    pub fn to_prefixed_bytes(self) -> Vec<u8>

    Serialize the address as bytes. Includes the type and version prefixes

    -

    Trait Implementations§

    source§

    impl Clone for UserAddress

    source§

    fn clone(&self) -> UserAddress

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Deserializer<UserAddress> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Clone for UserAddress

    source§

    fn clone(&self) -> UserAddress

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Deserializer<UserAddress> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], UserAddress, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for UserAddress

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for UserAddress

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where +) -> IResult<&'a [u8], UserAddress, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for UserAddress

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for UserAddress

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for UserAddress

    source§

    fn cmp(&self, other: &UserAddress) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where @@ -16,11 +16,11 @@ by ==.

    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl PartialOrd for UserAddress

    source§

    fn partial_cmp(&self, other: &UserAddress) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Serialize for UserAddress

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<UserAddress> for AddressSerializer

    source§

    impl Serialize for UserAddress

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<UserAddress> for AddressSerializer

    source§

    fn serialize( &self, value: &UserAddress, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Copy for UserAddress

    source§

    impl Eq for UserAddress

    source§

    impl StructuralPartialEq for UserAddress

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Copy for UserAddress

    source§

    impl Eq for UserAddress

    source§

    impl StructuralPartialEq for UserAddress

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CallHasher for T
    where diff --git a/massa_models/address/struct.AddressDeserializer.html b/massa_models/address/struct.AddressDeserializer.html index 952825632d..77b505c95b 100644 --- a/massa_models/address/struct.AddressDeserializer.html +++ b/massa_models/address/struct.AddressDeserializer.html @@ -1,25 +1,25 @@ AddressDeserializer in massa_models::address - Rust

    Struct massa_models::address::AddressDeserializer

    source ·
    pub struct AddressDeserializer {
    -    type_deserializer: U64VarIntDeserializer,
    -    version_deserializer: U64VarIntDeserializer,
    +    type_deserializer: U64VarIntDeserializer,
    +    version_deserializer: U64VarIntDeserializer,
         hash_deserializer: HashDeserializer,
     }
    Expand description

    Deserializer for Address

    -

    Fields§

    §type_deserializer: U64VarIntDeserializer§version_deserializer: U64VarIntDeserializer§hash_deserializer: HashDeserializer

    Implementations§

    source§

    impl AddressDeserializer

    source

    pub const fn new() -> Self

    Creates a new deserializer for Address

    -

    Trait Implementations§

    source§

    impl Clone for AddressDeserializer

    source§

    fn clone(&self) -> AddressDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for AddressDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<Address> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §type_deserializer: U64VarIntDeserializer§version_deserializer: U64VarIntDeserializer§hash_deserializer: HashDeserializer

    Implementations§

    source§

    impl AddressDeserializer

    source

    pub const fn new() -> Self

    Creates a new deserializer for Address

    +

    Trait Implementations§

    source§

    impl Clone for AddressDeserializer

    source§

    fn clone(&self) -> AddressDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for AddressDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<Address> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], Address, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Deserializer<SCAddress> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +) -> IResult<&'a [u8], Address, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Deserializer<SCAddress> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], SCAddress, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Deserializer<SCAddressV0> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +) -> IResult<&'a [u8], SCAddress, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Deserializer<SCAddressV0> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], SCAddressV0, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Deserializer<UserAddress> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +) -> IResult<&'a [u8], SCAddressV0, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Deserializer<UserAddress> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], UserAddress, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Deserializer<UserAddressV0> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +) -> IResult<&'a [u8], UserAddress, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Deserializer<UserAddressV0> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], UserAddressV0, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> IResult<&'a [u8], UserAddressV0, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/address/struct.AddressSerializer.html b/massa_models/address/struct.AddressSerializer.html index 293c474c31..0cef8eef8c 100644 --- a/massa_models/address/struct.AddressSerializer.html +++ b/massa_models/address/struct.AddressSerializer.html @@ -1,29 +1,29 @@ AddressSerializer in massa_models::address - Rust

    Struct massa_models::address::AddressSerializer

    source ·
    pub struct AddressSerializer {
    -    type_serializer: U64VarIntSerializer,
    -    version_serializer: U64VarIntSerializer,
    +    type_serializer: U64VarIntSerializer,
    +    version_serializer: U64VarIntSerializer,
     }
    Expand description

    Serializer for Address

    -

    Fields§

    §type_serializer: U64VarIntSerializer§version_serializer: U64VarIntSerializer

    Implementations§

    source§

    impl AddressSerializer

    source

    pub fn new() -> Self

    Serializes an Address into a Vec<u8>

    -

    Trait Implementations§

    source§

    impl Clone for AddressSerializer

    source§

    fn clone(&self) -> AddressSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for AddressSerializer

    source§

    fn default() -> AddressSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Address> for AddressSerializer

    Fields§

    §type_serializer: U64VarIntSerializer§version_serializer: U64VarIntSerializer

    Implementations§

    source§

    impl AddressSerializer

    source

    pub fn new() -> Self

    Serializes an Address into a Vec<u8>

    +

    Trait Implementations§

    source§

    impl Clone for AddressSerializer

    source§

    fn clone(&self) -> AddressSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for AddressSerializer

    source§

    fn default() -> AddressSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Address> for AddressSerializer

    source§

    fn serialize( &self, value: &Address, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Serializer<SCAddress> for AddressSerializer

    source§

    fn serialize( +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Serializer<SCAddress> for AddressSerializer

    source§

    fn serialize( &self, value: &SCAddress, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Serializer<SCAddressV0> for AddressSerializer

    source§

    fn serialize( +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Serializer<SCAddressV0> for AddressSerializer

    source§

    fn serialize( &self, value: &SCAddressV0, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Serializer<UserAddress> for AddressSerializer

    source§

    fn serialize( +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Serializer<UserAddress> for AddressSerializer

    source§

    fn serialize( &self, value: &UserAddress, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Serializer<UserAddressV0> for AddressSerializer

    source§

    fn serialize( +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Serializer<UserAddressV0> for AddressSerializer

    source§

    fn serialize( &self, value: &UserAddressV0, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/address/struct.SCAddressV0.html b/massa_models/address/struct.SCAddressV0.html index 3736990f98..a8bb359920 100644 --- a/massa_models/address/struct.SCAddressV0.html +++ b/massa_models/address/struct.SCAddressV0.html @@ -2,10 +2,10 @@

    Tuple Fields§

    §0: Hash

    Implementations§

    source§

    impl SCAddressV0

    source

    pub fn get_version(&self) -> u64

    Fetches the version of the SC Address

    source§

    impl SCAddressV0

    source

    pub fn to_prefixed_bytes(self) -> Vec<u8>

    Serialize the address as bytes. Includes the type and version prefixes

    source

    fn from_bytes(data: &[u8]) -> Result<SCAddressV0, ModelsError>

    Deserialize the address without considering the version byte

    -

    Trait Implementations§

    source§

    impl Clone for SCAddressV0

    source§

    fn clone(&self) -> SCAddressV0

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Deserializer<SCAddressV0> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Clone for SCAddressV0

    source§

    fn clone(&self) -> SCAddressV0

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Deserializer<SCAddressV0> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], SCAddressV0, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for SCAddressV0

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for SCAddressV0

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where +) -> IResult<&'a [u8], SCAddressV0, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for SCAddressV0

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for SCAddressV0

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for SCAddressV0

    source§

    fn cmp(&self, other: &SCAddressV0) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where @@ -14,11 +14,11 @@ by ==.

    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl PartialOrd for SCAddressV0

    source§

    fn partial_cmp(&self, other: &SCAddressV0) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Serialize for SCAddressV0

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<SCAddressV0> for AddressSerializer

    source§

    impl Serialize for SCAddressV0

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<SCAddressV0> for AddressSerializer

    source§

    fn serialize( &self, value: &SCAddressV0, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Versioned for SCAddressV0

    source§

    impl Copy for SCAddressV0

    source§

    impl Eq for SCAddressV0

    source§

    impl StructuralPartialEq for SCAddressV0

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Versioned for SCAddressV0

    source§

    impl Copy for SCAddressV0

    source§

    impl Eq for SCAddressV0

    source§

    impl StructuralPartialEq for SCAddressV0

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CallHasher for T
    where diff --git a/massa_models/address/struct.UserAddressV0.html b/massa_models/address/struct.UserAddressV0.html index 16ff662f71..34a6d806ca 100644 --- a/massa_models/address/struct.UserAddressV0.html +++ b/massa_models/address/struct.UserAddressV0.html @@ -4,10 +4,10 @@

    source

    fn get_thread(&self, thread_count: u8) -> u8

    Gets the associated thread. Depends on the thread_count

    source

    fn from_bytes(data: &[u8]) -> Result<UserAddressV0, ModelsError>

    Deserialize the address without considering the version byte

    source§

    impl UserAddressV0

    source

    pub fn from_public_key(public_key: &PublicKeyV0) -> Self

    Computes address associated with given public key

    -

    Trait Implementations§

    source§

    impl Clone for UserAddressV0

    source§

    fn clone(&self) -> UserAddressV0

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Deserializer<UserAddressV0> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Clone for UserAddressV0

    source§

    fn clone(&self) -> UserAddressV0

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Deserializer<UserAddressV0> for AddressDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], UserAddressV0, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for UserAddressV0

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for UserAddressV0

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where +) -> IResult<&'a [u8], UserAddressV0, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for UserAddressV0

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Hash for UserAddressV0

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for UserAddressV0

    source§

    fn cmp(&self, other: &UserAddressV0) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where @@ -16,11 +16,11 @@ by ==.

    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl PartialOrd for UserAddressV0

    source§

    fn partial_cmp(&self, other: &UserAddressV0) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Serialize for UserAddressV0

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<UserAddressV0> for AddressSerializer

    source§

    impl Serialize for UserAddressV0

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<UserAddressV0> for AddressSerializer

    source§

    fn serialize( &self, value: &UserAddressV0, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Versioned for UserAddressV0

    source§

    impl Copy for UserAddressV0

    source§

    impl Eq for UserAddressV0

    source§

    impl StructuralPartialEq for UserAddressV0

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Versioned for UserAddressV0

    source§

    impl Copy for UserAddressV0

    source§

    impl Eq for UserAddressV0

    source§

    impl StructuralPartialEq for UserAddressV0

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CallHasher for T
    where diff --git a/massa_models/all.html b/massa_models/all.html index 834ed920bd..712958ef2d 100644 --- a/massa_models/all.html +++ b/massa_models/all.html @@ -1 +1 @@ -List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Macros

    Functions

    Type Aliases

    Constants

    \ No newline at end of file +List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Macros

    Functions

    Type Aliases

    Constants

    \ No newline at end of file diff --git a/massa_models/amount/struct.Amount.html b/massa_models/amount/struct.Amount.html index c58818fd9a..8b44d3a064 100644 --- a/massa_models/amount/struct.Amount.html +++ b/massa_models/amount/struct.Amount.html @@ -90,7 +90,7 @@ assert_eq!(res, Amount::from_str("2").unwrap());

    Trait Implementations§

    source§

    impl Clone for Amount

    source§

    fn clone(&self) -> Amount

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Amount

    Use display implementation in debug to get the decimal representation

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Amount

    source§

    fn default() -> Amount

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Amount

    source§

    fn deserialize<D>(deserializer: D) -> Result<Amount, D::Error>
    where - D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Amount> for AmountDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Amount> for AmountDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Amount, E>

    §Example
    @@ -128,11 +128,11 @@ sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for Amount

    source§

    fn partial_cmp(&self, other: &Amount) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
    source§

    impl Serialize for Amount

    source§

    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where - S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Amount> for AmountSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Amount> for AmountSerializer

    source§

    fn serialize( &self, value: &Amount, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example
    +) -> Result<(), SerializeError>
    §Example
    use massa_models::amount::{Amount, AmountSerializer};
     use massa_serialization::Serializer;
     use std::str::FromStr;
    diff --git a/massa_models/amount/struct.AmountDeserializer.html b/massa_models/amount/struct.AmountDeserializer.html
    index d8c98a90a4..b5877e142b 100644
    --- a/massa_models/amount/struct.AmountDeserializer.html
    +++ b/massa_models/amount/struct.AmountDeserializer.html
    @@ -1,8 +1,8 @@
     AmountDeserializer in massa_models::amount - Rust

    Struct massa_models::amount::AmountDeserializer

    source ·
    pub struct AmountDeserializer {
    -    u64_deserializer: U64VarIntDeserializer,
    +    u64_deserializer: U64VarIntDeserializer,
     }
    Expand description

    Deserializer for amount

    -

    Fields§

    §u64_deserializer: U64VarIntDeserializer

    Implementations§

    source§

    impl AmountDeserializer

    source

    pub fn new(min_amount: Bound<Amount>, max_amount: Bound<Amount>) -> Self

    Create a new AmountDeserializer

    -

    Trait Implementations§

    source§

    impl Clone for AmountDeserializer

    source§

    fn clone(&self) -> AmountDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Deserializer<Amount> for AmountDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §u64_deserializer: U64VarIntDeserializer

    Implementations§

    source§

    impl AmountDeserializer

    source

    pub fn new(min_amount: Bound<Amount>, max_amount: Bound<Amount>) -> Self

    Create a new AmountDeserializer

    +

    Trait Implementations§

    source§

    impl Clone for AmountDeserializer

    source§

    fn clone(&self) -> AmountDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Deserializer<Amount> for AmountDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Amount, E>

    §Example
    diff --git a/massa_models/amount/struct.AmountSerializer.html b/massa_models/amount/struct.AmountSerializer.html index f38b06a9ca..dc13ac65a3 100644 --- a/massa_models/amount/struct.AmountSerializer.html +++ b/massa_models/amount/struct.AmountSerializer.html @@ -1,12 +1,12 @@ AmountSerializer in massa_models::amount - Rust

    Struct massa_models::amount::AmountSerializer

    source ·
    pub struct AmountSerializer {
    -    u64_serializer: U64VarIntSerializer,
    +    u64_serializer: U64VarIntSerializer,
     }
    Expand description

    Serializer for amount

    -

    Fields§

    §u64_serializer: U64VarIntSerializer

    Implementations§

    source§

    impl AmountSerializer

    source

    pub fn new() -> Self

    Create a new AmountSerializer

    -

    Trait Implementations§

    source§

    impl Clone for AmountSerializer

    source§

    fn clone(&self) -> AmountSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for AmountSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Amount> for AmountSerializer

    Fields§

    §u64_serializer: U64VarIntSerializer

    Implementations§

    source§

    impl AmountSerializer

    source

    pub fn new() -> Self

    Create a new AmountSerializer

    +

    Trait Implementations§

    source§

    impl Clone for AmountSerializer

    source§

    fn clone(&self) -> AmountSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for AmountSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Amount> for AmountSerializer

    source§

    fn serialize( &self, value: &Amount, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example
    +) -> Result<(), SerializeError>
    §Example
    use massa_models::amount::{Amount, AmountSerializer};
     use massa_serialization::Serializer;
     use std::str::FromStr;
    diff --git a/massa_models/block/struct.Block.html b/massa_models/block/struct.Block.html
    index b0ba7eedaf..44fdf0bd02 100644
    --- a/massa_models/block/struct.Block.html
    +++ b/massa_models/block/struct.Block.html
    @@ -5,7 +5,7 @@
     

    Fields§

    §header: SecuredHeader

    signed header

    §operations: Vec<OperationId>

    operations ids

    Trait Implementations§

    source§

    impl Clone for Block

    source§

    fn clone(&self) -> Block

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Block

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Block

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Block> for BlockDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Block> for BlockDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Block, E>

    §Example:
    @@ -94,7 +94,7 @@ orig_block.header.signature, res_block.header.signature );
    -
    source§

    impl Display for Block

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<Block> for Block

    source§

    fn from(value: Block) -> Self

    Converts to this type from the input type.
    source§

    impl SecureShareContent for Block

    source§

    fn new_verifiable<SC: Serializer<Self>, U: Id>( +

    source§

    impl Display for Block

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<Block> for Block

    source§

    fn from(value: Block) -> Self

    Converts to this type from the input type.
    source§

    impl SecureShareContent for Block

    source§

    fn new_verifiable<SC: Serializer<Self>, U: Id>( self, content_serializer: SC, _keypair: &KeyPair, @@ -105,8 +105,8 @@ _creator_public_key: &PublicKey, serialized_content: &[u8], buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize the secured structure
    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>, DC: Deserializer<Self>, U: Id>( - _content_serializer: Option<&dyn Serializer<Self>>, +) -> Result<(), SerializeError>

    Serialize the secured structure
    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>, DC: Deserializer<Self>, U: Id>( + _content_serializer: Option<&dyn Serializer<Self>>, _signature_deserializer: &SignatureDeserializer, _creator_public_key_deserializer: &PublicKeyDeserializer, content_deserializer: &DC, @@ -131,11 +131,11 @@ _public_key: &PublicKey, content_hash: &Hash, ) -> Hash

    Compute hash used for signature
    source§

    impl Serialize for Block

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Block> for BlockSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Block> for BlockSerializer

    source§

    fn serialize( &self, value: &Block, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>
    §Example:
    use massa_models::{block::{Block, BlockSerializer}, config::THREAD_COUNT, slot::Slot, endorsement::{Endorsement, EndorsementSerializer}, secure_share::SecureShareContent, prehash::PreHashSet};
     use massa_models::block_header::{BlockHeader, BlockHeaderSerializer};
     use massa_models::block_id::{BlockId};
    diff --git a/massa_models/block/struct.BlockDeserializer.html b/massa_models/block/struct.BlockDeserializer.html
    index 5dbe485492..d33281d1a1 100644
    --- a/massa_models/block/struct.BlockDeserializer.html
    +++ b/massa_models/block/struct.BlockDeserializer.html
    @@ -3,7 +3,7 @@
         op_ids_deserializer: OperationIdsDeserializer,
     }
    Expand description

    Deserializer for Block

    Fields§

    §header_deserializer: SecureShareDeserializer<BlockHeader, BlockHeaderDeserializer>§op_ids_deserializer: OperationIdsDeserializer

    Implementations§

    source§

    impl BlockDeserializer

    source

    pub fn new(args: BlockDeserializerArgs) -> Self

    Creates a new BlockDeserializer

    -

    Trait Implementations§

    source§

    impl Deserializer<Block> for BlockDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Deserializer<Block> for BlockDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Block, E>

    §Example:
    diff --git a/massa_models/block/struct.BlockSerializer.html b/massa_models/block/struct.BlockSerializer.html index 6f12e8e740..f06dedcd6a 100644 --- a/massa_models/block/struct.BlockSerializer.html +++ b/massa_models/block/struct.BlockSerializer.html @@ -3,11 +3,11 @@ op_ids_serializer: OperationIdsSerializer, }
    Expand description

    Serializer for Block

    Fields§

    §header_serializer: SecureShareSerializer§op_ids_serializer: OperationIdsSerializer

    Implementations§

    source§

    impl BlockSerializer

    source

    pub fn new() -> Self

    Creates a new BlockSerializer

    -

    Trait Implementations§

    source§

    impl Default for BlockSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Block> for BlockSerializer

    Trait Implementations§

    source§

    impl Default for BlockSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Block> for BlockSerializer

    source§

    fn serialize( &self, value: &Block, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>
    §Example:
    use massa_models::{block::{Block, BlockSerializer}, config::THREAD_COUNT, slot::Slot, endorsement::{Endorsement, EndorsementSerializer}, secure_share::SecureShareContent, prehash::PreHashSet};
     use massa_models::block_header::{BlockHeader, BlockHeaderSerializer};
     use massa_models::block_id::{BlockId};
    diff --git a/massa_models/block_header/struct.BlockHeader.html b/massa_models/block_header/struct.BlockHeader.html
    index 7eae0ff83d..1c10586fd9 100644
    --- a/massa_models/block_header/struct.BlockHeader.html
    +++ b/massa_models/block_header/struct.BlockHeader.html
    @@ -15,7 +15,7 @@
     
    §endorsements: Vec<SecureShareEndorsement>

    endorsements

    §denunciations: Vec<Denunciation>

    denunciations

    Trait Implementations§

    source§

    impl Clone for BlockHeader

    source§

    fn clone(&self) -> BlockHeader

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BlockHeader

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for BlockHeader

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<BlockHeader> for BlockHeaderDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<BlockHeader> for BlockHeaderDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], BlockHeader, E>

    §Example:
    @@ -85,7 +85,7 @@ public_key: &PublicKey, content_hash: &Hash, signature: &Signature, -) -> Result<(), ModelsError>
    verify signature
    source§

    fn new_verifiable<Ser: Serializer<Self>, ID: Id>( +) -> Result<(), ModelsError>

    verify signature
    source§

    fn new_verifiable<Ser: Serializer<Self>, ID: Id>( self, content_serializer: Ser, keypair: &KeyPair, @@ -101,19 +101,19 @@ creator_public_key: &PublicKey, serialized_content: &[u8], buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize the secured structure
    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>, Deser: Deserializer<Self>, ID: Id>( - content_serializer: Option<&dyn Serializer<Self>>, +) -> Result<(), SerializeError>

    Serialize the secured structure
    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>, Deser: Deserializer<Self>, ID: Id>( + content_serializer: Option<&dyn Serializer<Self>>, signature_deserializer: &SignatureDeserializer, creator_public_key_deserializer: &PublicKeyDeserializer, content_deserializer: &Deser, buffer: &'a [u8], chain_id: u64, ) -> IResult<&'a [u8], SecureShare<Self, ID>, E>

    Deserialize the secured structure
    source§

    impl Serialize for BlockHeader

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<BlockHeader> for BlockHeaderSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<BlockHeader> for BlockHeaderSerializer

    source§

    fn serialize( &self, value: &BlockHeader, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>
    §Example:
    use massa_models::{block_id::BlockId, block_header::BlockHeader, block_header::BlockHeaderSerializer};
     use massa_models::endorsement::{Endorsement, EndorsementSerializer};
     use massa_models::secure_share::SecureShareContent;
    diff --git a/massa_models/block_header/struct.BlockHeaderDeserializer.html b/massa_models/block_header/struct.BlockHeaderDeserializer.html
    index 52a729ccc2..e1f9c78c14 100644
    --- a/massa_models/block_header/struct.BlockHeaderDeserializer.html
    +++ b/massa_models/block_header/struct.BlockHeaderDeserializer.html
    @@ -1,19 +1,19 @@
     BlockHeaderDeserializer in massa_models::block_header - Rust
    pub struct BlockHeaderDeserializer {
    Show 13 fields slot_deserializer: SlotDeserializer, endorsement_serializer: EndorsementSerializer, - endorsement_len_deserializer: U32VarIntDeserializer, + endorsement_len_deserializer: U32VarIntDeserializer, hash_deserializer: HashDeserializer, thread_count: u8, endorsement_count: u32, last_start_period: Option<u64>, - denunciation_len_deserializer: U32VarIntDeserializer, + denunciation_len_deserializer: U32VarIntDeserializer, denunciation_deserializer: DenunciationDeserializer, - network_versions_deserializer: U32VarIntDeserializer, - opt_deserializer: OptionDeserializer<u32, U32VarIntDeserializer>, + network_versions_deserializer: U32VarIntDeserializer, + opt_deserializer: OptionDeserializer<u32, U32VarIntDeserializer>, block_id_deserializer: BlockIdDeserializer, chain_id: u64,
    }
    Expand description

    Deserializer for BlockHeader

    -

    Fields§

    §slot_deserializer: SlotDeserializer§endorsement_serializer: EndorsementSerializer§endorsement_len_deserializer: U32VarIntDeserializer§hash_deserializer: HashDeserializer§thread_count: u8§endorsement_count: u32§last_start_period: Option<u64>§denunciation_len_deserializer: U32VarIntDeserializer§denunciation_deserializer: DenunciationDeserializer§network_versions_deserializer: U32VarIntDeserializer§opt_deserializer: OptionDeserializer<u32, U32VarIntDeserializer>§block_id_deserializer: BlockIdDeserializer§chain_id: u64

    Implementations§

    source§

    impl BlockHeaderDeserializer

    source

    pub fn new( +

    Fields§

    §slot_deserializer: SlotDeserializer§endorsement_serializer: EndorsementSerializer§endorsement_len_deserializer: U32VarIntDeserializer§hash_deserializer: HashDeserializer§thread_count: u8§endorsement_count: u32§last_start_period: Option<u64>§denunciation_len_deserializer: U32VarIntDeserializer§denunciation_deserializer: DenunciationDeserializer§network_versions_deserializer: U32VarIntDeserializer§opt_deserializer: OptionDeserializer<u32, U32VarIntDeserializer>§block_id_deserializer: BlockIdDeserializer§chain_id: u64

    Implementations§

    source§

    impl BlockHeaderDeserializer

    source

    pub fn new( thread_count: u8, endorsement_count: u32, max_denunciations_in_block_header: u32, @@ -21,7 +21,7 @@ chain_id: u64, ) -> Self

    Creates a new BlockHeaderDeserializer If last_start_period is Some(lsp), then the deserializer will check for valid (non)-genesis blocks

    -

    Trait Implementations§

    source§

    impl Deserializer<BlockHeader> for BlockHeaderDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Deserializer<BlockHeader> for BlockHeaderDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], BlockHeader, E>

    §Example:
    diff --git a/massa_models/block_header/struct.BlockHeaderSerializer.html b/massa_models/block_header/struct.BlockHeaderSerializer.html index 498fd8c108..adfd460135 100644 --- a/massa_models/block_header/struct.BlockHeaderSerializer.html +++ b/massa_models/block_header/struct.BlockHeaderSerializer.html @@ -3,16 +3,16 @@ endorsement_serializer: SecureShareSerializer, endorsement_content_serializer: EndorsementSerializerLW, denunciation_serializer: DenunciationSerializer, - u32_serializer: U32VarIntSerializer, - opt_serializer: OptionSerializer<u32, U32VarIntSerializer>, + u32_serializer: U32VarIntSerializer, + opt_serializer: OptionSerializer<u32, U32VarIntSerializer>, block_id_serializer: BlockIdSerializer, }
    Expand description

    Serializer for BlockHeader

    -

    Fields§

    §slot_serializer: SlotSerializer§endorsement_serializer: SecureShareSerializer§endorsement_content_serializer: EndorsementSerializerLW§denunciation_serializer: DenunciationSerializer§u32_serializer: U32VarIntSerializer§opt_serializer: OptionSerializer<u32, U32VarIntSerializer>§block_id_serializer: BlockIdSerializer

    Implementations§

    source§

    impl BlockHeaderSerializer

    source

    pub fn new() -> Self

    Creates a new BlockHeaderSerializer

    -

    Trait Implementations§

    source§

    impl Default for BlockHeaderSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<BlockHeader> for BlockHeaderSerializer

    Fields§

    §slot_serializer: SlotSerializer§endorsement_serializer: SecureShareSerializer§endorsement_content_serializer: EndorsementSerializerLW§denunciation_serializer: DenunciationSerializer§u32_serializer: U32VarIntSerializer§opt_serializer: OptionSerializer<u32, U32VarIntSerializer>§block_id_serializer: BlockIdSerializer

    Implementations§

    source§

    impl BlockHeaderSerializer

    source

    pub fn new() -> Self

    Creates a new BlockHeaderSerializer

    +

    Trait Implementations§

    source§

    impl Default for BlockHeaderSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<BlockHeader> for BlockHeaderSerializer

    source§

    fn serialize( &self, value: &BlockHeader, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>
    §Example:
    use massa_models::{block_id::BlockId, block_header::BlockHeader, block_header::BlockHeaderSerializer};
     use massa_models::endorsement::{Endorsement, EndorsementSerializer};
     use massa_models::secure_share::SecureShareContent;
    diff --git a/massa_models/block_id/enum.BlockId.html b/massa_models/block_id/enum.BlockId.html
    index 64922af451..893b262073 100644
    --- a/massa_models/block_id/enum.BlockId.html
    +++ b/massa_models/block_id/enum.BlockId.html
    @@ -6,10 +6,10 @@
     

    Trait Implementations§

    source§

    impl Clone for BlockId

    source§

    fn clone(&self) -> BlockId

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BlockId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for BlockId
    where Self: FromStr, <Self as FromStr>::Err: Display,

    source§

    fn deserialize<__D>(deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<BlockId> for BlockIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<BlockId> for BlockIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], BlockId, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for BlockId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for BlockId

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    +) -> IResult<&'a [u8], BlockId, E>
    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for BlockId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for BlockId

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    let ser = block_id.to_string();
     let res_block_id = BlockId::from_str(&ser).unwrap();
     assert_eq!(block_id, res_block_id);
    @@ -24,11 +24,11 @@ operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
    source§

    impl Serialize for BlockId
    where Self: Display,

    source§

    fn serialize<__S>(&self, serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<BlockId> for BlockIdSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<BlockId> for BlockIdSerializer

    source§

    fn serialize( &self, value: &BlockId, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Copy for BlockId

    source§

    impl Eq for BlockId

    source§

    impl PreHashed for BlockId

    source§

    impl StructuralPartialEq for BlockId

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Copy for BlockId

    source§

    impl Eq for BlockId

    source§

    impl PreHashed for BlockId

    source§

    impl StructuralPartialEq for BlockId

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CallHasher for T
    where diff --git a/massa_models/block_id/struct.BlockIdDeserializer.html b/massa_models/block_id/struct.BlockIdDeserializer.html index 783caa04c5..77db7ccdc9 100644 --- a/massa_models/block_id/struct.BlockIdDeserializer.html +++ b/massa_models/block_id/struct.BlockIdDeserializer.html @@ -1,15 +1,15 @@ BlockIdDeserializer in massa_models::block_id - Rust

    Struct massa_models::block_id::BlockIdDeserializer

    source ·
    pub struct BlockIdDeserializer {
         hash_deserializer: HashDeserializer,
    -    version_deserializer: U64VarIntDeserializer,
    +    version_deserializer: U64VarIntDeserializer,
     }
    Expand description

    Deserializer for BlockId

    -

    Fields§

    §hash_deserializer: HashDeserializer§version_deserializer: U64VarIntDeserializer

    Implementations§

    source§

    impl BlockIdDeserializer

    source

    pub fn new() -> Self

    Creates a new deserializer for BlockId

    -

    Trait Implementations§

    source§

    impl Clone for BlockIdDeserializer

    source§

    fn clone(&self) -> BlockIdDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for BlockIdDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<BlockId> for BlockIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §hash_deserializer: HashDeserializer§version_deserializer: U64VarIntDeserializer

    Implementations§

    source§

    impl BlockIdDeserializer

    source

    pub fn new() -> Self

    Creates a new deserializer for BlockId

    +

    Trait Implementations§

    source§

    impl Clone for BlockIdDeserializer

    source§

    fn clone(&self) -> BlockIdDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for BlockIdDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<BlockId> for BlockIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], BlockId, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Deserializer<BlockIdV0> for BlockIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +) -> IResult<&'a [u8], BlockId, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Deserializer<BlockIdV0> for BlockIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], BlockIdV0, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> IResult<&'a [u8], BlockIdV0, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/block_id/struct.BlockIdSerializer.html b/massa_models/block_id/struct.BlockIdSerializer.html index 230cdd68be..917c45e2f6 100644 --- a/massa_models/block_id/struct.BlockIdSerializer.html +++ b/massa_models/block_id/struct.BlockIdSerializer.html @@ -1,16 +1,16 @@ BlockIdSerializer in massa_models::block_id - Rust

    Struct massa_models::block_id::BlockIdSerializer

    source ·
    pub struct BlockIdSerializer {
    -    version_serializer: U64VarIntSerializer,
    +    version_serializer: U64VarIntSerializer,
     }
    Expand description

    Serializer for BlockId

    -

    Fields§

    §version_serializer: U64VarIntSerializer

    Implementations§

    source§

    impl BlockIdSerializer

    source

    pub fn new() -> Self

    Creates a new serializer for BlockId

    -

    Trait Implementations§

    source§

    impl Clone for BlockIdSerializer

    source§

    fn clone(&self) -> BlockIdSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for BlockIdSerializer

    source§

    fn default() -> BlockIdSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<BlockId> for BlockIdSerializer

    Fields§

    §version_serializer: U64VarIntSerializer

    Implementations§

    source§

    impl BlockIdSerializer

    source

    pub fn new() -> Self

    Creates a new serializer for BlockId

    +

    Trait Implementations§

    source§

    impl Clone for BlockIdSerializer

    source§

    fn clone(&self) -> BlockIdSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for BlockIdSerializer

    source§

    fn default() -> BlockIdSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<BlockId> for BlockIdSerializer

    source§

    fn serialize( &self, value: &BlockId, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Serializer<BlockIdV0> for BlockIdSerializer

    source§

    fn serialize( +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Serializer<BlockIdV0> for BlockIdSerializer

    source§

    fn serialize( &self, value: &BlockIdV0, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/block_id/struct.BlockIdV0.html b/massa_models/block_id/struct.BlockIdV0.html index f8e9924d08..fe103dbcc4 100644 --- a/massa_models/block_id/struct.BlockIdV0.html +++ b/massa_models/block_id/struct.BlockIdV0.html @@ -4,10 +4,10 @@

    Trait Implementations§

    source§

    impl Clone for BlockIdV0

    source§

    fn clone(&self) -> BlockIdV0

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'de> Deserialize<'de> for BlockIdV0
    where Self: FromStr, <Self as FromStr>::Err: Display,

    source§

    fn deserialize<__D>(deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<BlockIdV0> for BlockIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<BlockIdV0> for BlockIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], BlockIdV0, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for BlockIdV0

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for BlockIdV0

    §

    type Err = ModelsError

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl Hash for BlockIdV0

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where +) -> IResult<&'a [u8], BlockIdV0, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for BlockIdV0

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for BlockIdV0

    §

    type Err = ModelsError

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl Hash for BlockIdV0

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for BlockIdV0

    source§

    fn cmp(&self, other: &BlockIdV0) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where @@ -18,11 +18,11 @@ operator. Read more

    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
    source§

    impl Serialize for BlockIdV0
    where Self: Display,

    source§

    fn serialize<__S>(&self, serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<BlockIdV0> for BlockIdSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<BlockIdV0> for BlockIdSerializer

    source§

    fn serialize( &self, value: &BlockIdV0, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Versioned for BlockIdV0

    source§

    impl Copy for BlockIdV0

    source§

    impl Eq for BlockIdV0

    source§

    impl StructuralPartialEq for BlockIdV0

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Versioned for BlockIdV0

    source§

    impl Copy for BlockIdV0

    source§

    impl Eq for BlockIdV0

    source§

    impl StructuralPartialEq for BlockIdV0

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CallHasher for T
    where diff --git a/massa_models/bytecode/struct.Bytecode.html b/massa_models/bytecode/struct.Bytecode.html index 381f51964f..508b3b4669 100644 --- a/massa_models/bytecode/struct.Bytecode.html +++ b/massa_models/bytecode/struct.Bytecode.html @@ -1,16 +1,16 @@ Bytecode in massa_models::bytecode - Rust

    Struct massa_models::bytecode::Bytecode

    source ·
    pub struct Bytecode(pub Vec<u8>);
    Expand description

    Structure representing executable bytecode

    Tuple Fields§

    §0: Vec<u8>

    Trait Implementations§

    source§

    impl Clone for Bytecode

    source§

    fn clone(&self) -> Bytecode

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Bytecode

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Bytecode

    source§

    fn default() -> Bytecode

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Bytecode

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Bytecode> for BytecodeDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Bytecode> for BytecodeDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], Bytecode, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl PartialEq for Bytecode

    source§

    fn eq(&self, other: &Bytecode) -> bool

    This method tests for self and other values to be equal, and is used +) -> IResult<&'a [u8], Bytecode, E>
    Deserialize a value T from a buffer of u8. Read more
    source§

    impl PartialEq for Bytecode

    source§

    fn eq(&self, other: &Bytecode) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl Serialize for Bytecode

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Bytecode> for BytecodeSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Bytecode> for BytecodeSerializer

    source§

    fn serialize( &self, value: &Bytecode, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Eq for Bytecode

    source§

    impl StructuralPartialEq for Bytecode

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Eq for Bytecode

    source§

    impl StructuralPartialEq for Bytecode

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/bytecode/struct.BytecodeDeserializer.html b/massa_models/bytecode/struct.BytecodeDeserializer.html index b2ef91c534..6ecd280878 100644 --- a/massa_models/bytecode/struct.BytecodeDeserializer.html +++ b/massa_models/bytecode/struct.BytecodeDeserializer.html @@ -1,12 +1,12 @@ BytecodeDeserializer in massa_models::bytecode - Rust

    Struct massa_models::bytecode::BytecodeDeserializer

    source ·
    pub struct BytecodeDeserializer {
    -    version_byte_deserializer: U64VarIntDeserializer,
    +    version_byte_deserializer: U64VarIntDeserializer,
         vec_u8_deserializer: VecU8Deserializer,
     }
    Expand description

    Deserializer for Bytecode

    -

    Fields§

    §version_byte_deserializer: U64VarIntDeserializer§vec_u8_deserializer: VecU8Deserializer

    Implementations§

    source§

    impl BytecodeDeserializer

    source

    pub fn new(max_datastore_value_length: u64) -> Self

    Creates a new LedgerEntryDeserializer

    -

    Trait Implementations§

    source§

    impl Deserializer<Bytecode> for BytecodeDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §version_byte_deserializer: U64VarIntDeserializer§vec_u8_deserializer: VecU8Deserializer

    Implementations§

    source§

    impl BytecodeDeserializer

    source

    pub fn new(max_datastore_value_length: u64) -> Self

    Creates a new LedgerEntryDeserializer

    +

    Trait Implementations§

    source§

    impl Deserializer<Bytecode> for BytecodeDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], Bytecode, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> IResult<&'a [u8], Bytecode, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_models/bytecode/struct.BytecodeSerializer.html b/massa_models/bytecode/struct.BytecodeSerializer.html index 36e648dcc2..6cd3b10d1e 100644 --- a/massa_models/bytecode/struct.BytecodeSerializer.html +++ b/massa_models/bytecode/struct.BytecodeSerializer.html @@ -1,13 +1,13 @@ BytecodeSerializer in massa_models::bytecode - Rust

    Struct massa_models::bytecode::BytecodeSerializer

    source ·
    pub struct BytecodeSerializer {
    -    version_byte_serializer: U64VarIntSerializer,
    +    version_byte_serializer: U64VarIntSerializer,
         vec_u8_serializer: VecU8Serializer,
     }
    Expand description

    Serializer for Bytecode

    -

    Fields§

    §version_byte_serializer: U64VarIntSerializer§vec_u8_serializer: VecU8Serializer

    Implementations§

    source§

    impl BytecodeSerializer

    source

    pub fn new() -> Self

    Creates a new BytecodeSerializer

    -

    Trait Implementations§

    source§

    impl Default for BytecodeSerializer

    source§

    fn default() -> BytecodeSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Bytecode> for BytecodeSerializer

    Fields§

    §version_byte_serializer: U64VarIntSerializer§vec_u8_serializer: VecU8Serializer

    Implementations§

    source§

    impl BytecodeSerializer

    source

    pub fn new() -> Self

    Creates a new BytecodeSerializer

    +

    Trait Implementations§

    source§

    impl Default for BytecodeSerializer

    source§

    fn default() -> BytecodeSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Bytecode> for BytecodeSerializer

    source§

    fn serialize( &self, value: &Bytecode, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_models/clique/struct.Clique.html b/massa_models/clique/struct.Clique.html index 00f2c6937f..958953b2eb 100644 --- a/massa_models/clique/struct.Clique.html +++ b/massa_models/clique/struct.Clique.html @@ -8,7 +8,7 @@ Depends on descendants and endorsement count

    §is_blockclique: bool

    True if it is the clique of higher fitness

    Trait Implementations§

    source§

    impl Clone for Clique

    source§

    fn clone(&self) -> Clique

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Clique

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Clique

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Clique

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Clique> for CliqueDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Clique> for CliqueDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Clique, E>

    §Example
    @@ -26,11 +26,11 @@ assert_eq!(clique.is_blockclique, clique_deserialized.is_blockclique); assert_eq!(clique.fitness, clique_deserialized.fitness);
    source§

    impl Serialize for Clique

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Clique> for CliqueSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Clique> for CliqueSerializer

    source§

    fn serialize( &self, value: &Clique, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example
    +) -> Result<(), SerializeError>
    §Example
    let clique = Clique {
             block_ids: vec![get_dummy_block_id("parent1"), get_dummy_block_id("parent2")].into_iter().collect(),
             fitness: 123,
    diff --git a/massa_models/clique/struct.CliqueDeserializer.html b/massa_models/clique/struct.CliqueDeserializer.html
    index 16a2f0d24a..c9c9c2e11c 100644
    --- a/massa_models/clique/struct.CliqueDeserializer.html
    +++ b/massa_models/clique/struct.CliqueDeserializer.html
    @@ -1,10 +1,10 @@
     CliqueDeserializer in massa_models::clique - Rust

    Struct massa_models::clique::CliqueDeserializer

    source ·
    pub struct CliqueDeserializer {
    -    block_ids_length_deserializer: U32VarIntDeserializer,
    +    block_ids_length_deserializer: U32VarIntDeserializer,
         block_id_deserializer: BlockIdDeserializer,
    -    fitness_deserializer: U64VarIntDeserializer,
    +    fitness_deserializer: U64VarIntDeserializer,
     }
    Expand description

    Basic deserializer for Clique

    -

    Fields§

    §block_ids_length_deserializer: U32VarIntDeserializer§block_id_deserializer: BlockIdDeserializer§fitness_deserializer: U64VarIntDeserializer

    Implementations§

    source§

    impl CliqueDeserializer

    source

    pub fn new(max_bootstrap_blocks: u32) -> Self

    Creates a CliqueDeserializer

    -

    Trait Implementations§

    source§

    impl Deserializer<Clique> for CliqueDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §block_ids_length_deserializer: U32VarIntDeserializer§block_id_deserializer: BlockIdDeserializer§fitness_deserializer: U64VarIntDeserializer

    Implementations§

    source§

    impl CliqueDeserializer

    source

    pub fn new(max_bootstrap_blocks: u32) -> Self

    Creates a CliqueDeserializer

    +

    Trait Implementations§

    source§

    impl Deserializer<Clique> for CliqueDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Clique, E>

    §Example
    diff --git a/massa_models/clique/struct.CliqueSerializer.html b/massa_models/clique/struct.CliqueSerializer.html index 0bff786668..f413da76da 100644 --- a/massa_models/clique/struct.CliqueSerializer.html +++ b/massa_models/clique/struct.CliqueSerializer.html @@ -1,14 +1,14 @@ CliqueSerializer in massa_models::clique - Rust

    Struct massa_models::clique::CliqueSerializer

    source ·
    pub struct CliqueSerializer {
    -    block_ids_length_serializer: U32VarIntSerializer,
    -    fitness_serializer: U64VarIntSerializer,
    +    block_ids_length_serializer: U32VarIntSerializer,
    +    fitness_serializer: U64VarIntSerializer,
         block_id_serializer: BlockIdSerializer,
     }
    Expand description

    Basic serializer for Clique

    -

    Fields§

    §block_ids_length_serializer: U32VarIntSerializer§fitness_serializer: U64VarIntSerializer§block_id_serializer: BlockIdSerializer

    Implementations§

    source§

    impl CliqueSerializer

    source

    pub fn new() -> Self

    Creates a CliqueSerializer

    -

    Trait Implementations§

    source§

    impl Default for CliqueSerializer

    source§

    fn default() -> CliqueSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Clique> for CliqueSerializer

    Fields§

    §block_ids_length_serializer: U32VarIntSerializer§fitness_serializer: U64VarIntSerializer§block_id_serializer: BlockIdSerializer

    Implementations§

    source§

    impl CliqueSerializer

    source

    pub fn new() -> Self

    Creates a CliqueSerializer

    +

    Trait Implementations§

    source§

    impl Default for CliqueSerializer

    source§

    fn default() -> CliqueSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Clique> for CliqueSerializer

    source§

    fn serialize( &self, value: &Clique, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example
    +) -> Result<(), SerializeError>
    §Example
    let clique = Clique {
             block_ids: vec![get_dummy_block_id("parent1"), get_dummy_block_id("parent2")].into_iter().collect(),
             fitness: 123,
    diff --git a/massa_models/config/constants/constant.DEFERRED_CALL_BASE_FEE_MAX_CHANGE_DENOMINATOR.html b/massa_models/config/constants/constant.DEFERRED_CALL_BASE_FEE_MAX_CHANGE_DENOMINATOR.html
    index b555d9738a..a06e45d187 100644
    --- a/massa_models/config/constants/constant.DEFERRED_CALL_BASE_FEE_MAX_CHANGE_DENOMINATOR.html
    +++ b/massa_models/config/constants/constant.DEFERRED_CALL_BASE_FEE_MAX_CHANGE_DENOMINATOR.html
    @@ -1,2 +1,2 @@
    -DEFERRED_CALL_BASE_FEE_MAX_CHANGE_DENOMINATOR in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_BASE_FEE_MAX_CHANGE_DENOMINATOR: usize = 1250;
    Expand description

    max change denominator

    +DEFERRED_CALL_BASE_FEE_MAX_CHANGE_DENOMINATOR in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_BASE_FEE_MAX_CHANGE_DENOMINATOR: usize = 1250;
    Expand description

    max change denominator

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.DEFERRED_CALL_CST_GAS_COST.html b/massa_models/config/constants/constant.DEFERRED_CALL_CST_GAS_COST.html index a09243d35f..72c6545c17 100644 --- a/massa_models/config/constants/constant.DEFERRED_CALL_CST_GAS_COST.html +++ b/massa_models/config/constants/constant.DEFERRED_CALL_CST_GAS_COST.html @@ -1,2 +1,2 @@ -DEFERRED_CALL_CST_GAS_COST in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_CST_GAS_COST: u64 = 750_000;
    Expand description

    deferred call call gas cost

    +DEFERRED_CALL_CST_GAS_COST in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_CST_GAS_COST: u64 = 750_000;
    Expand description

    deferred call call gas cost

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.DEFERRED_CALL_GLOBAL_OVERBOOKING_PENALTY.html b/massa_models/config/constants/constant.DEFERRED_CALL_GLOBAL_OVERBOOKING_PENALTY.html index 7ed243bf31..5f2611a086 100644 --- a/massa_models/config/constants/constant.DEFERRED_CALL_GLOBAL_OVERBOOKING_PENALTY.html +++ b/massa_models/config/constants/constant.DEFERRED_CALL_GLOBAL_OVERBOOKING_PENALTY.html @@ -1,2 +1,2 @@ -DEFERRED_CALL_GLOBAL_OVERBOOKING_PENALTY in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_GLOBAL_OVERBOOKING_PENALTY: Amount;
    Expand description

    deferred call global overbooking penalty

    +DEFERRED_CALL_GLOBAL_OVERBOOKING_PENALTY in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_GLOBAL_OVERBOOKING_PENALTY: Amount;
    Expand description

    deferred call global overbooking penalty

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.DEFERRED_CALL_MAX_ASYNC_GAS.html b/massa_models/config/constants/constant.DEFERRED_CALL_MAX_ASYNC_GAS.html index 1dc5cb5742..e8b6464b5b 100644 --- a/massa_models/config/constants/constant.DEFERRED_CALL_MAX_ASYNC_GAS.html +++ b/massa_models/config/constants/constant.DEFERRED_CALL_MAX_ASYNC_GAS.html @@ -1,2 +1,2 @@ -DEFERRED_CALL_MAX_ASYNC_GAS in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_MAX_ASYNC_GAS: u64 = MAX_ASYNC_GAS; // 1_000_000_000u64
    Expand description

    maximum gas for deferred call

    +DEFERRED_CALL_MAX_ASYNC_GAS in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_MAX_ASYNC_GAS: u64 = MAX_ASYNC_GAS; // 1_000_000_000u64
    Expand description

    maximum gas for deferred call

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.DEFERRED_CALL_MAX_FUTURE_SLOTS.html b/massa_models/config/constants/constant.DEFERRED_CALL_MAX_FUTURE_SLOTS.html index 48f2f5116e..441ce10262 100644 --- a/massa_models/config/constants/constant.DEFERRED_CALL_MAX_FUTURE_SLOTS.html +++ b/massa_models/config/constants/constant.DEFERRED_CALL_MAX_FUTURE_SLOTS.html @@ -1,2 +1,2 @@ -DEFERRED_CALL_MAX_FUTURE_SLOTS in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_MAX_FUTURE_SLOTS: u64 = 1209600;
    Expand description

    Maximum size of deferred call future slots (1 week)

    +DEFERRED_CALL_MAX_FUTURE_SLOTS in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_MAX_FUTURE_SLOTS: u64 = 1209600;
    Expand description

    Maximum size of deferred call future slots (1 week)

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.DEFERRED_CALL_MAX_POOL_CHANGES.html b/massa_models/config/constants/constant.DEFERRED_CALL_MAX_POOL_CHANGES.html index ccfb617380..b8c0917795 100644 --- a/massa_models/config/constants/constant.DEFERRED_CALL_MAX_POOL_CHANGES.html +++ b/massa_models/config/constants/constant.DEFERRED_CALL_MAX_POOL_CHANGES.html @@ -1,2 +1,2 @@ -DEFERRED_CALL_MAX_POOL_CHANGES in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_MAX_POOL_CHANGES: u64 = 100_000;
    Expand description

    Maximum size of deferred call pool changes

    +DEFERRED_CALL_MAX_POOL_CHANGES in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_MAX_POOL_CHANGES: u64 = 100_000;
    Expand description

    Maximum size of deferred call pool changes

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.DEFERRED_CALL_MIN_GAS_COST.html b/massa_models/config/constants/constant.DEFERRED_CALL_MIN_GAS_COST.html index 1febb39fea..a522d2084b 100644 --- a/massa_models/config/constants/constant.DEFERRED_CALL_MIN_GAS_COST.html +++ b/massa_models/config/constants/constant.DEFERRED_CALL_MIN_GAS_COST.html @@ -1,2 +1,2 @@ -DEFERRED_CALL_MIN_GAS_COST in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_MIN_GAS_COST: u64 = 10;
    Expand description

    deferred call min gas cost (10 nanomassa)

    +DEFERRED_CALL_MIN_GAS_COST in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_MIN_GAS_COST: u64 = 10;
    Expand description

    deferred call min gas cost (10 nanomassa)

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.DEFERRED_CALL_MIN_GAS_INCREMENT.html b/massa_models/config/constants/constant.DEFERRED_CALL_MIN_GAS_INCREMENT.html index 59f1a98176..0b6e4eb2fa 100644 --- a/massa_models/config/constants/constant.DEFERRED_CALL_MIN_GAS_INCREMENT.html +++ b/massa_models/config/constants/constant.DEFERRED_CALL_MIN_GAS_INCREMENT.html @@ -1,2 +1,2 @@ -DEFERRED_CALL_MIN_GAS_INCREMENT in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_MIN_GAS_INCREMENT: u64 = 1;
    Expand description

    deferred call min gas increment (1 nanomassa)

    +DEFERRED_CALL_MIN_GAS_INCREMENT in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_MIN_GAS_INCREMENT: u64 = 1;
    Expand description

    deferred call min gas increment (1 nanomassa)

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.DEFERRED_CALL_SLOT_OVERBOOKING_PENALTY.html b/massa_models/config/constants/constant.DEFERRED_CALL_SLOT_OVERBOOKING_PENALTY.html index 1f99a63d5f..6ac6567496 100644 --- a/massa_models/config/constants/constant.DEFERRED_CALL_SLOT_OVERBOOKING_PENALTY.html +++ b/massa_models/config/constants/constant.DEFERRED_CALL_SLOT_OVERBOOKING_PENALTY.html @@ -1,2 +1,2 @@ -DEFERRED_CALL_SLOT_OVERBOOKING_PENALTY in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_SLOT_OVERBOOKING_PENALTY: Amount;
    Expand description

    deferred call slot overbooking penalty

    +DEFERRED_CALL_SLOT_OVERBOOKING_PENALTY in massa_models::config::constants - Rust
    pub const DEFERRED_CALL_SLOT_OVERBOOKING_PENALTY: Amount;
    Expand description

    deferred call slot overbooking penalty

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.DENUNCIATION_EXPIRE_PERIODS.html b/massa_models/config/constants/constant.DENUNCIATION_EXPIRE_PERIODS.html index a4adf9ea9c..863ad96cc4 100644 --- a/massa_models/config/constants/constant.DENUNCIATION_EXPIRE_PERIODS.html +++ b/massa_models/config/constants/constant.DENUNCIATION_EXPIRE_PERIODS.html @@ -1,2 +1,2 @@ -DENUNCIATION_EXPIRE_PERIODS in massa_models::config::constants - Rust
    pub const DENUNCIATION_EXPIRE_PERIODS: u64 = PERIODS_PER_CYCLE; // 128u64
    Expand description

    denunciation expiration delta

    +DENUNCIATION_EXPIRE_PERIODS in massa_models::config::constants - Rust
    pub const DENUNCIATION_EXPIRE_PERIODS: u64 = PERIODS_PER_CYCLE; // 128u64
    Expand description

    denunciation expiration delta

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_DENUNCIATIONS_PER_BLOCK_HEADER.html b/massa_models/config/constants/constant.MAX_DENUNCIATIONS_PER_BLOCK_HEADER.html index 28306e3e71..a649ebd38e 100644 --- a/massa_models/config/constants/constant.MAX_DENUNCIATIONS_PER_BLOCK_HEADER.html +++ b/massa_models/config/constants/constant.MAX_DENUNCIATIONS_PER_BLOCK_HEADER.html @@ -1,2 +1,2 @@ -MAX_DENUNCIATIONS_PER_BLOCK_HEADER in massa_models::config::constants - Rust
    pub const MAX_DENUNCIATIONS_PER_BLOCK_HEADER: u32 = 128;
    Expand description

    Max number of denunciations that can be included in a block header

    +MAX_DENUNCIATIONS_PER_BLOCK_HEADER in massa_models::config::constants - Rust
    pub const MAX_DENUNCIATIONS_PER_BLOCK_HEADER: u32 = 128;
    Expand description

    Max number of denunciations that can be included in a block header

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_DENUNCIATION_CHANGES_LENGTH.html b/massa_models/config/constants/constant.MAX_DENUNCIATION_CHANGES_LENGTH.html index a2665981c8..50b4284ea0 100644 --- a/massa_models/config/constants/constant.MAX_DENUNCIATION_CHANGES_LENGTH.html +++ b/massa_models/config/constants/constant.MAX_DENUNCIATION_CHANGES_LENGTH.html @@ -1,2 +1,2 @@ -MAX_DENUNCIATION_CHANGES_LENGTH in massa_models::config::constants - Rust
    pub const MAX_DENUNCIATION_CHANGES_LENGTH: u64 = 1_000;
    Expand description

    Maximum size of executed denunciations

    +MAX_DENUNCIATION_CHANGES_LENGTH in massa_models::config::constants - Rust
    pub const MAX_DENUNCIATION_CHANGES_LENGTH: u64 = 1_000;
    Expand description

    Maximum size of executed denunciations

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_DUPLEX_BUFFER_SIZE.html b/massa_models/config/constants/constant.MAX_DUPLEX_BUFFER_SIZE.html index 067255bca5..16e3dfd86e 100644 --- a/massa_models/config/constants/constant.MAX_DUPLEX_BUFFER_SIZE.html +++ b/massa_models/config/constants/constant.MAX_DUPLEX_BUFFER_SIZE.html @@ -1,2 +1,2 @@ -MAX_DUPLEX_BUFFER_SIZE in massa_models::config::constants - Rust

    Constant massa_models::config::constants::MAX_DUPLEX_BUFFER_SIZE

    source ·
    pub const MAX_DUPLEX_BUFFER_SIZE: usize = 1024;
    Expand description

    max duplex buffer size

    +MAX_DUPLEX_BUFFER_SIZE in massa_models::config::constants - Rust

    Constant massa_models::config::constants::MAX_DUPLEX_BUFFER_SIZE

    source ·
    pub const MAX_DUPLEX_BUFFER_SIZE: usize = 1024;
    Expand description

    max duplex buffer size

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_ENDORSEMENTS_PER_MESSAGE.html b/massa_models/config/constants/constant.MAX_ENDORSEMENTS_PER_MESSAGE.html index e56d87879f..f48cd27c2d 100644 --- a/massa_models/config/constants/constant.MAX_ENDORSEMENTS_PER_MESSAGE.html +++ b/massa_models/config/constants/constant.MAX_ENDORSEMENTS_PER_MESSAGE.html @@ -1,2 +1,2 @@ -MAX_ENDORSEMENTS_PER_MESSAGE in massa_models::config::constants - Rust
    pub const MAX_ENDORSEMENTS_PER_MESSAGE: u32 = 1024;
    Expand description

    Max number of endorsements per message

    +MAX_ENDORSEMENTS_PER_MESSAGE in massa_models::config::constants - Rust
    pub const MAX_ENDORSEMENTS_PER_MESSAGE: u32 = 1024;
    Expand description

    Max number of endorsements per message

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_EVENT_DATA_SIZE.html b/massa_models/config/constants/constant.MAX_EVENT_DATA_SIZE.html deleted file mode 100644 index 98ccf62bcf..0000000000 --- a/massa_models/config/constants/constant.MAX_EVENT_DATA_SIZE.html +++ /dev/null @@ -1,2 +0,0 @@ -MAX_EVENT_DATA_SIZE in massa_models::config::constants - Rust

    Constant massa_models::config::constants::MAX_EVENT_DATA_SIZE

    source ·
    pub const MAX_EVENT_DATA_SIZE: usize = 512;
    Expand description

    Maximum event size in bytes

    -
    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_EVENT_DATA_SIZE_V0.html b/massa_models/config/constants/constant.MAX_EVENT_DATA_SIZE_V0.html new file mode 100644 index 0000000000..74ef85018a --- /dev/null +++ b/massa_models/config/constants/constant.MAX_EVENT_DATA_SIZE_V0.html @@ -0,0 +1,2 @@ +MAX_EVENT_DATA_SIZE_V0 in massa_models::config::constants - Rust

    Constant massa_models::config::constants::MAX_EVENT_DATA_SIZE_V0

    source ·
    pub const MAX_EVENT_DATA_SIZE_V0: usize = 50_000;
    Expand description

    Maximum event size in bytes

    +
    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_EVENT_DATA_SIZE_V1.html b/massa_models/config/constants/constant.MAX_EVENT_DATA_SIZE_V1.html new file mode 100644 index 0000000000..cf390cf84d --- /dev/null +++ b/massa_models/config/constants/constant.MAX_EVENT_DATA_SIZE_V1.html @@ -0,0 +1,2 @@ +MAX_EVENT_DATA_SIZE_V1 in massa_models::config::constants - Rust

    Constant massa_models::config::constants::MAX_EVENT_DATA_SIZE_V1

    source ·
    pub const MAX_EVENT_DATA_SIZE_V1: usize = 512;
    Expand description

    Maximum event size in bytes

    +
    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_EVENT_PER_OPERATION.html b/massa_models/config/constants/constant.MAX_EVENT_PER_OPERATION.html index b83fa048b9..63e0022fe4 100644 --- a/massa_models/config/constants/constant.MAX_EVENT_PER_OPERATION.html +++ b/massa_models/config/constants/constant.MAX_EVENT_PER_OPERATION.html @@ -1,2 +1,2 @@ -MAX_EVENT_PER_OPERATION in massa_models::config::constants - Rust

    Constant massa_models::config::constants::MAX_EVENT_PER_OPERATION

    source ·
    pub const MAX_EVENT_PER_OPERATION: usize = 25;
    Expand description

    Maximum event number that can be emitted for an operation

    +MAX_EVENT_PER_OPERATION in massa_models::config::constants - Rust

    Constant massa_models::config::constants::MAX_EVENT_PER_OPERATION

    source ·
    pub const MAX_EVENT_PER_OPERATION: usize = 25;
    Expand description

    Maximum event number that can be emitted for an operation

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_LISTENERS_PER_PEER.html b/massa_models/config/constants/constant.MAX_LISTENERS_PER_PEER.html index bfab10c713..06595ac2cf 100644 --- a/massa_models/config/constants/constant.MAX_LISTENERS_PER_PEER.html +++ b/massa_models/config/constants/constant.MAX_LISTENERS_PER_PEER.html @@ -1,2 +1,2 @@ -MAX_LISTENERS_PER_PEER in massa_models::config::constants - Rust

    Constant massa_models::config::constants::MAX_LISTENERS_PER_PEER

    source ·
    pub const MAX_LISTENERS_PER_PEER: u64 = 100;
    Expand description

    Maximum number of listeners for a peer

    +MAX_LISTENERS_PER_PEER in massa_models::config::constants - Rust

    Constant massa_models::config::constants::MAX_LISTENERS_PER_PEER

    source ·
    pub const MAX_LISTENERS_PER_PEER: u64 = 100;
    Expand description

    Maximum number of listeners for a peer

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_OPERATION_STORAGE_TIME.html b/massa_models/config/constants/constant.MAX_OPERATION_STORAGE_TIME.html index de33445a60..cfe7f3dc71 100644 --- a/massa_models/config/constants/constant.MAX_OPERATION_STORAGE_TIME.html +++ b/massa_models/config/constants/constant.MAX_OPERATION_STORAGE_TIME.html @@ -1,2 +1,2 @@ -MAX_OPERATION_STORAGE_TIME in massa_models::config::constants - Rust
    pub const MAX_OPERATION_STORAGE_TIME: MassaTime;
    Expand description

    Maximum of time we keep the operations in the storage of the propagation thread

    +MAX_OPERATION_STORAGE_TIME in massa_models::config::constants - Rust
    pub const MAX_OPERATION_STORAGE_TIME: MassaTime;
    Expand description

    Maximum of time we keep the operations in the storage of the propagation thread

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_PEERS_IN_ANNOUNCEMENT_LIST.html b/massa_models/config/constants/constant.MAX_PEERS_IN_ANNOUNCEMENT_LIST.html index 543d2afe14..48a17c396e 100644 --- a/massa_models/config/constants/constant.MAX_PEERS_IN_ANNOUNCEMENT_LIST.html +++ b/massa_models/config/constants/constant.MAX_PEERS_IN_ANNOUNCEMENT_LIST.html @@ -1,2 +1,2 @@ -MAX_PEERS_IN_ANNOUNCEMENT_LIST in massa_models::config::constants - Rust
    pub const MAX_PEERS_IN_ANNOUNCEMENT_LIST: u64 = 100;
    Expand description

    Maximum number of peer in a announcement list of peer

    +MAX_PEERS_IN_ANNOUNCEMENT_LIST in massa_models::config::constants - Rust
    pub const MAX_PEERS_IN_ANNOUNCEMENT_LIST: u64 = 100;
    Expand description

    Maximum number of peer in a announcement list of peer

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_RECURSIVE_CALLS_DEPTH.html b/massa_models/config/constants/constant.MAX_RECURSIVE_CALLS_DEPTH.html index 8ebb15b9fd..4ee4b61f22 100644 --- a/massa_models/config/constants/constant.MAX_RECURSIVE_CALLS_DEPTH.html +++ b/massa_models/config/constants/constant.MAX_RECURSIVE_CALLS_DEPTH.html @@ -1,2 +1,2 @@ -MAX_RECURSIVE_CALLS_DEPTH in massa_models::config::constants - Rust
    pub const MAX_RECURSIVE_CALLS_DEPTH: u16 = 25;
    Expand description

    Maximum number of recursion for calls

    +MAX_RECURSIVE_CALLS_DEPTH in massa_models::config::constants - Rust
    pub const MAX_RECURSIVE_CALLS_DEPTH: u16 = 25;
    Expand description

    Maximum number of recursion for calls

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_CONNECTIVITY.html b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_CONNECTIVITY.html index c599fb9459..8fef9b12c1 100644 --- a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_CONNECTIVITY.html +++ b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_CONNECTIVITY.html @@ -1,2 +1,2 @@ -MAX_SIZE_CHANNEL_COMMANDS_CONNECTIVITY in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_CONNECTIVITY: usize = 10000;
    Expand description

    Maximum size of channel used for commands in connectivity thread

    +MAX_SIZE_CHANNEL_COMMANDS_CONNECTIVITY in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_CONNECTIVITY: usize = 10000;
    Expand description

    Maximum size of channel used for commands in connectivity thread

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PEERS.html b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PEERS.html index 1946948974..6ec49f7eaa 100644 --- a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PEERS.html +++ b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PEERS.html @@ -1,2 +1,2 @@ -MAX_SIZE_CHANNEL_COMMANDS_PEERS in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_PEERS: usize = 10000;
    Expand description

    Maximum size of channel used for commands in peers management thread

    +MAX_SIZE_CHANNEL_COMMANDS_PEERS in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_PEERS: usize = 10000;
    Expand description

    Maximum size of channel used for commands in peers management thread

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PEER_TESTERS.html b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PEER_TESTERS.html index f172f6ee00..d4b8c0887b 100644 --- a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PEER_TESTERS.html +++ b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PEER_TESTERS.html @@ -1,2 +1,2 @@ -MAX_SIZE_CHANNEL_COMMANDS_PEER_TESTERS in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_PEER_TESTERS: usize = 10000;
    Expand description

    Maximum size of channel used for commands in peer testers thread

    +MAX_SIZE_CHANNEL_COMMANDS_PEER_TESTERS in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_PEER_TESTERS: usize = 10000;
    Expand description

    Maximum size of channel used for commands in peer testers thread

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_BLOCKS.html b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_BLOCKS.html index 1199fd2bbc..32de71ddf6 100644 --- a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_BLOCKS.html +++ b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_BLOCKS.html @@ -1,2 +1,2 @@ -MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_BLOCKS in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_BLOCKS: usize = 10000;
    Expand description

    Maximum size of channel used for commands in propagation thread of block

    +MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_BLOCKS in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_BLOCKS: usize = 10000;
    Expand description

    Maximum size of channel used for commands in propagation thread of block

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_ENDORSEMENTS.html b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_ENDORSEMENTS.html index b115aa25f5..37cbb5b9eb 100644 --- a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_ENDORSEMENTS.html +++ b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_ENDORSEMENTS.html @@ -1,2 +1,2 @@ -MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_ENDORSEMENTS in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_ENDORSEMENTS: usize = 10000;
    Expand description

    Maximum size of channel used for commands in propagation thread of endorsements

    +MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_ENDORSEMENTS in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_ENDORSEMENTS: usize = 10000;
    Expand description

    Maximum size of channel used for commands in propagation thread of endorsements

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_OPERATIONS.html b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_OPERATIONS.html index c6af6e2a47..5c29e89072 100644 --- a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_OPERATIONS.html +++ b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_OPERATIONS.html @@ -1,2 +1,2 @@ -MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_OPERATIONS in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_OPERATIONS: usize = 10000;
    Expand description

    Maximum size of channel used for commands in propagation thread of operations

    +MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_OPERATIONS in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_OPERATIONS: usize = 10000;
    Expand description

    Maximum size of channel used for commands in propagation thread of operations

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_BLOCKS.html b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_BLOCKS.html index 2096bfebf1..723ff0f819 100644 --- a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_BLOCKS.html +++ b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_BLOCKS.html @@ -1,2 +1,2 @@ -MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_BLOCKS in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_BLOCKS: usize = 10000;
    Expand description

    Maximum size of channel used for commands in retrieval thread of block

    +MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_BLOCKS in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_BLOCKS: usize = 10000;
    Expand description

    Maximum size of channel used for commands in retrieval thread of block

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_ENDORSEMENTS.html b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_ENDORSEMENTS.html index 0d7c1a6364..9f35a32eb4 100644 --- a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_ENDORSEMENTS.html +++ b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_ENDORSEMENTS.html @@ -1,2 +1,2 @@ -MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_ENDORSEMENTS in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_ENDORSEMENTS: usize = 10000;
    Expand description

    Maximum size of channel used for commands in retrieval thread of endorsements

    +MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_ENDORSEMENTS in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_ENDORSEMENTS: usize = 10000;
    Expand description

    Maximum size of channel used for commands in retrieval thread of endorsements

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_OPERATIONS.html b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_OPERATIONS.html index 1b94e59aab..4fefd45c8d 100644 --- a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_OPERATIONS.html +++ b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_OPERATIONS.html @@ -1,2 +1,2 @@ -MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_OPERATIONS in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_OPERATIONS: usize = 10000;
    Expand description

    Maximum size of channel used for commands in retrieval thread of operations

    +MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_OPERATIONS in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_OPERATIONS: usize = 10000;
    Expand description

    Maximum size of channel used for commands in retrieval thread of operations

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_NETWORK_TO_BLOCK_HANDLER.html b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_NETWORK_TO_BLOCK_HANDLER.html index 08206c4940..a89f2f6435 100644 --- a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_NETWORK_TO_BLOCK_HANDLER.html +++ b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_NETWORK_TO_BLOCK_HANDLER.html @@ -1,2 +1,2 @@ -MAX_SIZE_CHANNEL_NETWORK_TO_BLOCK_HANDLER in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_NETWORK_TO_BLOCK_HANDLER: usize = 10000;
    Expand description

    Maximum size of channel used to send network events to the block handler

    +MAX_SIZE_CHANNEL_NETWORK_TO_BLOCK_HANDLER in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_NETWORK_TO_BLOCK_HANDLER: usize = 10000;
    Expand description

    Maximum size of channel used to send network events to the block handler

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_NETWORK_TO_ENDORSEMENT_HANDLER.html b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_NETWORK_TO_ENDORSEMENT_HANDLER.html index 7620e88b1e..c98984caa1 100644 --- a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_NETWORK_TO_ENDORSEMENT_HANDLER.html +++ b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_NETWORK_TO_ENDORSEMENT_HANDLER.html @@ -1,2 +1,2 @@ -MAX_SIZE_CHANNEL_NETWORK_TO_ENDORSEMENT_HANDLER in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_NETWORK_TO_ENDORSEMENT_HANDLER: usize = 10000;
    Expand description

    Maximum size of channel used to send network events to the endorsement handler

    +MAX_SIZE_CHANNEL_NETWORK_TO_ENDORSEMENT_HANDLER in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_NETWORK_TO_ENDORSEMENT_HANDLER: usize = 10000;
    Expand description

    Maximum size of channel used to send network events to the endorsement handler

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_NETWORK_TO_OPERATION_HANDLER.html b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_NETWORK_TO_OPERATION_HANDLER.html index a2ae76c925..eb31d7d5f4 100644 --- a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_NETWORK_TO_OPERATION_HANDLER.html +++ b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_NETWORK_TO_OPERATION_HANDLER.html @@ -1,2 +1,2 @@ -MAX_SIZE_CHANNEL_NETWORK_TO_OPERATION_HANDLER in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_NETWORK_TO_OPERATION_HANDLER: usize = 10000;
    Expand description

    Maximum size of channel used to send network events to the operation handler

    +MAX_SIZE_CHANNEL_NETWORK_TO_OPERATION_HANDLER in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_NETWORK_TO_OPERATION_HANDLER: usize = 10000;
    Expand description

    Maximum size of channel used to send network events to the operation handler

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_NETWORK_TO_PEER_HANDLER.html b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_NETWORK_TO_PEER_HANDLER.html index 3739a93da9..8700a079b7 100644 --- a/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_NETWORK_TO_PEER_HANDLER.html +++ b/massa_models/config/constants/constant.MAX_SIZE_CHANNEL_NETWORK_TO_PEER_HANDLER.html @@ -1,2 +1,2 @@ -MAX_SIZE_CHANNEL_NETWORK_TO_PEER_HANDLER in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_NETWORK_TO_PEER_HANDLER: usize = 10000;
    Expand description

    Maximum size of channel used to send network events to the peer handler

    +MAX_SIZE_CHANNEL_NETWORK_TO_PEER_HANDLER in massa_models::config::constants - Rust
    pub const MAX_SIZE_CHANNEL_NETWORK_TO_PEER_HANDLER: usize = 10000;
    Expand description

    Maximum size of channel used to send network events to the peer handler

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.MIP_STORE_STATS_BLOCK_CONSIDERED.html b/massa_models/config/constants/constant.MIP_STORE_STATS_BLOCK_CONSIDERED.html index 1e3683622e..3642e96bf7 100644 --- a/massa_models/config/constants/constant.MIP_STORE_STATS_BLOCK_CONSIDERED.html +++ b/massa_models/config/constants/constant.MIP_STORE_STATS_BLOCK_CONSIDERED.html @@ -1,2 +1,2 @@ -MIP_STORE_STATS_BLOCK_CONSIDERED in massa_models::config::constants - Rust
    pub const MIP_STORE_STATS_BLOCK_CONSIDERED: usize = 1000;
    Expand description

    Block count to process in MipStoreStats (for state change threshold)

    +MIP_STORE_STATS_BLOCK_CONSIDERED in massa_models::config::constants - Rust
    pub const MIP_STORE_STATS_BLOCK_CONSIDERED: usize = 1000;
    Expand description

    Block count to process in MipStoreStats (for state change threshold)

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.NETWORK_CONTROLLER_CHANNEL_SIZE.html b/massa_models/config/constants/constant.NETWORK_CONTROLLER_CHANNEL_SIZE.html index 3692da9ae5..2d15314006 100644 --- a/massa_models/config/constants/constant.NETWORK_CONTROLLER_CHANNEL_SIZE.html +++ b/massa_models/config/constants/constant.NETWORK_CONTROLLER_CHANNEL_SIZE.html @@ -1,2 +1,2 @@ -NETWORK_CONTROLLER_CHANNEL_SIZE in massa_models::config::constants - Rust
    pub const NETWORK_CONTROLLER_CHANNEL_SIZE: usize = 10_000;
    Expand description

    network controller communication channel size

    +NETWORK_CONTROLLER_CHANNEL_SIZE in massa_models::config::constants - Rust
    pub const NETWORK_CONTROLLER_CHANNEL_SIZE: usize = 10_000;
    Expand description

    network controller communication channel size

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.NETWORK_EVENT_CHANNEL_SIZE.html b/massa_models/config/constants/constant.NETWORK_EVENT_CHANNEL_SIZE.html index bb33fdbb77..9861674fd3 100644 --- a/massa_models/config/constants/constant.NETWORK_EVENT_CHANNEL_SIZE.html +++ b/massa_models/config/constants/constant.NETWORK_EVENT_CHANNEL_SIZE.html @@ -1,2 +1,2 @@ -NETWORK_EVENT_CHANNEL_SIZE in massa_models::config::constants - Rust
    pub const NETWORK_EVENT_CHANNEL_SIZE: usize = 10_000;
    Expand description

    network event channel size

    +NETWORK_EVENT_CHANNEL_SIZE in massa_models::config::constants - Rust
    pub const NETWORK_EVENT_CHANNEL_SIZE: usize = 10_000;
    Expand description

    network event channel size

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.NETWORK_NODE_COMMAND_CHANNEL_SIZE.html b/massa_models/config/constants/constant.NETWORK_NODE_COMMAND_CHANNEL_SIZE.html index 5351db88f2..42c7fbb83e 100644 --- a/massa_models/config/constants/constant.NETWORK_NODE_COMMAND_CHANNEL_SIZE.html +++ b/massa_models/config/constants/constant.NETWORK_NODE_COMMAND_CHANNEL_SIZE.html @@ -1,2 +1,2 @@ -NETWORK_NODE_COMMAND_CHANNEL_SIZE in massa_models::config::constants - Rust
    pub const NETWORK_NODE_COMMAND_CHANNEL_SIZE: usize = 10_000;
    Expand description

    network node command channel size

    +NETWORK_NODE_COMMAND_CHANNEL_SIZE in massa_models::config::constants - Rust
    pub const NETWORK_NODE_COMMAND_CHANNEL_SIZE: usize = 10_000;
    Expand description

    network node command channel size

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.NETWORK_NODE_EVENT_CHANNEL_SIZE.html b/massa_models/config/constants/constant.NETWORK_NODE_EVENT_CHANNEL_SIZE.html index 2583b59b3d..20a2830c92 100644 --- a/massa_models/config/constants/constant.NETWORK_NODE_EVENT_CHANNEL_SIZE.html +++ b/massa_models/config/constants/constant.NETWORK_NODE_EVENT_CHANNEL_SIZE.html @@ -1,2 +1,2 @@ -NETWORK_NODE_EVENT_CHANNEL_SIZE in massa_models::config::constants - Rust
    pub const NETWORK_NODE_EVENT_CHANNEL_SIZE: usize = 10_000;
    Expand description

    network node event channel size

    +NETWORK_NODE_EVENT_CHANNEL_SIZE in massa_models::config::constants - Rust
    pub const NETWORK_NODE_EVENT_CHANNEL_SIZE: usize = 10_000;
    Expand description

    network node event channel size

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.NODE_SEND_CHANNEL_SIZE.html b/massa_models/config/constants/constant.NODE_SEND_CHANNEL_SIZE.html index 70d4b7562a..db5de1762f 100644 --- a/massa_models/config/constants/constant.NODE_SEND_CHANNEL_SIZE.html +++ b/massa_models/config/constants/constant.NODE_SEND_CHANNEL_SIZE.html @@ -1,2 +1,2 @@ -NODE_SEND_CHANNEL_SIZE in massa_models::config::constants - Rust

    Constant massa_models::config::constants::NODE_SEND_CHANNEL_SIZE

    source ·
    pub const NODE_SEND_CHANNEL_SIZE: usize = 10_000;
    Expand description

    node send channel size

    +NODE_SEND_CHANNEL_SIZE in massa_models::config::constants - Rust

    Constant massa_models::config::constants::NODE_SEND_CHANNEL_SIZE

    source ·
    pub const NODE_SEND_CHANNEL_SIZE: usize = 10_000;
    Expand description

    node send channel size

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.ROLL_COUNT_TO_SLASH_ON_DENUNCIATION.html b/massa_models/config/constants/constant.ROLL_COUNT_TO_SLASH_ON_DENUNCIATION.html index 2328674745..6cafd17308 100644 --- a/massa_models/config/constants/constant.ROLL_COUNT_TO_SLASH_ON_DENUNCIATION.html +++ b/massa_models/config/constants/constant.ROLL_COUNT_TO_SLASH_ON_DENUNCIATION.html @@ -1,2 +1,2 @@ -ROLL_COUNT_TO_SLASH_ON_DENUNCIATION in massa_models::config::constants - Rust
    pub const ROLL_COUNT_TO_SLASH_ON_DENUNCIATION: u64 = 1;
    Expand description

    Number of roll to remove per denunciation

    +ROLL_COUNT_TO_SLASH_ON_DENUNCIATION in massa_models::config::constants - Rust
    pub const ROLL_COUNT_TO_SLASH_ON_DENUNCIATION: u64 = 1;
    Expand description

    Number of roll to remove per denunciation

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.VERSIONING_ACTIVATION_DELAY_MIN.html b/massa_models/config/constants/constant.VERSIONING_ACTIVATION_DELAY_MIN.html index 2c2e13a531..aa4d391eeb 100644 --- a/massa_models/config/constants/constant.VERSIONING_ACTIVATION_DELAY_MIN.html +++ b/massa_models/config/constants/constant.VERSIONING_ACTIVATION_DELAY_MIN.html @@ -1,2 +1,2 @@ -VERSIONING_ACTIVATION_DELAY_MIN in massa_models::config::constants - Rust
    pub const VERSIONING_ACTIVATION_DELAY_MIN: MassaTime;
    Expand description

    Minimum value allowed for activation delay (in MIP info)

    +VERSIONING_ACTIVATION_DELAY_MIN in massa_models::config::constants - Rust
    pub const VERSIONING_ACTIVATION_DELAY_MIN: MassaTime;
    Expand description

    Minimum value allowed for activation delay (in MIP info)

    \ No newline at end of file diff --git a/massa_models/config/constants/constant.VERSIONING_THRESHOLD_TRANSITION_ACCEPTED.html b/massa_models/config/constants/constant.VERSIONING_THRESHOLD_TRANSITION_ACCEPTED.html index 3dbfab2290..2590c4866c 100644 --- a/massa_models/config/constants/constant.VERSIONING_THRESHOLD_TRANSITION_ACCEPTED.html +++ b/massa_models/config/constants/constant.VERSIONING_THRESHOLD_TRANSITION_ACCEPTED.html @@ -1,2 +1,2 @@ -VERSIONING_THRESHOLD_TRANSITION_ACCEPTED in massa_models::config::constants - Rust
    pub const VERSIONING_THRESHOLD_TRANSITION_ACCEPTED: Ratio<u64>;
    Expand description

    Threshold to accept a new versioning

    +VERSIONING_THRESHOLD_TRANSITION_ACCEPTED in massa_models::config::constants - Rust
    pub const VERSIONING_THRESHOLD_TRANSITION_ACCEPTED: Ratio<u64>;
    Expand description

    Threshold to accept a new versioning

    \ No newline at end of file diff --git a/massa_models/config/constants/index.html b/massa_models/config/constants/index.html index 34de7ddc9e..7b99047010 100644 --- a/massa_models/config/constants/index.html +++ b/massa_models/config/constants/index.html @@ -1,4 +1,4 @@ -massa_models::config::constants - Rust

    Module massa_models::config::constants

    source ·
    Expand description

    DEFAULT VALUES USED TO INITIALIZE DIVERS CONFIGURATIONS STRUCTURES

    +massa_models::config::constants - Rust

    Module massa_models::config::constants

    source ·
    Expand description

    DEFAULT VALUES USED TO INITIALIZE DIVERS CONFIGURATIONS STRUCTURES

    §Default hard-coded

    Each crates may contains a settings.rs or a config.rs the Default implementation of each object take the default Values from the following @@ -13,7 +13,7 @@

    §< so that the network starts or restarts 10 seconds after launch

  • number of cycle misses (strictly) above which stakers are deactivated
  • node version
  • Constants§

    Trait Implementations§

    source§

    impl Deserializer<BTreeMap<Vec<u8>, Vec<u8>>> for DatastoreDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], BTreeMap<Vec<u8>, Vec<u8>>, E>

    §Example
    diff --git a/massa_models/datastore/struct.DatastoreSerializer.html b/massa_models/datastore/struct.DatastoreSerializer.html index 63581cb838..123d975713 100644 --- a/massa_models/datastore/struct.DatastoreSerializer.html +++ b/massa_models/datastore/struct.DatastoreSerializer.html @@ -1,13 +1,13 @@ DatastoreSerializer in massa_models::datastore - Rust

    Struct massa_models::datastore::DatastoreSerializer

    source ·
    pub struct DatastoreSerializer {
    -    u64_serializer: U64VarIntSerializer,
    +    u64_serializer: U64VarIntSerializer,
         vec_u8_serializer: VecU8Serializer,
     }
    Expand description

    Serializer for Datastore

    -

    Fields§

    §u64_serializer: U64VarIntSerializer§vec_u8_serializer: VecU8Serializer

    Implementations§

    source§

    impl DatastoreSerializer

    source

    pub fn new() -> Self

    Creates a new DatastoreSerializer

    -

    Trait Implementations§

    source§

    impl Default for DatastoreSerializer

    source§

    fn default() -> DatastoreSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<BTreeMap<Vec<u8>, Vec<u8>>> for DatastoreSerializer

    Fields§

    §u64_serializer: U64VarIntSerializer§vec_u8_serializer: VecU8Serializer

    Implementations§

    source§

    impl DatastoreSerializer

    source

    pub fn new() -> Self

    Creates a new DatastoreSerializer

    +

    Trait Implementations§

    source§

    impl Default for DatastoreSerializer

    source§

    fn default() -> DatastoreSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<BTreeMap<Vec<u8>, Vec<u8>>> for DatastoreSerializer

    source§

    fn serialize( &self, value: &BTreeMap<Vec<u8>, Vec<u8>>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example
    +) -> Result<(), SerializeError>
    §Example
    use std::collections::BTreeMap;
     use massa_models::datastore::DatastoreSerializer;
     use massa_serialization::Serializer;
    diff --git a/massa_models/deferred_calls/enum.DeferredCallId.html b/massa_models/deferred_calls/enum.DeferredCallId.html
    index 2193510733..56761143f2 100644
    --- a/massa_models/deferred_calls/enum.DeferredCallId.html
    +++ b/massa_models/deferred_calls/enum.DeferredCallId.html
    @@ -9,10 +9,10 @@
     ) -> Result<Self, ModelsError>

    Create a new DeferredCallId

    source

    pub fn as_bytes(&self) -> &[u8]

    Return the version of the DeferredCallId as bytes

    source

    pub fn from_bytes(bytes: &[u8]) -> Result<Self, ModelsError>

    Create an DeferredCallId from bytes

    -

    Trait Implementations§

    source§

    impl Clone for DeferredCallId

    source§

    fn clone(&self) -> DeferredCallId

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for DeferredCallId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for DeferredCallId

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<DeferredCallId, D::Error>

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<DeferredCallId> for DeferredCallIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Clone for DeferredCallId

    source§

    fn clone(&self) -> DeferredCallId

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for DeferredCallId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for DeferredCallId

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<DeferredCallId, D::Error>

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<DeferredCallId> for DeferredCallIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], DeferredCallId, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for DeferredCallId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for DeferredCallId

    §

    type Err = ModelsError

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl Hash for DeferredCallId

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where +) -> IResult<&'a [u8], DeferredCallId, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for DeferredCallId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for DeferredCallId

    §

    type Err = ModelsError

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl Hash for DeferredCallId

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for DeferredCallId

    source§

    fn cmp(&self, other: &DeferredCallId) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where @@ -22,11 +22,11 @@ sufficient, and should not be overridden without very good reason.

    source§

    impl PartialOrd for DeferredCallId

    source§

    fn partial_cmp(&self, other: &DeferredCallId) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
    source§

    impl Serialize for DeferredCallId

    source§

    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where - S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<DeferredCallId> for DeferredCallIdSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<DeferredCallId> for DeferredCallIdSerializer

    source§

    fn serialize( &self, value: &DeferredCallId, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Eq for DeferredCallId

    source§

    impl StructuralPartialEq for DeferredCallId

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Eq for DeferredCallId

    source§

    impl StructuralPartialEq for DeferredCallId

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CallHasher for T
    where diff --git a/massa_models/deferred_calls/struct.DeferredCallIdDeserializer.html b/massa_models/deferred_calls/struct.DeferredCallIdDeserializer.html index 57a4921b1e..ae7ecbe85e 100644 --- a/massa_models/deferred_calls/struct.DeferredCallIdDeserializer.html +++ b/massa_models/deferred_calls/struct.DeferredCallIdDeserializer.html @@ -2,10 +2,10 @@ bytes_deserializer: VecU8Deserializer, }

    Expand description

    Deserializer for DeferredCallId

    Fields§

    §bytes_deserializer: VecU8Deserializer

    Implementations§

    source§

    impl DeferredCallIdDeserializer

    source

    pub fn new() -> Self

    Deserializes a Vec<u8> into an DeferredCallId

    -

    Trait Implementations§

    source§

    impl Clone for DeferredCallIdDeserializer

    source§

    fn clone(&self) -> DeferredCallIdDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for DeferredCallIdDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<DeferredCallId> for DeferredCallIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Clone for DeferredCallIdDeserializer

    source§

    fn clone(&self) -> DeferredCallIdDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for DeferredCallIdDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<DeferredCallId> for DeferredCallIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], DeferredCallId, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> IResult<&'a [u8], DeferredCallId, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/deferred_calls/struct.DeferredCallIdSerializer.html b/massa_models/deferred_calls/struct.DeferredCallIdSerializer.html index da754c1a42..3791cee718 100644 --- a/massa_models/deferred_calls/struct.DeferredCallIdSerializer.html +++ b/massa_models/deferred_calls/struct.DeferredCallIdSerializer.html @@ -2,11 +2,11 @@ bytes_serializer: VecU8Serializer, }

    Expand description

    Serializer for DeferredCallId

    Fields§

    §bytes_serializer: VecU8Serializer

    Implementations§

    source§

    impl DeferredCallIdSerializer

    source

    pub fn new() -> Self

    Serializes an DeferredCallId into a Vec<u8>

    -

    Trait Implementations§

    source§

    impl Clone for DeferredCallIdSerializer

    source§

    fn clone(&self) -> DeferredCallIdSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for DeferredCallIdSerializer

    source§

    fn default() -> DeferredCallIdSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<DeferredCallId> for DeferredCallIdSerializer

    Trait Implementations§

    source§

    impl Clone for DeferredCallIdSerializer

    source§

    fn clone(&self) -> DeferredCallIdSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for DeferredCallIdSerializer

    source§

    fn default() -> DeferredCallIdSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<DeferredCallId> for DeferredCallIdSerializer

    source§

    fn serialize( &self, value: &DeferredCallId, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/denunciation/enum.Denunciation.html b/massa_models/denunciation/enum.Denunciation.html index aef589460a..a76247f271 100644 --- a/massa_models/denunciation/enum.Denunciation.html +++ b/massa_models/denunciation/enum.Denunciation.html @@ -28,18 +28,18 @@
  • A block slot period (in execution (execute_denunciation(…)))
  • Trait Implementations§

    source§

    impl Clone for Denunciation

    source§

    fn clone(&self) -> Denunciation

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Denunciation

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Denunciation

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Denunciation> for DenunciationDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Denunciation> for DenunciationDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], Denunciation, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&Denunciation> for DenunciationIndex

    Create a DenunciationIndex from a Denunciation

    +) -> IResult<&'a [u8], Denunciation, E>
    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&Denunciation> for DenunciationIndex

    Create a DenunciationIndex from a Denunciation

    source§

    fn from(value: &Denunciation) -> Self

    Converts to this type from the input type.
    source§

    impl From<&Denunciation> for DenunciationTypeId

    source§

    fn from(value: &Denunciation) -> Self

    Converts to this type from the input type.
    source§

    impl From<Denunciation> for Denunciation

    source§

    fn from(value: Denunciation) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Denunciation

    source§

    fn eq(&self, other: &Denunciation) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl Serialize for Denunciation

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Denunciation> for DenunciationSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Denunciation> for DenunciationSerializer

    source§

    fn serialize( &self, value: &Denunciation, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl TryFrom<(&DenunciationPrecursor, &DenunciationPrecursor)> for Denunciation

    Create a new Denunciation from 2 SecureHeader

    +) -> Result<(), SerializeError>
    Serialize a value T into a buffer of u8. Read more
    source§

    impl TryFrom<(&DenunciationPrecursor, &DenunciationPrecursor)> for Denunciation

    Create a new Denunciation from 2 SecureHeader

    §

    type Error = DenunciationError

    The type returned in the event of a conversion error.
    source§

    fn try_from( (de_p_1, de_p_2): (&DenunciationPrecursor, &DenunciationPrecursor), ) -> Result<Self, Self::Error>

    Performs the conversion.
    source§

    impl TryFrom<(&SecureShare<BlockHeader, BlockId>, &SecureShare<BlockHeader, BlockId>)> for Denunciation

    Create a new Denunciation from 2 SecureHeader

    diff --git a/massa_models/denunciation/enum.DenunciationError.html b/massa_models/denunciation/enum.DenunciationError.html index 2742e025fe..00c752f818 100644 --- a/massa_models/denunciation/enum.DenunciationError.html +++ b/massa_models/denunciation/enum.DenunciationError.html @@ -1,9 +1,9 @@ DenunciationError in massa_models::denunciation - Rust

    Enum massa_models::denunciation::DenunciationError

    source ·
    pub enum DenunciationError {
         InvalidInput(String),
         Signature(MassaSignatureError),
    -    Serialization(SerializeError),
    +    Serialization(SerializeError),
     }
    Expand description

    Denunciation error

    -

    Variants§

    §

    InvalidInput(String)

    §

    Signature(MassaSignatureError)

    §

    Serialization(SerializeError)

    Trait Implementations§

    source§

    impl Debug for DenunciationError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for DenunciationError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for DenunciationError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<MassaSignatureError> for DenunciationError

    source§

    fn from(source: MassaSignatureError) -> Self

    Converts to this type from the input type.
    source§

    impl From<SerializeError> for DenunciationError

    source§

    fn from(source: SerializeError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Variants§

    §

    InvalidInput(String)

    §

    Signature(MassaSignatureError)

    §

    Serialization(SerializeError)

    Trait Implementations§

    source§

    impl Debug for DenunciationError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for DenunciationError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for DenunciationError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<MassaSignatureError> for DenunciationError

    source§

    fn from(source: MassaSignatureError) -> Self

    Converts to this type from the input type.
    source§

    impl From<SerializeError> for DenunciationError

    source§

    fn from(source: SerializeError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_models/denunciation/enum.DenunciationIndex.html b/massa_models/denunciation/enum.DenunciationIndex.html index 350451fde1..247cecd6f4 100644 --- a/massa_models/denunciation/enum.DenunciationIndex.html +++ b/massa_models/denunciation/enum.DenunciationIndex.html @@ -16,10 +16,10 @@

    source

    pub fn get_index(&self) -> Option<&u32>

    Get field: index (return None for a block header denunciation index)

    source

    pub fn get_hash(&self) -> Hash

    Compute the hash

    Trait Implementations§

    source§

    impl Clone for DenunciationIndex

    source§

    fn clone(&self) -> DenunciationIndex

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for DenunciationIndex

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for DenunciationIndex

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<DenunciationIndex> for DenunciationIndexDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<DenunciationIndex> for DenunciationIndexDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], DenunciationIndex, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&Denunciation> for DenunciationIndex

    Create a DenunciationIndex from a Denunciation

    +) -> IResult<&'a [u8], DenunciationIndex, E>
    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&Denunciation> for DenunciationIndex

    Create a DenunciationIndex from a Denunciation

    source§

    fn from(value: &Denunciation) -> Self

    Converts to this type from the input type.
    source§

    impl From<&DenunciationIndex> for DenunciationIndexTypeId

    source§

    fn from(value: &DenunciationIndex) -> Self

    Converts to this type from the input type.
    source§

    impl From<&DenunciationPrecursor> for DenunciationIndex

    Create a DenunciationIndex from a DenunciationPrecursor

    source§

    fn from(value: &DenunciationPrecursor) -> Self

    Converts to this type from the input type.
    source§

    impl From<DenunciationIndex> for DenunciationIndex

    source§

    fn from(value: DenunciationIndex) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for DenunciationIndex

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, @@ -31,11 +31,11 @@ sufficient, and should not be overridden without very good reason.

    source§

    impl PartialOrd for DenunciationIndex

    source§

    fn partial_cmp(&self, other: &Self) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
    source§

    impl Serialize for DenunciationIndex

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<DenunciationIndex> for DenunciationIndexSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<DenunciationIndex> for DenunciationIndexSerializer

    source§

    fn serialize( &self, value: &DenunciationIndex, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Copy for DenunciationIndex

    source§

    impl Eq for DenunciationIndex

    source§

    impl StructuralPartialEq for DenunciationIndex

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Copy for DenunciationIndex

    source§

    impl Eq for DenunciationIndex

    source§

    impl StructuralPartialEq for DenunciationIndex

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CallHasher for T
    where diff --git a/massa_models/denunciation/struct.BlockHeaderDenunciation.html b/massa_models/denunciation/struct.BlockHeaderDenunciation.html index 0006a18159..83cb0c84bd 100644 --- a/massa_models/denunciation/struct.BlockHeaderDenunciation.html +++ b/massa_models/denunciation/struct.BlockHeaderDenunciation.html @@ -12,17 +12,17 @@ content_hash: &Hash, ) -> Hash

    Rebuild full hash of SecuredHeader from given arguments

    source

    pub fn get_public_key(&self) -> &PublicKey

    source

    pub fn get_slot(&self) -> &Slot

    source

    pub fn get_hash_1(&self) -> &Hash

    source

    pub fn get_hash_2(&self) -> &Hash

    source

    pub fn get_signature_1(&self) -> &Signature

    source

    pub fn get_signature_2(&self) -> &Signature

    Trait Implementations§

    source§

    impl Clone for BlockHeaderDenunciation

    source§

    fn clone(&self) -> BlockHeaderDenunciation

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for BlockHeaderDenunciation

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for BlockHeaderDenunciation

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<BlockHeaderDenunciation> for BlockHeaderDenunciationDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<BlockHeaderDenunciation> for BlockHeaderDenunciationDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], BlockHeaderDenunciation, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl PartialEq for BlockHeaderDenunciation

    source§

    fn eq(&self, other: &BlockHeaderDenunciation) -> bool

    This method tests for self and other values to be equal, and is used +) -> IResult<&'a [u8], BlockHeaderDenunciation, E>
    Deserialize a value T from a buffer of u8. Read more
    source§

    impl PartialEq for BlockHeaderDenunciation

    source§

    fn eq(&self, other: &BlockHeaderDenunciation) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl Serialize for BlockHeaderDenunciation

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<BlockHeaderDenunciation> for BlockHeaderDenunciationSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<BlockHeaderDenunciation> for BlockHeaderDenunciationSerializer

    source§

    fn serialize( &self, value: &BlockHeaderDenunciation, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl StructuralPartialEq for BlockHeaderDenunciation

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl StructuralPartialEq for BlockHeaderDenunciation

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/denunciation/struct.BlockHeaderDenunciationDeserializer.html b/massa_models/denunciation/struct.BlockHeaderDenunciationDeserializer.html index 3a11d38351..c5fcb70650 100644 --- a/massa_models/denunciation/struct.BlockHeaderDenunciationDeserializer.html +++ b/massa_models/denunciation/struct.BlockHeaderDenunciationDeserializer.html @@ -5,10 +5,10 @@ signature_deserializer: SignatureDeserializer, }
    Expand description

    Deserializer for BlockHeaderDenunciation

    Fields§

    §slot_deserializer: SlotDeserializer§hash_deserializer: HashDeserializer§pubkey_deserializer: PublicKeyDeserializer§signature_deserializer: SignatureDeserializer

    Implementations§

    source§

    impl BlockHeaderDenunciationDeserializer

    source

    pub const fn new(thread_count: u8) -> Self

    Creates a new BlockHeaderDenunciationDeserializer

    -

    Trait Implementations§

    source§

    impl Deserializer<BlockHeaderDenunciation> for BlockHeaderDenunciationDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Deserializer<BlockHeaderDenunciation> for BlockHeaderDenunciationDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], BlockHeaderDenunciation, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> IResult<&'a [u8], BlockHeaderDenunciation, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_models/denunciation/struct.BlockHeaderDenunciationSerializer.html b/massa_models/denunciation/struct.BlockHeaderDenunciationSerializer.html index 9cec128b38..668f3da1ea 100644 --- a/massa_models/denunciation/struct.BlockHeaderDenunciationSerializer.html +++ b/massa_models/denunciation/struct.BlockHeaderDenunciationSerializer.html @@ -3,11 +3,11 @@ hash_serializer: HashSerializer, }
    Expand description

    Serializer for BlockHeaderDenunciation

    Fields§

    §slot_serializer: SlotSerializer§hash_serializer: HashSerializer

    Implementations§

    source§

    impl BlockHeaderDenunciationSerializer

    source

    const fn new() -> Self

    Creates a new BlockHeaderDenunciationSerializer

    -

    Trait Implementations§

    Trait Implementations§

    source§

    impl Default for BlockHeaderDenunciationSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<BlockHeaderDenunciation> for BlockHeaderDenunciationSerializer

    source§

    fn serialize( &self, value: &BlockHeaderDenunciation, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_models/denunciation/struct.DenunciationDeserializer.html b/massa_models/denunciation/struct.DenunciationDeserializer.html index 8a81b1e53a..a585da7e54 100644 --- a/massa_models/denunciation/struct.DenunciationDeserializer.html +++ b/massa_models/denunciation/struct.DenunciationDeserializer.html @@ -1,13 +1,13 @@ DenunciationDeserializer in massa_models::denunciation - Rust
    pub struct DenunciationDeserializer {
         endo_de_deserializer: EndorsementDenunciationDeserializer,
         blkh_de_deserializer: BlockHeaderDenunciationDeserializer,
    -    type_id_deserializer: U32VarIntDeserializer,
    +    type_id_deserializer: U32VarIntDeserializer,
     }
    Expand description

    Deserializer for Denunciation

    -

    Fields§

    §endo_de_deserializer: EndorsementDenunciationDeserializer§blkh_de_deserializer: BlockHeaderDenunciationDeserializer§type_id_deserializer: U32VarIntDeserializer

    Implementations§

    source§

    impl DenunciationDeserializer

    source

    pub const fn new(thread_count: u8, endorsement_count: u32) -> Self

    Creates a new DenunciationDeserializer

    -

    Trait Implementations§

    source§

    impl Deserializer<Denunciation> for DenunciationDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §endo_de_deserializer: EndorsementDenunciationDeserializer§blkh_de_deserializer: BlockHeaderDenunciationDeserializer§type_id_deserializer: U32VarIntDeserializer

    Implementations§

    source§

    impl DenunciationDeserializer

    source

    pub const fn new(thread_count: u8, endorsement_count: u32) -> Self

    Creates a new DenunciationDeserializer

    +

    Trait Implementations§

    source§

    impl Deserializer<Denunciation> for DenunciationDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], Denunciation, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> IResult<&'a [u8], Denunciation, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_models/denunciation/struct.DenunciationIndexDeserializer.html b/massa_models/denunciation/struct.DenunciationIndexDeserializer.html index 6533812241..2cad68b058 100644 --- a/massa_models/denunciation/struct.DenunciationIndexDeserializer.html +++ b/massa_models/denunciation/struct.DenunciationIndexDeserializer.html @@ -1,13 +1,13 @@ DenunciationIndexDeserializer in massa_models::denunciation - Rust
    pub struct DenunciationIndexDeserializer {
    -    id_deserializer: U32VarIntDeserializer,
    +    id_deserializer: U32VarIntDeserializer,
         slot_deserializer: SlotDeserializer,
    -    index_deserializer: U32VarIntDeserializer,
    +    index_deserializer: U32VarIntDeserializer,
     }
    Expand description

    Deserializer for DenunciationIndex

    -

    Fields§

    §id_deserializer: U32VarIntDeserializer§slot_deserializer: SlotDeserializer§index_deserializer: U32VarIntDeserializer

    Implementations§

    source§

    impl DenunciationIndexDeserializer

    source

    pub const fn new(thread_count: u8, endorsement_count: u32) -> Self

    Creates a new DenunciationIndexDeserializer

    -

    Trait Implementations§

    source§

    impl Clone for DenunciationIndexDeserializer

    source§

    fn clone(&self) -> DenunciationIndexDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Deserializer<DenunciationIndex> for DenunciationIndexDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §id_deserializer: U32VarIntDeserializer§slot_deserializer: SlotDeserializer§index_deserializer: U32VarIntDeserializer

    Implementations§

    source§

    impl DenunciationIndexDeserializer

    source

    pub const fn new(thread_count: u8, endorsement_count: u32) -> Self

    Creates a new DenunciationIndexDeserializer

    +

    Trait Implementations§

    source§

    impl Clone for DenunciationIndexDeserializer

    source§

    fn clone(&self) -> DenunciationIndexDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Deserializer<DenunciationIndex> for DenunciationIndexDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], DenunciationIndex, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> IResult<&'a [u8], DenunciationIndex, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/denunciation/struct.DenunciationIndexSerializer.html b/massa_models/denunciation/struct.DenunciationIndexSerializer.html index 18f3e20771..581f0d952a 100644 --- a/massa_models/denunciation/struct.DenunciationIndexSerializer.html +++ b/massa_models/denunciation/struct.DenunciationIndexSerializer.html @@ -1,14 +1,14 @@ DenunciationIndexSerializer in massa_models::denunciation - Rust
    pub struct DenunciationIndexSerializer {
    -    u32_serializer: U32VarIntSerializer,
    +    u32_serializer: U32VarIntSerializer,
         slot_serializer: SlotSerializer,
    -    index_serializer: U32VarIntSerializer,
    +    index_serializer: U32VarIntSerializer,
     }
    Expand description

    Serializer for DenunciationIndex

    -

    Fields§

    §u32_serializer: U32VarIntSerializer§slot_serializer: SlotSerializer§index_serializer: U32VarIntSerializer

    Implementations§

    source§

    impl DenunciationIndexSerializer

    source

    pub const fn new() -> Self

    Creates a new DenunciationIndexSerializer

    -

    Trait Implementations§

    source§

    impl Clone for DenunciationIndexSerializer

    source§

    fn clone(&self) -> DenunciationIndexSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for DenunciationIndexSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<DenunciationIndex> for DenunciationIndexSerializer

    Fields§

    §u32_serializer: U32VarIntSerializer§slot_serializer: SlotSerializer§index_serializer: U32VarIntSerializer

    Implementations§

    source§

    impl DenunciationIndexSerializer

    source

    pub const fn new() -> Self

    Creates a new DenunciationIndexSerializer

    +

    Trait Implementations§

    source§

    impl Clone for DenunciationIndexSerializer

    source§

    fn clone(&self) -> DenunciationIndexSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for DenunciationIndexSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<DenunciationIndex> for DenunciationIndexSerializer

    source§

    fn serialize( &self, value: &DenunciationIndex, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/denunciation/struct.DenunciationSerializer.html b/massa_models/denunciation/struct.DenunciationSerializer.html index 6af476fc05..1b1b404bfe 100644 --- a/massa_models/denunciation/struct.DenunciationSerializer.html +++ b/massa_models/denunciation/struct.DenunciationSerializer.html @@ -1,14 +1,14 @@ DenunciationSerializer in massa_models::denunciation - Rust
    pub struct DenunciationSerializer {
         endo_de_serializer: EndorsementDenunciationSerializer,
         blkh_de_serializer: BlockHeaderDenunciationSerializer,
    -    type_id_serializer: U32VarIntSerializer,
    +    type_id_serializer: U32VarIntSerializer,
     }
    Expand description

    Serializer for Denunciation

    -

    Fields§

    §endo_de_serializer: EndorsementDenunciationSerializer§blkh_de_serializer: BlockHeaderDenunciationSerializer§type_id_serializer: U32VarIntSerializer

    Implementations§

    source§

    impl DenunciationSerializer

    source

    pub const fn new() -> Self

    Creates a new BlockHeaderDenunciationSerializer

    -

    Trait Implementations§

    source§

    impl Default for DenunciationSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Denunciation> for DenunciationSerializer

    Fields§

    §endo_de_serializer: EndorsementDenunciationSerializer§blkh_de_serializer: BlockHeaderDenunciationSerializer§type_id_serializer: U32VarIntSerializer

    Implementations§

    source§

    impl DenunciationSerializer

    source

    pub const fn new() -> Self

    Creates a new BlockHeaderDenunciationSerializer

    +

    Trait Implementations§

    source§

    impl Default for DenunciationSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Denunciation> for DenunciationSerializer

    source§

    fn serialize( &self, value: &Denunciation, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_models/denunciation/struct.EndorsementDenunciation.html b/massa_models/denunciation/struct.EndorsementDenunciation.html index fcbae26d45..94ae61892e 100644 --- a/massa_models/denunciation/struct.EndorsementDenunciation.html +++ b/massa_models/denunciation/struct.EndorsementDenunciation.html @@ -14,17 +14,17 @@ content_hash: &Hash, ) -> Hash

    Rebuild full hash of SecureShareEndorsement from given arguments

    source

    pub fn get_public_key(&self) -> &PublicKey

    source

    pub fn get_slot(&self) -> &Slot

    source

    pub fn get_index(&self) -> &u32

    source

    pub fn get_hash_1(&self) -> &Hash

    source

    pub fn get_hash_2(&self) -> &Hash

    source

    pub fn get_signature_1(&self) -> &Signature

    source

    pub fn get_signature_2(&self) -> &Signature

    Trait Implementations§

    source§

    impl Clone for EndorsementDenunciation

    source§

    fn clone(&self) -> EndorsementDenunciation

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EndorsementDenunciation

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for EndorsementDenunciation

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<EndorsementDenunciation> for EndorsementDenunciationDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<EndorsementDenunciation> for EndorsementDenunciationDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], EndorsementDenunciation, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl PartialEq for EndorsementDenunciation

    source§

    fn eq(&self, other: &EndorsementDenunciation) -> bool

    This method tests for self and other values to be equal, and is used +) -> IResult<&'a [u8], EndorsementDenunciation, E>
    Deserialize a value T from a buffer of u8. Read more
    source§

    impl PartialEq for EndorsementDenunciation

    source§

    fn eq(&self, other: &EndorsementDenunciation) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl Serialize for EndorsementDenunciation

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<EndorsementDenunciation> for EndorsementDenunciationSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<EndorsementDenunciation> for EndorsementDenunciationSerializer

    source§

    fn serialize( &self, value: &EndorsementDenunciation, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl StructuralPartialEq for EndorsementDenunciation

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl StructuralPartialEq for EndorsementDenunciation

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/denunciation/struct.EndorsementDenunciationDeserializer.html b/massa_models/denunciation/struct.EndorsementDenunciationDeserializer.html index b731837145..7e073ccd06 100644 --- a/massa_models/denunciation/struct.EndorsementDenunciationDeserializer.html +++ b/massa_models/denunciation/struct.EndorsementDenunciationDeserializer.html @@ -1,15 +1,15 @@ EndorsementDenunciationDeserializer in massa_models::denunciation - Rust
    struct EndorsementDenunciationDeserializer {
         slot_deserializer: SlotDeserializer,
    -    index_deserializer: U32VarIntDeserializer,
    +    index_deserializer: U32VarIntDeserializer,
         hash_deserializer: HashDeserializer,
         pubkey_deserializer: PublicKeyDeserializer,
         signature_deserializer: SignatureDeserializer,
     }
    Expand description

    Deserializer for EndorsementDenunciation

    -

    Fields§

    §slot_deserializer: SlotDeserializer§index_deserializer: U32VarIntDeserializer§hash_deserializer: HashDeserializer§pubkey_deserializer: PublicKeyDeserializer§signature_deserializer: SignatureDeserializer

    Implementations§

    source§

    impl EndorsementDenunciationDeserializer

    source

    const fn new(thread_count: u8, endorsement_count: u32) -> Self

    Creates a new EndorsementDeserializer

    -

    Trait Implementations§

    source§

    impl Deserializer<EndorsementDenunciation> for EndorsementDenunciationDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §slot_deserializer: SlotDeserializer§index_deserializer: U32VarIntDeserializer§hash_deserializer: HashDeserializer§pubkey_deserializer: PublicKeyDeserializer§signature_deserializer: SignatureDeserializer

    Implementations§

    source§

    impl EndorsementDenunciationDeserializer

    source

    const fn new(thread_count: u8, endorsement_count: u32) -> Self

    Creates a new EndorsementDeserializer

    +

    Trait Implementations§

    source§

    impl Deserializer<EndorsementDenunciation> for EndorsementDenunciationDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], EndorsementDenunciation, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> IResult<&'a [u8], EndorsementDenunciation, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_models/denunciation/struct.EndorsementDenunciationSerializer.html b/massa_models/denunciation/struct.EndorsementDenunciationSerializer.html index 78bd942828..42148a5c0c 100644 --- a/massa_models/denunciation/struct.EndorsementDenunciationSerializer.html +++ b/massa_models/denunciation/struct.EndorsementDenunciationSerializer.html @@ -1,14 +1,14 @@ EndorsementDenunciationSerializer in massa_models::denunciation - Rust
    struct EndorsementDenunciationSerializer {
         slot_serializer: SlotSerializer,
    -    u32_serializer: U32VarIntSerializer,
    +    u32_serializer: U32VarIntSerializer,
         hash_serializer: HashSerializer,
     }
    Expand description

    Serializer for EndorsementDenunciation

    -

    Fields§

    §slot_serializer: SlotSerializer§u32_serializer: U32VarIntSerializer§hash_serializer: HashSerializer

    Implementations§

    source§

    impl EndorsementDenunciationSerializer

    source

    const fn new() -> Self

    Creates a new EndorsementDenunciationSerializer

    -

    Trait Implementations§

    source§

    impl Default for EndorsementDenunciationSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<EndorsementDenunciation> for EndorsementDenunciationSerializer

    Fields§

    §slot_serializer: SlotSerializer§u32_serializer: U32VarIntSerializer§hash_serializer: HashSerializer

    Implementations§

    source§

    impl EndorsementDenunciationSerializer

    source

    const fn new() -> Self

    Creates a new EndorsementDenunciationSerializer

    +

    Trait Implementations§

    source§

    impl Default for EndorsementDenunciationSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<EndorsementDenunciation> for EndorsementDenunciationSerializer

    source§

    fn serialize( &self, value: &EndorsementDenunciation, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_models/endorsement/enum.EndorsementId.html b/massa_models/endorsement/enum.EndorsementId.html index 895f43f413..1e3764931a 100644 --- a/massa_models/endorsement/enum.EndorsementId.html +++ b/massa_models/endorsement/enum.EndorsementId.html @@ -4,10 +4,10 @@

    Variants§

    §

    EndorsementIdV0(EndorsementIdV0)

    Trait Implementations§

    source§

    impl Clone for EndorsementId

    source§

    fn clone(&self) -> EndorsementId

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for EndorsementId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for EndorsementId
    where Self: FromStr, <Self as FromStr>::Err: Display,

    source§

    fn deserialize<__D>(deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<EndorsementId> for EndorsementIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<EndorsementId> for EndorsementIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], EndorsementId, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for EndorsementId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for EndorsementId

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    +) -> IResult<&'a [u8], EndorsementId, E>
    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for EndorsementId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for EndorsementId

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    let ser = endo_id.to_string();
     let res_endo_id = EndorsementId::from_str(&ser).unwrap();
     assert_eq!(endo_id, res_endo_id);
    diff --git a/massa_models/endorsement/struct.Endorsement.html b/massa_models/endorsement/struct.Endorsement.html index 054e3e34ea..708a7eaf7b 100644 --- a/massa_models/endorsement/struct.Endorsement.html +++ b/massa_models/endorsement/struct.Endorsement.html @@ -8,7 +8,7 @@
    §endorsed_block: BlockId

    Hash of endorsed block. This is the parent in thread self.slot.thread of the block in which the endorsement is included

    Trait Implementations§

    source§

    impl Clone for Endorsement

    source§

    fn clone(&self) -> Endorsement

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Endorsement

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Endorsement

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Endorsement> for EndorsementDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Endorsement> for EndorsementDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Endorsement, E>

    §Example:
    @@ -28,7 +28,7 @@ assert_eq!(deserialized.slot, endorsement.slot); assert_eq!(deserialized.index, endorsement.index); assert_eq!(deserialized.endorsed_block, endorsement.endorsed_block);
    -
    source§

    impl Deserializer<Endorsement> for EndorsementDeserializerLW

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    source§

    impl Deserializer<Endorsement> for EndorsementDeserializerLW

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Endorsement, E>

    §Example:
    @@ -64,7 +64,7 @@ public_key: &PublicKey, content_hash: &Hash, signature: &Signature, -) -> Result<(), ModelsError>
    verify signature
    source§

    fn new_verifiable<Ser: Serializer<Self>, ID: Id>( +) -> Result<(), ModelsError>

    verify signature
    source§

    fn new_verifiable<Ser: Serializer<Self>, ID: Id>( self, content_serializer: Ser, keypair: &KeyPair, @@ -80,19 +80,19 @@ creator_public_key: &PublicKey, serialized_content: &[u8], buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize the secured structure
    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>, Deser: Deserializer<Self>, ID: Id>( - content_serializer: Option<&dyn Serializer<Self>>, +) -> Result<(), SerializeError>

    Serialize the secured structure
    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>, Deser: Deserializer<Self>, ID: Id>( + content_serializer: Option<&dyn Serializer<Self>>, signature_deserializer: &SignatureDeserializer, creator_public_key_deserializer: &PublicKeyDeserializer, content_deserializer: &Deser, buffer: &'a [u8], chain_id: u64, ) -> IResult<&'a [u8], SecureShare<Self, ID>, E>

    Deserialize the secured structure
    source§

    impl Serialize for Endorsement

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Endorsement> for EndorsementSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Endorsement> for EndorsementSerializer

    source§

    fn serialize( &self, value: &Endorsement, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>
    §Example:
    use massa_models::{slot::Slot, block_id::BlockId, endorsement::{Endorsement, EndorsementSerializer}};
     use massa_serialization::Serializer;
     use massa_hash::Hash;
    @@ -104,11 +104,11 @@
     };
     let mut buffer = Vec::new();
     EndorsementSerializer::new().serialize(&endorsement, &mut buffer).unwrap();
    -
    source§

    impl Serializer<Endorsement> for EndorsementSerializerLW

    source§

    impl Serializer<Endorsement> for EndorsementSerializerLW

    source§

    fn serialize( &self, value: &Endorsement, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>
    §Example:
    use massa_models::{slot::Slot, block_id::BlockId, endorsement::{Endorsement, EndorsementSerializerLW}};
     use massa_serialization::Serializer;
     use massa_hash::Hash;
    diff --git a/massa_models/endorsement/struct.EndorsementDeserializer.html b/massa_models/endorsement/struct.EndorsementDeserializer.html
    index 86d13fce0a..aaabae8f25 100644
    --- a/massa_models/endorsement/struct.EndorsementDeserializer.html
    +++ b/massa_models/endorsement/struct.EndorsementDeserializer.html
    @@ -1,10 +1,10 @@
     EndorsementDeserializer in massa_models::endorsement - Rust
    pub struct EndorsementDeserializer {
         slot_deserializer: SlotDeserializer,
    -    index_deserializer: U32VarIntDeserializer,
    +    index_deserializer: U32VarIntDeserializer,
         block_id_deserializer: BlockIdDeserializer,
     }
    Expand description

    Deserializer for Endorsement

    -

    Fields§

    §slot_deserializer: SlotDeserializer§index_deserializer: U32VarIntDeserializer§block_id_deserializer: BlockIdDeserializer

    Implementations§

    source§

    impl EndorsementDeserializer

    source

    pub fn new(thread_count: u8, endorsement_count: u32) -> Self

    Creates a new EndorsementDeserializer

    -

    Trait Implementations§

    source§

    impl Deserializer<Endorsement> for EndorsementDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §slot_deserializer: SlotDeserializer§index_deserializer: U32VarIntDeserializer§block_id_deserializer: BlockIdDeserializer

    Implementations§

    source§

    impl EndorsementDeserializer

    source

    pub fn new(thread_count: u8, endorsement_count: u32) -> Self

    Creates a new EndorsementDeserializer

    +

    Trait Implementations§

    source§

    impl Deserializer<Endorsement> for EndorsementDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Endorsement, E>

    §Example:
    diff --git a/massa_models/endorsement/struct.EndorsementDeserializerLW.html b/massa_models/endorsement/struct.EndorsementDeserializerLW.html index 16dcd3b1fe..c30c738ab9 100644 --- a/massa_models/endorsement/struct.EndorsementDeserializerLW.html +++ b/massa_models/endorsement/struct.EndorsementDeserializerLW.html @@ -1,14 +1,14 @@ EndorsementDeserializerLW in massa_models::endorsement - Rust
    pub struct EndorsementDeserializerLW {
    -    index_deserializer: U32VarIntDeserializer,
    +    index_deserializer: U32VarIntDeserializer,
         slot: Slot,
         endorsed_block: BlockId,
     }
    Expand description

    Lightweight Deserializer for Endorsement

    -

    Fields§

    §index_deserializer: U32VarIntDeserializer§slot: Slot§endorsed_block: BlockId

    Implementations§

    source§

    impl EndorsementDeserializerLW

    source

    pub const fn new( +

    Fields§

    §index_deserializer: U32VarIntDeserializer§slot: Slot§endorsed_block: BlockId

    Implementations§

    source§

    impl EndorsementDeserializerLW

    source

    pub const fn new( endorsement_count: u32, slot: Slot, endorsed_block: BlockId, ) -> Self

    Creates a new EndorsementDeserializerLW

    -

    Trait Implementations§

    source§

    impl Deserializer<Endorsement> for EndorsementDeserializerLW

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Deserializer<Endorsement> for EndorsementDeserializerLW

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Endorsement, E>

    §Example:
    diff --git a/massa_models/endorsement/struct.EndorsementIdDeserializer.html b/massa_models/endorsement/struct.EndorsementIdDeserializer.html index b0132e3ab1..04d4d466c1 100644 --- a/massa_models/endorsement/struct.EndorsementIdDeserializer.html +++ b/massa_models/endorsement/struct.EndorsementIdDeserializer.html @@ -1,13 +1,13 @@ EndorsementIdDeserializer in massa_models::endorsement - Rust
    struct EndorsementIdDeserializer {
    -    version_deserializer: U64VarIntDeserializer,
    +    version_deserializer: U64VarIntDeserializer,
         hash_deserializer: HashDeserializer,
    -}

    Fields§

    §version_deserializer: U64VarIntDeserializer§hash_deserializer: HashDeserializer

    Implementations§

    Trait Implementations§

    source§

    impl Deserializer<EndorsementId> for EndorsementIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +}

    Fields§

    §version_deserializer: U64VarIntDeserializer§hash_deserializer: HashDeserializer

    Implementations§

    Trait Implementations§

    source§

    impl Deserializer<EndorsementId> for EndorsementIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], EndorsementId, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Deserializer<EndorsementIdV0> for EndorsementIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +) -> IResult<&'a [u8], EndorsementId, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Deserializer<EndorsementIdV0> for EndorsementIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], EndorsementIdV0, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> IResult<&'a [u8], EndorsementIdV0, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_models/endorsement/struct.EndorsementIdV0.html b/massa_models/endorsement/struct.EndorsementIdV0.html index f66c206641..fec83788cf 100644 --- a/massa_models/endorsement/struct.EndorsementIdV0.html +++ b/massa_models/endorsement/struct.EndorsementIdV0.html @@ -2,10 +2,10 @@

    Tuple Fields§

    §0: Hash

    Implementations§

    Trait Implementations§

    source§

    impl Clone for EndorsementIdV0

    source§

    fn clone(&self) -> EndorsementIdV0

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<'de> Deserialize<'de> for EndorsementIdV0
    where Self: FromStr, <Self as FromStr>::Err: Display,

    source§

    fn deserialize<__D>(deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<EndorsementIdV0> for EndorsementIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<EndorsementIdV0> for EndorsementIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], EndorsementIdV0, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for EndorsementIdV0

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for EndorsementIdV0

    §

    type Err = ModelsError

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl Hash for EndorsementIdV0

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where +) -> IResult<&'a [u8], EndorsementIdV0, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for EndorsementIdV0

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for EndorsementIdV0

    §

    type Err = ModelsError

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl Hash for EndorsementIdV0

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for EndorsementIdV0

    source§

    fn cmp(&self, other: &EndorsementIdV0) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where diff --git a/massa_models/endorsement/struct.EndorsementSerializer.html b/massa_models/endorsement/struct.EndorsementSerializer.html index 7a058cc721..4fddd1acc9 100644 --- a/massa_models/endorsement/struct.EndorsementSerializer.html +++ b/massa_models/endorsement/struct.EndorsementSerializer.html @@ -1,14 +1,14 @@ EndorsementSerializer in massa_models::endorsement - Rust

    Struct massa_models::endorsement::EndorsementSerializer

    source ·
    pub struct EndorsementSerializer {
         slot_serializer: SlotSerializer,
    -    u32_serializer: U32VarIntSerializer,
    +    u32_serializer: U32VarIntSerializer,
         block_id_serializer: BlockIdSerializer,
     }
    Expand description

    Serializer for Endorsement

    -

    Fields§

    §slot_serializer: SlotSerializer§u32_serializer: U32VarIntSerializer§block_id_serializer: BlockIdSerializer

    Implementations§

    source§

    impl EndorsementSerializer

    source

    pub fn new() -> Self

    Creates a new EndorsementSerializer

    -

    Trait Implementations§

    source§

    impl Clone for EndorsementSerializer

    source§

    fn clone(&self) -> EndorsementSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for EndorsementSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Endorsement> for EndorsementSerializer

    Fields§

    §slot_serializer: SlotSerializer§u32_serializer: U32VarIntSerializer§block_id_serializer: BlockIdSerializer

    Implementations§

    source§

    impl EndorsementSerializer

    source

    pub fn new() -> Self

    Creates a new EndorsementSerializer

    +

    Trait Implementations§

    source§

    impl Clone for EndorsementSerializer

    source§

    fn clone(&self) -> EndorsementSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for EndorsementSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Endorsement> for EndorsementSerializer

    source§

    fn serialize( &self, value: &Endorsement, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>

    §Example:
    use massa_models::{slot::Slot, block_id::BlockId, endorsement::{Endorsement, EndorsementSerializer}};
     use massa_serialization::Serializer;
     use massa_hash::Hash;
    diff --git a/massa_models/endorsement/struct.EndorsementSerializerLW.html b/massa_models/endorsement/struct.EndorsementSerializerLW.html
    index 378ca6b5df..362f47ba00 100644
    --- a/massa_models/endorsement/struct.EndorsementSerializerLW.html
    +++ b/massa_models/endorsement/struct.EndorsementSerializerLW.html
    @@ -1,13 +1,13 @@
     EndorsementSerializerLW in massa_models::endorsement - Rust
    pub struct EndorsementSerializerLW {
    -    u32_serializer: U32VarIntSerializer,
    +    u32_serializer: U32VarIntSerializer,
     }
    Expand description

    Lightweight Serializer for Endorsement When included in a BlockHeader, we want to serialize only the index (optimization)

    -

    Fields§

    §u32_serializer: U32VarIntSerializer

    Implementations§

    source§

    impl EndorsementSerializerLW

    source

    pub fn new() -> Self

    Creates a new EndorsementSerializerLW

    -

    Trait Implementations§

    source§

    impl Default for EndorsementSerializerLW

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Endorsement> for EndorsementSerializerLW

    Fields§

    §u32_serializer: U32VarIntSerializer

    Implementations§

    source§

    impl EndorsementSerializerLW

    source

    pub fn new() -> Self

    Creates a new EndorsementSerializerLW

    +

    Trait Implementations§

    source§

    impl Default for EndorsementSerializerLW

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Endorsement> for EndorsementSerializerLW

    source§

    fn serialize( &self, value: &Endorsement, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>
    §Example:
    use massa_models::{slot::Slot, block_id::BlockId, endorsement::{Endorsement, EndorsementSerializerLW}};
     use massa_serialization::Serializer;
     use massa_hash::Hash;
    diff --git a/massa_models/error/enum.ModelsError.html b/massa_models/error/enum.ModelsError.html
    index f1bcb5d502..63b51d2c0a 100644
    --- a/massa_models/error/enum.ModelsError.html
    +++ b/massa_models/error/enum.ModelsError.html
    @@ -1,7 +1,7 @@
     ModelsError in massa_models::error - Rust

    Enum massa_models::error::ModelsError

    source ·
    #[non_exhaustive]
    pub enum ModelsError {
    Show 27 variants HashError, SerializeError(String), - SerializationError(SerializeError), + SerializationError(SerializeError), DeserializeError(String), BufferError(String), MassaHashError(MassaHashError), @@ -29,7 +29,7 @@
    }
    Expand description

    models error

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    HashError

    hashing error

    §

    SerializeError(String)

    Serialization error: {0}

    -
    §

    SerializationError(SerializeError)

    Serialization error: {0}

    +
    §

    SerializationError(SerializeError)

    Serialization error: {0}

    §

    DeserializeError(String)

    Deserialization error: {0}

    §

    BufferError(String)

    buffer error: {0}

    §

    MassaHashError(MassaHashError)

    MassaHash error: {0}

    @@ -54,7 +54,7 @@
    §

    OutdatedBootstrapCursor

    Outdated bootstrap cursor

    §

    ErrorRaised(String)

    Error raised {0}

    §

    DeferredCallIdParseError

    deferred call id parsing error

    -

    Trait Implementations§

    source§

    impl Clone for ModelsError

    source§

    fn clone(&self) -> ModelsError

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ModelsError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for ModelsError

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for ModelsError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<&'static str> for ModelsError

    source§

    fn from(err: &'static str) -> Self

    Converts to this type from the input type.
    source§

    impl From<Err<Error<&[u8]>>> for ModelsError

    source§

    fn from(err: Err<Error<&[u8]>>) -> Self

    Converts to this type from the input type.
    source§

    impl From<MassaHashError> for ModelsError

    source§

    fn from(source: MassaHashError) -> Self

    Converts to this type from the input type.
    source§

    impl From<MassaSignatureError> for ModelsError

    source§

    fn from(source: MassaSignatureError) -> Self

    Converts to this type from the input type.
    source§

    impl From<SerializeError> for ModelsError

    source§

    fn from(source: SerializeError) -> Self

    Converts to this type from the input type.
    source§

    impl From<TimeError> for ModelsError

    source§

    fn from(source: TimeError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ModelsError

    source§

    fn clone(&self) -> ModelsError

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ModelsError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for ModelsError

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for ModelsError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<&'static str> for ModelsError

    source§

    fn from(err: &'static str) -> Self

    Converts to this type from the input type.
    source§

    impl From<Err<Error<&[u8]>>> for ModelsError

    source§

    fn from(err: Err<Error<&[u8]>>) -> Self

    Converts to this type from the input type.
    source§

    impl From<MassaHashError> for ModelsError

    source§

    fn from(source: MassaHashError) -> Self

    Converts to this type from the input type.
    source§

    impl From<MassaSignatureError> for ModelsError

    source§

    fn from(source: MassaSignatureError) -> Self

    Converts to this type from the input type.
    source§

    impl From<SerializeError> for ModelsError

    source§

    fn from(source: SerializeError) -> Self

    Converts to this type from the input type.
    source§

    impl From<TimeError> for ModelsError

    source§

    fn from(source: TimeError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/ledger/struct.LedgerChange.html b/massa_models/ledger/struct.LedgerChange.html index 4c55b6d02f..5b93835f99 100644 --- a/massa_models/ledger/struct.LedgerChange.html +++ b/massa_models/ledger/struct.LedgerChange.html @@ -7,7 +7,7 @@

    Implementations§

    source§

    impl LedgerChange

    source

    pub fn chain(&mut self, change: &LedgerChange) -> Result<(), ModelsError>

    Applies another ledger change on top of self

    source

    pub fn is_nil(&self) -> bool

    true if the change is 0

    Trait Implementations§

    source§

    impl Clone for LedgerChange

    source§

    fn clone(&self) -> LedgerChange

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for LedgerChange

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for LedgerChange

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for LedgerChange

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<LedgerChange> for LedgerChangeDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<LedgerChange> for LedgerChangeDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], LedgerChange, E>

    §Example
    @@ -26,11 +26,11 @@ assert_eq!(ledger_change.balance_delta, serialized.balance_delta); assert_eq!(ledger_change.balance_increment, serialized.balance_increment);
    source§

    impl Serialize for LedgerChange

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<LedgerChange> for LedgerChangeSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<LedgerChange> for LedgerChangeSerializer

    source§

    fn serialize( &self, value: &LedgerChange, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example
    +) -> Result<(), SerializeError>
    §Example
    use massa_models::{address::Address, amount::Amount};
     use std::str::FromStr;
     use massa_models::ledger::{LedgerChange, LedgerChangeSerializer};
    diff --git a/massa_models/ledger/struct.LedgerChangeDeserializer.html b/massa_models/ledger/struct.LedgerChangeDeserializer.html
    index cd1bee7c7e..5371fbb5f4 100644
    --- a/massa_models/ledger/struct.LedgerChangeDeserializer.html
    +++ b/massa_models/ledger/struct.LedgerChangeDeserializer.html
    @@ -2,7 +2,7 @@
         amount_deserializer: AmountDeserializer,
     }
    Expand description

    Basic deserializer for LedgerChange

    Fields§

    §amount_deserializer: AmountDeserializer

    Implementations§

    source§

    impl LedgerChangeDeserializer

    source

    pub fn new() -> Self

    Creates a LedgerChangeDeserializer

    -

    Trait Implementations§

    source§

    impl Default for LedgerChangeDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<LedgerChange> for LedgerChangeDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Default for LedgerChangeDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<LedgerChange> for LedgerChangeDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], LedgerChange, E>

    §Example
    diff --git a/massa_models/ledger/struct.LedgerChangeSerializer.html b/massa_models/ledger/struct.LedgerChangeSerializer.html index 8566c67973..61252276d7 100644 --- a/massa_models/ledger/struct.LedgerChangeSerializer.html +++ b/massa_models/ledger/struct.LedgerChangeSerializer.html @@ -2,11 +2,11 @@ amount_serializer: AmountSerializer, }
    Expand description

    Basic serializer for LedgerChange

    Fields§

    §amount_serializer: AmountSerializer

    Implementations§

    source§

    impl LedgerChangeSerializer

    source

    pub fn new() -> Self

    Creates a LedgerChangeSerializer

    -

    Trait Implementations§

    Trait Implementations§

    source§

    impl Default for LedgerChangeSerializer

    source§

    fn default() -> LedgerChangeSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<LedgerChange> for LedgerChangeSerializer

    source§

    fn serialize( &self, value: &LedgerChange, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example
    +) -> Result<(), SerializeError>
    §Example
    use massa_models::{address::Address, amount::Amount};
     use std::str::FromStr;
     use massa_models::ledger::{LedgerChange, LedgerChangeSerializer};
    diff --git a/massa_models/ledger/struct.LedgerChanges.html b/massa_models/ledger/struct.LedgerChanges.html
    index d3accd0906..ecbbd696eb 100644
    --- a/massa_models/ledger/struct.LedgerChanges.html
    +++ b/massa_models/ledger/struct.LedgerChanges.html
    @@ -6,7 +6,7 @@
     addresses that are in not other are removed from self

    source

    pub fn clone_subset(&self, addrs: &PreHashSet<Address>) -> Self

    clone subset

    Trait Implementations§

    source§

    impl Clone for LedgerChanges

    source§

    fn clone(&self) -> LedgerChanges

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for LedgerChanges

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for LedgerChanges

    source§

    fn default() -> LedgerChanges

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for LedgerChanges

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<LedgerChanges> for LedgerChangesDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<LedgerChanges> for LedgerChangesDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], LedgerChanges, E>

    §Example
    @@ -27,11 +27,11 @@ } assert_eq!(ledger_changes.0.len(), res.0.len());
    source§

    impl Serialize for LedgerChanges

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<LedgerChanges> for LedgerChangesSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<LedgerChanges> for LedgerChangesSerializer

    source§

    fn serialize( &self, value: &LedgerChanges, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/ledger/struct.LedgerChangesDeserializer.html b/massa_models/ledger/struct.LedgerChangesDeserializer.html index dc10ec2475..d97544b423 100644 --- a/massa_models/ledger/struct.LedgerChangesDeserializer.html +++ b/massa_models/ledger/struct.LedgerChangesDeserializer.html @@ -1,10 +1,10 @@ LedgerChangesDeserializer in massa_models::ledger - Rust

    Struct massa_models::ledger::LedgerChangesDeserializer

    source ·
    pub struct LedgerChangesDeserializer {
    -    length_deserializer: U64VarIntDeserializer,
    +    length_deserializer: U64VarIntDeserializer,
         address_deserializer: AddressDeserializer,
         ledger_change_deserializer: LedgerChangeDeserializer,
     }
    Expand description

    Basic deserializer for LedgerChanges

    -

    Fields§

    §length_deserializer: U64VarIntDeserializer§address_deserializer: AddressDeserializer§ledger_change_deserializer: LedgerChangeDeserializer

    Implementations§

    source§

    impl LedgerChangesDeserializer

    source

    pub fn new(max_ledger_changes_count: u64) -> Self

    Creates a LedgerChangesDeserializer

    -

    Trait Implementations§

    source§

    impl Deserializer<LedgerChanges> for LedgerChangesDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §length_deserializer: U64VarIntDeserializer§address_deserializer: AddressDeserializer§ledger_change_deserializer: LedgerChangeDeserializer

    Implementations§

    source§

    impl LedgerChangesDeserializer

    source

    pub fn new(max_ledger_changes_count: u64) -> Self

    Creates a LedgerChangesDeserializer

    +

    Trait Implementations§

    source§

    impl Deserializer<LedgerChanges> for LedgerChangesDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], LedgerChanges, E>

    §Example
    diff --git a/massa_models/ledger/struct.LedgerChangesSerializer.html b/massa_models/ledger/struct.LedgerChangesSerializer.html index eda4899b40..ad50591aeb 100644 --- a/massa_models/ledger/struct.LedgerChangesSerializer.html +++ b/massa_models/ledger/struct.LedgerChangesSerializer.html @@ -1,14 +1,14 @@ LedgerChangesSerializer in massa_models::ledger - Rust

    Struct massa_models::ledger::LedgerChangesSerializer

    source ·
    pub struct LedgerChangesSerializer {
    -    length_serializer: U64VarIntSerializer,
    +    length_serializer: U64VarIntSerializer,
         address_serializer: AddressSerializer,
         ledger_change_serializer: LedgerChangeSerializer,
     }
    Expand description

    Basic serializer for LedgerChanges

    -

    Fields§

    §length_serializer: U64VarIntSerializer§address_serializer: AddressSerializer§ledger_change_serializer: LedgerChangeSerializer

    Implementations§

    source§

    impl LedgerChangesSerializer

    source

    pub fn new() -> Self

    Creates a LedgerChangesSerializer

    -

    Trait Implementations§

    source§

    impl Default for LedgerChangesSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<LedgerChanges> for LedgerChangesSerializer

    Fields§

    §length_serializer: U64VarIntSerializer§address_serializer: AddressSerializer§ledger_change_serializer: LedgerChangeSerializer

    Implementations§

    source§

    impl LedgerChangesSerializer

    source

    pub fn new() -> Self

    Creates a LedgerChangesSerializer

    +

    Trait Implementations§

    source§

    impl Default for LedgerChangesSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<LedgerChanges> for LedgerChangesSerializer

    source§

    fn serialize( &self, value: &LedgerChanges, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_models/ledger/struct.LedgerData.html b/massa_models/ledger/struct.LedgerData.html index b2f5b3d465..66fd8af0ca 100644 --- a/massa_models/ledger/struct.LedgerData.html +++ b/massa_models/ledger/struct.LedgerData.html @@ -7,7 +7,7 @@ Can fail in overflow or underflow occur

    source

    pub fn is_nil(&self) -> bool

    returns true if the balance is zero

    Trait Implementations§

    source§

    impl Clone for LedgerData

    source§

    fn clone(&self) -> LedgerData

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for LedgerData

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for LedgerData

    source§

    fn default() -> LedgerData

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for LedgerData

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<LedgerData> for LedgerDataDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<LedgerData> for LedgerDataDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], LedgerData, E>

    §Example:
    @@ -25,11 +25,11 @@ assert_eq!(rest.len(), 0); assert_eq!(ledger_data.balance, ledger_data_deserialized.balance);
    source§

    impl Serialize for LedgerData

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<LedgerData> for LedgerDataSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<LedgerData> for LedgerDataSerializer

    source§

    fn serialize( &self, value: &LedgerData, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>
    §Example:
    use massa_models::amount::Amount;
     use massa_serialization::Serializer;
     use std::str::FromStr;
    diff --git a/massa_models/ledger/struct.LedgerDataDeserializer.html b/massa_models/ledger/struct.LedgerDataDeserializer.html
    index 11cc9c31f4..b1dcb46666 100644
    --- a/massa_models/ledger/struct.LedgerDataDeserializer.html
    +++ b/massa_models/ledger/struct.LedgerDataDeserializer.html
    @@ -2,7 +2,7 @@
         amount_deserializer: AmountDeserializer,
     }
    Expand description

    Basic deserializer for LedgerData

    Fields§

    §amount_deserializer: AmountDeserializer

    Implementations§

    source§

    impl LedgerDataDeserializer

    source

    pub fn new() -> Self

    Creates a LedgerDataDeserializer

    -

    Trait Implementations§

    source§

    impl Default for LedgerDataDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<LedgerData> for LedgerDataDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Default for LedgerDataDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<LedgerData> for LedgerDataDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], LedgerData, E>

    §Example:
    diff --git a/massa_models/ledger/struct.LedgerDataSerializer.html b/massa_models/ledger/struct.LedgerDataSerializer.html index 60e54da99a..26ac615ae0 100644 --- a/massa_models/ledger/struct.LedgerDataSerializer.html +++ b/massa_models/ledger/struct.LedgerDataSerializer.html @@ -2,11 +2,11 @@ amount_serializer: AmountSerializer, }
    Expand description

    Basic serializer for LedgerData

    Fields§

    §amount_serializer: AmountSerializer

    Implementations§

    source§

    impl LedgerDataSerializer

    source

    pub fn new() -> Self

    Creates a LedgerDataSerializer

    -

    Trait Implementations§

    Trait Implementations§

    source§

    impl Default for LedgerDataSerializer

    source§

    fn default() -> LedgerDataSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<LedgerData> for LedgerDataSerializer

    source§

    fn serialize( &self, value: &LedgerData, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>
    §Example:
    use massa_models::amount::Amount;
     use massa_serialization::Serializer;
     use std::str::FromStr;
    diff --git a/massa_models/operation/enum.OperationId.html b/massa_models/operation/enum.OperationId.html
    index 9701114a40..e622224af9 100644
    --- a/massa_models/operation/enum.OperationId.html
    +++ b/massa_models/operation/enum.OperationId.html
    @@ -7,10 +7,10 @@
     

    Trait Implementations§

    source§

    impl Clone for OperationId

    source§

    fn clone(&self) -> OperationId

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for OperationId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for OperationId
    where Self: FromStr, <Self as FromStr>::Err: Display,

    source§

    fn deserialize<__D>(deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<OperationId> for OperationIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<OperationId> for OperationIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], OperationId, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for OperationId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for OperationId

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    +) -> IResult<&'a [u8], OperationId, E>
    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for OperationId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for OperationId

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    let ser = op_id.to_string();
     let res_op_id = OperationId::from_str(&ser).unwrap();
     assert_eq!(op_id, res_op_id);
    @@ -25,11 +25,11 @@ operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
    source§

    impl Serialize for OperationId
    where Self: Display,

    source§

    fn serialize<__S>(&self, serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<OperationId> for OperationIdSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<OperationId> for OperationIdSerializer

    source§

    fn serialize( &self, value: &OperationId, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Copy for OperationId

    source§

    impl Eq for OperationId

    source§

    impl PreHashed for OperationId

    source§

    impl StructuralPartialEq for OperationId

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Copy for OperationId

    source§

    impl Eq for OperationId

    source§

    impl PreHashed for OperationId

    source§

    impl StructuralPartialEq for OperationId

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CallHasher for T
    where diff --git a/massa_models/operation/enum.OperationPrefixId.html b/massa_models/operation/enum.OperationPrefixId.html index e7125bd091..8dfca60b5e 100644 --- a/massa_models/operation/enum.OperationPrefixId.html +++ b/massa_models/operation/enum.OperationPrefixId.html @@ -2,7 +2,7 @@ OperationPrefixIdV0(OperationPrefixIdV0), }
    Expand description

    Left part of the operation id hash stored in a vector of size OPERATION_ID_PREFIX_SIZE_BYTES

    Variants§

    §

    OperationPrefixIdV0(OperationPrefixIdV0)

    Trait Implementations§

    source§

    impl Clone for OperationPrefixId

    source§

    fn clone(&self) -> OperationPrefixId

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for OperationPrefixId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for OperationPrefixId

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<OperationPrefixId> for OperationPrefixIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<OperationPrefixId> for OperationPrefixIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], OperationPrefixId, E>

    §Example:
    diff --git a/massa_models/operation/enum.OperationType.html b/massa_models/operation/enum.OperationType.html index 6f7e6d2512..b36044bf9a 100644 --- a/massa_models/operation/enum.OperationType.html +++ b/massa_models/operation/enum.OperationType.html @@ -42,7 +42,7 @@
    §max_gas: u64

    The maximum amount of gas that the execution of the contract is allowed to cost.

    §coins: Amount

    Extra coins that are spent from the caller’s balance and transferred to the target

    Trait Implementations§

    source§

    impl Clone for OperationType

    source§

    fn clone(&self) -> OperationType

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for OperationType

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for OperationType

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<OperationType> for OperationTypeDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<OperationType> for OperationTypeDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], OperationType, E>

    §Example:
    @@ -80,11 +80,11 @@
    source§

    impl Display for OperationType

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<OperationType> for OpType

    source§

    fn from(value: OperationType) -> Self

    Converts to this type from the input type.
    source§

    impl From<OperationType> for OperationType

    source§

    fn from(operation_type: OperationType) -> OperationType

    Converts to this type from the input type.
    source§

    impl PartialEq for OperationType

    source§

    fn eq(&self, other: &OperationType) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl Serialize for OperationType

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<OperationType> for OperationTypeSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<OperationType> for OperationTypeSerializer

    source§

    fn serialize( &self, value: &OperationType, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>
    §Example:
    use std::collections::BTreeMap;
     use massa_models::{operation::{OperationTypeSerializer, OperationTypeDeserializer,OperationType}, address::Address, amount::Amount};
     use massa_signature::KeyPair;
    diff --git a/massa_models/operation/struct.Operation.html b/massa_models/operation/struct.Operation.html
    index 0bcb705735..cab35a1fdf 100644
    --- a/massa_models/operation/struct.Operation.html
    +++ b/massa_models/operation/struct.Operation.html
    @@ -7,7 +7,7 @@
     
    §expire_period: u64

    after expire_period slot the operation won’t be included in a block

    §op: OperationType

    the type specific operation part

    Trait Implementations§

    source§

    impl Clone for Operation

    source§

    fn clone(&self) -> Operation

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Operation

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Operation

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Operation> for OperationDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Operation> for OperationDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Operation, E>

    §Example:
    @@ -56,7 +56,7 @@ public_key: &PublicKey, content_hash: &Hash, signature: &Signature, -) -> Result<(), ModelsError>
    verify signature
    source§

    fn new_verifiable<Ser: Serializer<Self>, ID: Id>( +) -> Result<(), ModelsError>

    verify signature
    source§

    fn new_verifiable<Ser: Serializer<Self>, ID: Id>( self, content_serializer: Ser, keypair: &KeyPair, @@ -71,19 +71,19 @@ creator_public_key: &PublicKey, serialized_content: &[u8], buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize the secured structure
    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>, Deser: Deserializer<Self>, ID: Id>( - content_serializer: Option<&dyn Serializer<Self>>, +) -> Result<(), SerializeError>

    Serialize the secured structure
    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>, Deser: Deserializer<Self>, ID: Id>( + content_serializer: Option<&dyn Serializer<Self>>, signature_deserializer: &SignatureDeserializer, creator_public_key_deserializer: &PublicKeyDeserializer, content_deserializer: &Deser, buffer: &'a [u8], chain_id: u64, ) -> IResult<&'a [u8], SecureShare<Self, ID>, E>

    Deserialize the secured structure
    source§

    impl Serialize for Operation

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Operation> for OperationSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Operation> for OperationSerializer

    source§

    fn serialize( &self, value: &Operation, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>
    §Example:
    use massa_models::{amount::Amount, address::Address, operation::{OperationType, OperationSerializer, Operation}};
     use massa_signature::KeyPair;
     use massa_serialization::Serializer;
    diff --git a/massa_models/operation/struct.OperationDeserializer.html b/massa_models/operation/struct.OperationDeserializer.html
    index bed2757100..2a749a6076 100644
    --- a/massa_models/operation/struct.OperationDeserializer.html
    +++ b/massa_models/operation/struct.OperationDeserializer.html
    @@ -1,9 +1,9 @@
     OperationDeserializer in massa_models::operation - Rust

    Struct massa_models::operation::OperationDeserializer

    source ·
    pub struct OperationDeserializer {
    -    expire_period_deserializer: U64VarIntDeserializer,
    +    expire_period_deserializer: U64VarIntDeserializer,
         amount_deserializer: AmountDeserializer,
         op_type_deserializer: OperationTypeDeserializer,
     }
    Expand description

    Serializer for Operation

    -

    Fields§

    §expire_period_deserializer: U64VarIntDeserializer§amount_deserializer: AmountDeserializer§op_type_deserializer: OperationTypeDeserializer

    Implementations§

    source§

    impl OperationDeserializer

    source

    pub fn new( +

    Fields§

    §expire_period_deserializer: U64VarIntDeserializer§amount_deserializer: AmountDeserializer§op_type_deserializer: OperationTypeDeserializer

    Implementations§

    source§

    impl OperationDeserializer

    source

    pub fn new( max_datastore_value_length: u64, max_function_name_length: u16, max_parameters_size: u32, @@ -11,7 +11,7 @@ max_op_datastore_key_length: u8, max_op_datastore_value_length: u64, ) -> Self

    Creates a OperationDeserializer

    -

    Trait Implementations§

    source§

    impl Deserializer<Operation> for OperationDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Deserializer<Operation> for OperationDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Operation, E>

    §Example:
    diff --git a/massa_models/operation/struct.OperationIdDeserializer.html b/massa_models/operation/struct.OperationIdDeserializer.html index defa6b7595..c253883d0b 100644 --- a/massa_models/operation/struct.OperationIdDeserializer.html +++ b/massa_models/operation/struct.OperationIdDeserializer.html @@ -1,15 +1,15 @@ OperationIdDeserializer in massa_models::operation - Rust

    Struct massa_models::operation::OperationIdDeserializer

    source ·
    pub struct OperationIdDeserializer {
         hash_deserializer: HashDeserializer,
    -    version_deserializer: U64VarIntDeserializer,
    +    version_deserializer: U64VarIntDeserializer,
     }
    Expand description

    Deserializer for OperationId

    -

    Fields§

    §hash_deserializer: HashDeserializer§version_deserializer: U64VarIntDeserializer

    Implementations§

    source§

    impl OperationIdDeserializer

    source

    pub fn new() -> Self

    Creates a new deserializer for OperationId

    -

    Trait Implementations§

    source§

    impl Clone for OperationIdDeserializer

    source§

    fn clone(&self) -> OperationIdDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for OperationIdDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<OperationId> for OperationIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §hash_deserializer: HashDeserializer§version_deserializer: U64VarIntDeserializer

    Implementations§

    source§

    impl OperationIdDeserializer

    source

    pub fn new() -> Self

    Creates a new deserializer for OperationId

    +

    Trait Implementations§

    source§

    impl Clone for OperationIdDeserializer

    source§

    fn clone(&self) -> OperationIdDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for OperationIdDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<OperationId> for OperationIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], OperationId, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Deserializer<OperationIdV0> for OperationIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +) -> IResult<&'a [u8], OperationId, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Deserializer<OperationIdV0> for OperationIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], OperationIdV0, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> IResult<&'a [u8], OperationIdV0, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/operation/struct.OperationIdSerializer.html b/massa_models/operation/struct.OperationIdSerializer.html index 7391fba371..0ecb13d8f6 100644 --- a/massa_models/operation/struct.OperationIdSerializer.html +++ b/massa_models/operation/struct.OperationIdSerializer.html @@ -1,16 +1,16 @@ OperationIdSerializer in massa_models::operation - Rust

    Struct massa_models::operation::OperationIdSerializer

    source ·
    pub struct OperationIdSerializer {
    -    version_serializer: U64VarIntSerializer,
    +    version_serializer: U64VarIntSerializer,
     }
    Expand description

    Serializer for OperationId

    -

    Fields§

    §version_serializer: U64VarIntSerializer

    Implementations§

    source§

    impl OperationIdSerializer

    source

    pub fn new() -> Self

    Creates a new serializer for OperationId

    -

    Trait Implementations§

    source§

    impl Clone for OperationIdSerializer

    source§

    fn clone(&self) -> OperationIdSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for OperationIdSerializer

    source§

    fn default() -> OperationIdSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<OperationId> for OperationIdSerializer

    Fields§

    §version_serializer: U64VarIntSerializer

    Implementations§

    source§

    impl OperationIdSerializer

    source

    pub fn new() -> Self

    Creates a new serializer for OperationId

    +

    Trait Implementations§

    source§

    impl Clone for OperationIdSerializer

    source§

    fn clone(&self) -> OperationIdSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for OperationIdSerializer

    source§

    fn default() -> OperationIdSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<OperationId> for OperationIdSerializer

    source§

    fn serialize( &self, value: &OperationId, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Serializer<OperationIdV0> for OperationIdSerializer

    source§

    fn serialize( +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Serializer<OperationIdV0> for OperationIdSerializer

    source§

    fn serialize( &self, value: &OperationIdV0, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/operation/struct.OperationIdV0.html b/massa_models/operation/struct.OperationIdV0.html index 361080a6d5..0575617066 100644 --- a/massa_models/operation/struct.OperationIdV0.html +++ b/massa_models/operation/struct.OperationIdV0.html @@ -4,10 +4,10 @@

    source

    fn get_hash(&self) -> &Hash

    source

    fn get_version(&self) -> u64

    Trait Implementations§

    source§

    impl Clone for OperationIdV0

    source§

    fn clone(&self) -> OperationIdV0

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for OperationIdV0

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for OperationIdV0
    where Self: FromStr, <Self as FromStr>::Err: Display,

    source§

    fn deserialize<__D>(deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<OperationIdV0> for OperationIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<OperationIdV0> for OperationIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], OperationIdV0, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for OperationIdV0

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for OperationIdV0

    §

    type Err = ModelsError

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl Hash for OperationIdV0

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where +) -> IResult<&'a [u8], OperationIdV0, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for OperationIdV0

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for OperationIdV0

    §

    type Err = ModelsError

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl Hash for OperationIdV0

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for OperationIdV0

    source§

    fn cmp(&self, other: &OperationIdV0) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where @@ -18,11 +18,11 @@ operator. Read more

    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
    source§

    impl Serialize for OperationIdV0
    where Self: Display,

    source§

    fn serialize<__S>(&self, serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<OperationIdV0> for OperationIdSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<OperationIdV0> for OperationIdSerializer

    source§

    fn serialize( &self, value: &OperationIdV0, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Versioned for OperationIdV0

    source§

    impl Copy for OperationIdV0

    source§

    impl Eq for OperationIdV0

    source§

    impl StructuralPartialEq for OperationIdV0

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Versioned for OperationIdV0

    source§

    impl Copy for OperationIdV0

    source§

    impl Eq for OperationIdV0

    source§

    impl StructuralPartialEq for OperationIdV0

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> CallHasher for T
    where diff --git a/massa_models/operation/struct.OperationIdsDeserializer.html b/massa_models/operation/struct.OperationIdsDeserializer.html index 799af37718..fe39da0663 100644 --- a/massa_models/operation/struct.OperationIdsDeserializer.html +++ b/massa_models/operation/struct.OperationIdsDeserializer.html @@ -1,9 +1,9 @@ OperationIdsDeserializer in massa_models::operation - Rust

    Struct massa_models::operation::OperationIdsDeserializer

    source ·
    pub struct OperationIdsDeserializer {
    -    length_deserializer: U32VarIntDeserializer,
    +    length_deserializer: U32VarIntDeserializer,
         op_id_deserializer: OperationIdDeserializer,
     }
    Expand description

    Deserializer for Vec<OperationId>

    -

    Fields§

    §length_deserializer: U32VarIntDeserializer§op_id_deserializer: OperationIdDeserializer

    Implementations§

    source§

    impl OperationIdsDeserializer

    source

    pub fn new(max_operations_per_message: u32) -> Self

    Creates a new OperationIdsDeserializer

    -

    Trait Implementations§

    source§

    impl Deserializer<Vec<OperationId>> for OperationIdsDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §length_deserializer: U32VarIntDeserializer§op_id_deserializer: OperationIdDeserializer

    Implementations§

    source§

    impl OperationIdsDeserializer

    source

    pub fn new(max_operations_per_message: u32) -> Self

    Creates a new OperationIdsDeserializer

    +

    Trait Implementations§

    source§

    impl Deserializer<Vec<OperationId>> for OperationIdsDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Vec<OperationId>, E>

    §Example:
    diff --git a/massa_models/operation/struct.OperationIdsSerializer.html b/massa_models/operation/struct.OperationIdsSerializer.html index 5831aae847..c1fe69b027 100644 --- a/massa_models/operation/struct.OperationIdsSerializer.html +++ b/massa_models/operation/struct.OperationIdsSerializer.html @@ -1,13 +1,13 @@ OperationIdsSerializer in massa_models::operation - Rust

    Struct massa_models::operation::OperationIdsSerializer

    source ·
    pub struct OperationIdsSerializer {
    -    u32_serializer: U32VarIntSerializer,
    +    u32_serializer: U32VarIntSerializer,
         op_id_serializer: OperationIdSerializer,
     }
    Expand description

    Serializer for Vec<OperationId>

    -

    Fields§

    §u32_serializer: U32VarIntSerializer§op_id_serializer: OperationIdSerializer

    Implementations§

    source§

    impl OperationIdsSerializer

    source

    pub fn new() -> Self

    Creates a new OperationIdsSerializer

    -

    Trait Implementations§

    source§

    impl Default for OperationIdsSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Vec<OperationId>> for OperationIdsSerializer

    Fields§

    §u32_serializer: U32VarIntSerializer§op_id_serializer: OperationIdSerializer

    Implementations§

    source§

    impl OperationIdsSerializer

    source

    pub fn new() -> Self

    Creates a new OperationIdsSerializer

    +

    Trait Implementations§

    source§

    impl Default for OperationIdsSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Vec<OperationId>> for OperationIdsSerializer

    source§

    fn serialize( &self, value: &Vec<OperationId>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>

    §Example:
    use massa_models::operation::{OperationId, OperationIdsSerializer};
     use massa_serialization::Serializer;
     use std::str::FromStr;
    diff --git a/massa_models/operation/struct.OperationPrefixIdDeserializer.html b/massa_models/operation/struct.OperationPrefixIdDeserializer.html
    index d16d004a6d..5f7457344c 100644
    --- a/massa_models/operation/struct.OperationPrefixIdDeserializer.html
    +++ b/massa_models/operation/struct.OperationPrefixIdDeserializer.html
    @@ -1,6 +1,6 @@
     OperationPrefixIdDeserializer in massa_models::operation - Rust
    pub struct OperationPrefixIdDeserializer;
    Expand description

    Deserializer for [OperationPrefixId]

    Implementations§

    source§

    impl OperationPrefixIdDeserializer

    source

    pub const fn new() -> Self

    Creates a deserializer for [OperationPrefixId]

    -

    Trait Implementations§

    source§

    impl Default for OperationPrefixIdDeserializer

    source§

    fn default() -> OperationPrefixIdDeserializer

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<OperationPrefixId> for OperationPrefixIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Default for OperationPrefixIdDeserializer

    source§

    fn default() -> OperationPrefixIdDeserializer

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<OperationPrefixId> for OperationPrefixIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], OperationPrefixId, E>

    §Example:
    diff --git a/massa_models/operation/struct.OperationPrefixIdsDeserializer.html b/massa_models/operation/struct.OperationPrefixIdsDeserializer.html index 5da457b44c..db33d70ce8 100644 --- a/massa_models/operation/struct.OperationPrefixIdsDeserializer.html +++ b/massa_models/operation/struct.OperationPrefixIdsDeserializer.html @@ -1,9 +1,9 @@ OperationPrefixIdsDeserializer in massa_models::operation - Rust
    pub struct OperationPrefixIdsDeserializer {
    -    length_deserializer: U32VarIntDeserializer,
    +    length_deserializer: U32VarIntDeserializer,
         pref_deserializer: OperationPrefixIdDeserializer,
     }
    Expand description

    Deserializer for OperationPrefixIds

    -

    Fields§

    §length_deserializer: U32VarIntDeserializer§pref_deserializer: OperationPrefixIdDeserializer

    Implementations§

    source§

    impl OperationPrefixIdsDeserializer

    source

    pub const fn new(max_operations_per_message: u32) -> Self

    Creates a new OperationIdsDeserializer

    -

    Trait Implementations§

    source§

    impl Deserializer<HashSet<OperationPrefixId, BuildHasherDefault<HashMapper<OperationPrefixId>>>> for OperationPrefixIdsDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §length_deserializer: U32VarIntDeserializer§pref_deserializer: OperationPrefixIdDeserializer

    Implementations§

    source§

    impl OperationPrefixIdsDeserializer

    source

    pub const fn new(max_operations_per_message: u32) -> Self

    Creates a new OperationIdsDeserializer

    +

    Trait Implementations§

    source§

    impl Deserializer<HashSet<OperationPrefixId, BuildHasherDefault<HashMapper<OperationPrefixId>>>> for OperationPrefixIdsDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], OperationPrefixIds, E>

    §Example:
    diff --git a/massa_models/operation/struct.OperationPrefixIdsSerializer.html b/massa_models/operation/struct.OperationPrefixIdsSerializer.html index cf0a723621..5b95ee4a48 100644 --- a/massa_models/operation/struct.OperationPrefixIdsSerializer.html +++ b/massa_models/operation/struct.OperationPrefixIdsSerializer.html @@ -1,12 +1,12 @@ OperationPrefixIdsSerializer in massa_models::operation - Rust
    pub struct OperationPrefixIdsSerializer {
    -    u32_serializer: U32VarIntSerializer,
    +    u32_serializer: U32VarIntSerializer,
     }
    Expand description

    Serializer for OperationPrefixIds

    -

    Fields§

    §u32_serializer: U32VarIntSerializer

    Implementations§

    source§

    impl OperationPrefixIdsSerializer

    source

    pub const fn new() -> Self

    Creates a new OperationIdsSerializer

    -

    Trait Implementations§

    source§

    impl Clone for OperationPrefixIdsSerializer

    source§

    fn clone(&self) -> OperationPrefixIdsSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for OperationPrefixIdsSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<HashSet<OperationPrefixId, BuildHasherDefault<HashMapper<OperationPrefixId>>>> for OperationPrefixIdsSerializer

    Fields§

    §u32_serializer: U32VarIntSerializer

    Implementations§

    source§

    impl OperationPrefixIdsSerializer

    source

    pub const fn new() -> Self

    Creates a new OperationIdsSerializer

    +

    Trait Implementations§

    source§

    impl Clone for OperationPrefixIdsSerializer

    source§

    fn clone(&self) -> OperationPrefixIdsSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for OperationPrefixIdsSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<HashSet<OperationPrefixId, BuildHasherDefault<HashMapper<OperationPrefixId>>>> for OperationPrefixIdsSerializer

    source§

    fn serialize( &self, value: &OperationPrefixIds, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/operation/struct.OperationSerializer.html b/massa_models/operation/struct.OperationSerializer.html index 6c65da8d2b..1ff6b96aae 100644 --- a/massa_models/operation/struct.OperationSerializer.html +++ b/massa_models/operation/struct.OperationSerializer.html @@ -1,14 +1,14 @@ OperationSerializer in massa_models::operation - Rust

    Struct massa_models::operation::OperationSerializer

    source ·
    pub struct OperationSerializer {
    -    u64_serializer: U64VarIntSerializer,
    +    u64_serializer: U64VarIntSerializer,
         amount_serializer: AmountSerializer,
         op_type_serializer: OperationTypeSerializer,
     }
    Expand description

    Serializer for Operation

    -

    Fields§

    §u64_serializer: U64VarIntSerializer§amount_serializer: AmountSerializer§op_type_serializer: OperationTypeSerializer

    Implementations§

    source§

    impl OperationSerializer

    source

    pub fn new() -> Self

    Creates a new OperationSerializer

    -

    Trait Implementations§

    source§

    impl Default for OperationSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Operation> for OperationSerializer

    Fields§

    §u64_serializer: U64VarIntSerializer§amount_serializer: AmountSerializer§op_type_serializer: OperationTypeSerializer

    Implementations§

    source§

    impl OperationSerializer

    source

    pub fn new() -> Self

    Creates a new OperationSerializer

    +

    Trait Implementations§

    source§

    impl Default for OperationSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Operation> for OperationSerializer

    source§

    fn serialize( &self, value: &Operation, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>

    §Example:
    use massa_models::{amount::Amount, address::Address, operation::{OperationType, OperationSerializer, Operation}};
     use massa_signature::KeyPair;
     use massa_serialization::Serializer;
    diff --git a/massa_models/operation/struct.OperationTypeDeserializer.html b/massa_models/operation/struct.OperationTypeDeserializer.html
    index cddb5680dd..1e8b490580 100644
    --- a/massa_models/operation/struct.OperationTypeDeserializer.html
    +++ b/massa_models/operation/struct.OperationTypeDeserializer.html
    @@ -1,15 +1,15 @@
     OperationTypeDeserializer in massa_models::operation - Rust
    pub struct OperationTypeDeserializer {
    -    id_deserializer: U32VarIntDeserializer,
    -    rolls_number_deserializer: U64VarIntDeserializer,
    -    max_gas_deserializer: U64VarIntDeserializer,
    +    id_deserializer: U32VarIntDeserializer,
    +    rolls_number_deserializer: U64VarIntDeserializer,
    +    max_gas_deserializer: U64VarIntDeserializer,
         address_deserializer: AddressDeserializer,
         data_deserializer: VecU8Deserializer,
         amount_deserializer: AmountDeserializer,
    -    function_name_deserializer: StringDeserializer<U16VarIntDeserializer, u16>,
    +    function_name_deserializer: StringDeserializer<U16VarIntDeserializer, u16>,
         parameter_deserializer: VecU8Deserializer,
         datastore_deserializer: DatastoreDeserializer,
     }
    Expand description

    Deserializer for OperationType

    -

    Fields§

    §id_deserializer: U32VarIntDeserializer§rolls_number_deserializer: U64VarIntDeserializer§max_gas_deserializer: U64VarIntDeserializer§address_deserializer: AddressDeserializer§data_deserializer: VecU8Deserializer§amount_deserializer: AmountDeserializer§function_name_deserializer: StringDeserializer<U16VarIntDeserializer, u16>§parameter_deserializer: VecU8Deserializer§datastore_deserializer: DatastoreDeserializer

    Implementations§

    source§

    impl OperationTypeDeserializer

    source

    pub fn new( +

    Fields§

    §id_deserializer: U32VarIntDeserializer§rolls_number_deserializer: U64VarIntDeserializer§max_gas_deserializer: U64VarIntDeserializer§address_deserializer: AddressDeserializer§data_deserializer: VecU8Deserializer§amount_deserializer: AmountDeserializer§function_name_deserializer: StringDeserializer<U16VarIntDeserializer, u16>§parameter_deserializer: VecU8Deserializer§datastore_deserializer: DatastoreDeserializer

    Implementations§

    source§

    impl OperationTypeDeserializer

    source

    pub fn new( max_datastore_value_length: u64, max_function_name_length: u16, max_parameters_size: u32, @@ -17,7 +17,7 @@ max_op_datastore_key_length: u8, max_op_datastore_value_length: u64, ) -> Self

    Creates a new OperationTypeDeserializer

    -

    Trait Implementations§

    source§

    impl Deserializer<OperationType> for OperationTypeDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Deserializer<OperationType> for OperationTypeDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], OperationType, E>

    §Example:
    diff --git a/massa_models/operation/struct.OperationTypeSerializer.html b/massa_models/operation/struct.OperationTypeSerializer.html index f515e73fc5..64ad04116d 100644 --- a/massa_models/operation/struct.OperationTypeSerializer.html +++ b/massa_models/operation/struct.OperationTypeSerializer.html @@ -1,18 +1,18 @@ OperationTypeSerializer in massa_models::operation - Rust

    Struct massa_models::operation::OperationTypeSerializer

    source ·
    pub struct OperationTypeSerializer {
    -    u32_serializer: U32VarIntSerializer,
    -    u64_serializer: U64VarIntSerializer,
    +    u32_serializer: U32VarIntSerializer,
    +    u64_serializer: U64VarIntSerializer,
         vec_u8_serializer: VecU8Serializer,
         amount_serializer: AmountSerializer,
         address_serializer: AddressSerializer,
    -    function_name_serializer: StringSerializer<U16VarIntSerializer, u16>,
    +    function_name_serializer: StringSerializer<U16VarIntSerializer, u16>,
         datastore_serializer: DatastoreSerializer,
     }
    Expand description

    Serializer for OperationType

    -

    Fields§

    §u32_serializer: U32VarIntSerializer§u64_serializer: U64VarIntSerializer§vec_u8_serializer: VecU8Serializer§amount_serializer: AmountSerializer§address_serializer: AddressSerializer§function_name_serializer: StringSerializer<U16VarIntSerializer, u16>§datastore_serializer: DatastoreSerializer

    Implementations§

    source§

    impl OperationTypeSerializer

    source

    pub fn new() -> Self

    Creates a new OperationTypeSerializer

    -

    Trait Implementations§

    source§

    impl Default for OperationTypeSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<OperationType> for OperationTypeSerializer

    Fields§

    §u32_serializer: U32VarIntSerializer§u64_serializer: U64VarIntSerializer§vec_u8_serializer: VecU8Serializer§amount_serializer: AmountSerializer§address_serializer: AddressSerializer§function_name_serializer: StringSerializer<U16VarIntSerializer, u16>§datastore_serializer: DatastoreSerializer

    Implementations§

    source§

    impl OperationTypeSerializer

    source

    pub fn new() -> Self

    Creates a new OperationTypeSerializer

    +

    Trait Implementations§

    source§

    impl Default for OperationTypeSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<OperationType> for OperationTypeSerializer

    source§

    fn serialize( &self, value: &OperationType, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>
    §Example:
    use std::collections::BTreeMap;
     use massa_models::{operation::{OperationTypeSerializer, OperationTypeDeserializer,OperationType}, address::Address, amount::Amount};
     use massa_signature::KeyPair;
    diff --git a/massa_models/operation/struct.OperationsDeserializer.html b/massa_models/operation/struct.OperationsDeserializer.html
    index d00edaaf5b..877435fa12 100644
    --- a/massa_models/operation/struct.OperationsDeserializer.html
    +++ b/massa_models/operation/struct.OperationsDeserializer.html
    @@ -1,8 +1,8 @@
     OperationsDeserializer in massa_models::operation - Rust

    Struct massa_models::operation::OperationsDeserializer

    source ·
    pub struct OperationsDeserializer {
    -    length_deserializer: U32VarIntDeserializer,
    +    length_deserializer: U32VarIntDeserializer,
         signed_op_deserializer: SecureShareDeserializer<Operation, OperationDeserializer>,
     }
    Expand description

    Deserializer for Operations

    -

    Fields§

    §length_deserializer: U32VarIntDeserializer§signed_op_deserializer: SecureShareDeserializer<Operation, OperationDeserializer>

    Implementations§

    source§

    impl OperationsDeserializer

    source

    pub fn new( +

    Fields§

    §length_deserializer: U32VarIntDeserializer§signed_op_deserializer: SecureShareDeserializer<Operation, OperationDeserializer>

    Implementations§

    source§

    impl OperationsDeserializer

    source

    pub fn new( max_operations_per_message: u32, max_datastore_value_length: u64, max_function_name_length: u16, @@ -12,7 +12,7 @@ max_op_datastore_value_length: u64, chain_id: u64, ) -> Self

    Creates a new OperationsDeserializer

    -

    Trait Implementations§

    source§

    impl Deserializer<Vec<SecureShare<Operation, OperationId>>> for OperationsDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Deserializer<Vec<SecureShare<Operation, OperationId>>> for OperationsDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Vec<SecureShareOperation>, E>

    §Example:
    diff --git a/massa_models/operation/struct.OperationsSerializer.html b/massa_models/operation/struct.OperationsSerializer.html index c78c59aa34..347421961e 100644 --- a/massa_models/operation/struct.OperationsSerializer.html +++ b/massa_models/operation/struct.OperationsSerializer.html @@ -1,13 +1,13 @@ OperationsSerializer in massa_models::operation - Rust

    Struct massa_models::operation::OperationsSerializer

    source ·
    pub struct OperationsSerializer {
    -    u32_serializer: U32VarIntSerializer,
    +    u32_serializer: U32VarIntSerializer,
         signed_op_serializer: SecureShareSerializer,
     }
    Expand description

    Serializer for Operations

    -

    Fields§

    §u32_serializer: U32VarIntSerializer§signed_op_serializer: SecureShareSerializer

    Implementations§

    source§

    impl OperationsSerializer

    source

    pub const fn new() -> Self

    Creates a new OperationsSerializer

    -

    Trait Implementations§

    source§

    impl Clone for OperationsSerializer

    source§

    fn clone(&self) -> OperationsSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for OperationsSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Vec<SecureShare<Operation, OperationId>>> for OperationsSerializer

    Fields§

    §u32_serializer: U32VarIntSerializer§signed_op_serializer: SecureShareSerializer

    Implementations§

    source§

    impl OperationsSerializer

    source

    pub const fn new() -> Self

    Creates a new OperationsSerializer

    +

    Trait Implementations§

    source§

    impl Clone for OperationsSerializer

    source§

    fn clone(&self) -> OperationsSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for OperationsSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Vec<SecureShare<Operation, OperationId>>> for OperationsSerializer

    source§

    fn serialize( &self, value: &Vec<SecureShareOperation>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>
    §Example:
    use massa_models::{operation::{SecureShareOperation, Operation, OperationType, OperationsSerializer, OperationSerializer}, secure_share::SecureShareContent, address::Address, amount::Amount};
     use massa_signature::KeyPair;
     use massa_serialization::Serializer;
    diff --git a/massa_models/rolls/struct.RollUpdate.html b/massa_models/rolls/struct.RollUpdate.html
    index 2deabc3003..05053ea121 100644
    --- a/massa_models/rolls/struct.RollUpdate.html
    +++ b/massa_models/rolls/struct.RollUpdate.html
    @@ -8,7 +8,7 @@
     
    source

    pub fn compensate(&mut self) -> RollCompensation

    compensate a roll update, return compensation count

    source

    pub fn is_nil(&self) -> bool

    true if the update has no effect

    Trait Implementations§

    source§

    impl Clone for RollUpdate

    source§

    fn clone(&self) -> RollUpdate

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for RollUpdate

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for RollUpdate

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<RollUpdate> for RollUpdateDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<RollUpdate> for RollUpdateDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], RollUpdate, E>

    §Example:
    @@ -26,11 +26,11 @@ assert_eq!(roll_update.roll_purchases, roll_update_deserialized.roll_purchases); assert_eq!(roll_update.roll_sales, roll_update_deserialized.roll_sales);
    source§

    impl Serialize for RollUpdate

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<RollUpdate> for RollUpdateSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<RollUpdate> for RollUpdateSerializer

    source§

    fn serialize( &self, value: &RollUpdate, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>
    §Example:
    use massa_models::rolls::{RollUpdate, RollUpdateSerializer};
     use massa_serialization::Serializer;
     
    diff --git a/massa_models/rolls/struct.RollUpdateDeserializer.html b/massa_models/rolls/struct.RollUpdateDeserializer.html
    index 3c6331f2a0..cb3d00ae97 100644
    --- a/massa_models/rolls/struct.RollUpdateDeserializer.html
    +++ b/massa_models/rolls/struct.RollUpdateDeserializer.html
    @@ -1,8 +1,8 @@
     RollUpdateDeserializer in massa_models::rolls - Rust

    Struct massa_models::rolls::RollUpdateDeserializer

    source ·
    pub struct RollUpdateDeserializer {
    -    u64_deserializer: U64VarIntDeserializer,
    +    u64_deserializer: U64VarIntDeserializer,
     }
    Expand description

    Deserializer for RollUpdate

    -

    Fields§

    §u64_deserializer: U64VarIntDeserializer

    Implementations§

    source§

    impl RollUpdateDeserializer

    source

    pub fn new() -> Self

    Creates a new RollUpdateDeserializer

    -

    Trait Implementations§

    source§

    impl Default for RollUpdateDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<RollUpdate> for RollUpdateDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §u64_deserializer: U64VarIntDeserializer

    Implementations§

    source§

    impl RollUpdateDeserializer

    source

    pub fn new() -> Self

    Creates a new RollUpdateDeserializer

    +

    Trait Implementations§

    source§

    impl Default for RollUpdateDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<RollUpdate> for RollUpdateDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], RollUpdate, E>

    §Example:
    diff --git a/massa_models/rolls/struct.RollUpdateSerializer.html b/massa_models/rolls/struct.RollUpdateSerializer.html index 0ba23f6653..ab4a1184ac 100644 --- a/massa_models/rolls/struct.RollUpdateSerializer.html +++ b/massa_models/rolls/struct.RollUpdateSerializer.html @@ -1,12 +1,12 @@ RollUpdateSerializer in massa_models::rolls - Rust

    Struct massa_models::rolls::RollUpdateSerializer

    source ·
    pub struct RollUpdateSerializer {
    -    u64_serializer: U64VarIntSerializer,
    +    u64_serializer: U64VarIntSerializer,
     }
    Expand description

    Serializer for RollUpdate

    -

    Fields§

    §u64_serializer: U64VarIntSerializer

    Implementations§

    source§

    impl RollUpdateSerializer

    source

    pub fn new() -> Self

    Creates a new RollUpdateSerializer

    -

    Trait Implementations§

    source§

    impl Default for RollUpdateSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<RollUpdate> for RollUpdateSerializer

    Fields§

    §u64_serializer: U64VarIntSerializer

    Implementations§

    source§

    impl RollUpdateSerializer

    source

    pub fn new() -> Self

    Creates a new RollUpdateSerializer

    +

    Trait Implementations§

    source§

    impl Default for RollUpdateSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<RollUpdate> for RollUpdateSerializer

    source§

    fn serialize( &self, value: &RollUpdate, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example:
    +) -> Result<(), SerializeError>
    §Example:
    use massa_models::rolls::{RollUpdate, RollUpdateSerializer};
     use massa_serialization::Serializer;
     
    diff --git a/massa_models/secure_share/struct.SecureShare.html b/massa_models/secure_share/struct.SecureShare.html
    index 17b9492e3f..6cedd912f1 100644
    --- a/massa_models/secure_share/struct.SecureShare.html
    +++ b/massa_models/secure_share/struct.SecureShare.html
    @@ -56,10 +56,10 @@
         ID: Id + Debug,
    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de, T, ID> Deserialize<'de> for SecureShare<T, ID>
    where T: Display + SecureShareContent + Deserialize<'de>, ID: Id + Deserialize<'de>,

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<T, ID, Deser> Deserializer<SecureShare<T, ID>> for SecureShareDeserializer<T, Deser>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<T, ID, Deser> Deserializer<SecureShare<T, ID>> for SecureShareDeserializer<T, Deser>
    where T: Display + SecureShareContent, ID: Id, - Deser: Deserializer<T>,

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + Deser: Deserializer<T>,

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], SecureShare<T, ID>, E>

    @@ -93,13 +93,13 @@ sufficient, and should not be overridden without very good reason.
    source§

    impl<T, ID> Serialize for SecureShare<T, ID>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<T, ID> Serializer<SecureShare<T, ID>> for SecureShareSerializer
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<T, ID> Serializer<SecureShare<T, ID>> for SecureShareSerializer
    where T: Display + SecureShareContent, - ID: Id,

    source§

    fn serialize( &self, value: &SecureShare<T, ID>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl<T, ID> Eq for SecureShare<T, ID>
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl<T, ID> Eq for SecureShare<T, ID>
    where T: Display + SecureShareContent + Eq, ID: Id + Eq,

    source§

    impl<T, ID> StructuralPartialEq for SecureShare<T, ID>
    where T: Display + SecureShareContent, diff --git a/massa_models/secure_share/struct.SecureShareDeserializer.html b/massa_models/secure_share/struct.SecureShareDeserializer.html index 1ac06e8e29..41a0c29985 100644 --- a/massa_models/secure_share/struct.SecureShareDeserializer.html +++ b/massa_models/secure_share/struct.SecureShareDeserializer.html @@ -1,6 +1,6 @@ SecureShareDeserializer in massa_models::secure_share - Rust
    pub struct SecureShareDeserializer<T, Deser>
    where T: Display + SecureShareContent, - Deser: Deserializer<T>,
    { + Deser: Deserializer<T>,
    { signature_deserializer: SignatureDeserializer, public_key_deserializer: PublicKeyDeserializer, content_deserializer: Deser, @@ -9,12 +9,12 @@ }
    Expand description

    Deserializer for SecureShare structure

    Fields§

    §signature_deserializer: SignatureDeserializer§public_key_deserializer: PublicKeyDeserializer§content_deserializer: Deser§chain_id: u64§marker_t: PhantomData<T>

    Implementations§

    source§

    impl<T, Deser> SecureShareDeserializer<T, Deser>
    where T: Display + SecureShareContent, - Deser: Deserializer<T>,

    source

    pub const fn new(content_deserializer: Deser, chain_id: u64) -> Self

    Creates a new SecureShareDeserializer

    + Deser: Deserializer<T>,

    source

    pub const fn new(content_deserializer: Deser, chain_id: u64) -> Self

    Creates a new SecureShareDeserializer

    §Arguments
    • content_deserializer - Deserializer for the content
    -
    source

    pub fn deserialize_with<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>, ID: Id, Ser: Serializer<T>>( +

    source

    pub fn deserialize_with<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>, ID: Id, Ser: Serializer<T>>( &self, content_serializer: &Ser, buffer: &'a [u8], @@ -30,10 +30,10 @@

    §Arguments:<
    §Returns:

    A rest (data left over from deserialization), an instance of T, and the data enabling signature verification

    -

    Trait Implementations§

    source§

    impl<T, ID, Deser> Deserializer<SecureShare<T, ID>> for SecureShareDeserializer<T, Deser>
    where +

    Trait Implementations§

    source§

    impl<T, ID, Deser> Deserializer<SecureShare<T, ID>> for SecureShareDeserializer<T, Deser>
    where T: Display + SecureShareContent, ID: Id, - Deser: Deserializer<T>,

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + Deser: Deserializer<T>,

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], SecureShare<T, ID>, E>

    diff --git a/massa_models/secure_share/struct.SecureShareSerializer.html b/massa_models/secure_share/struct.SecureShareSerializer.html index 1669c28f0d..9be6b4c86c 100644 --- a/massa_models/secure_share/struct.SecureShareSerializer.html +++ b/massa_models/secure_share/struct.SecureShareSerializer.html @@ -5,8 +5,8 @@ content_serializer: &Ser, value: &SecureShare<T, ID>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>
    where - Ser: Serializer<T>, +) -> Result<(), SerializeError>
    where + Ser: Serializer<T>, T: Display + SecureShareContent, ID: Id,

    This method is used to serialize a SecureShare structure and use a custom serializer instead of using the serialized form of the content stored in serialized_data. @@ -17,13 +17,13 @@

    §Arguments:
  • value: SecureShare structure to be serialized
  • buffer: buffer of serialized data to be extend
  • -

    Trait Implementations§

    source§

    impl Clone for SecureShareSerializer

    source§

    fn clone(&self) -> SecureShareSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for SecureShareSerializer

    source§

    fn default() -> SecureShareSerializer

    Returns the “default value” for a type. Read more
    source§

    impl<T, ID> Serializer<SecureShare<T, ID>> for SecureShareSerializer
    where +

    Trait Implementations§

    source§

    impl Clone for SecureShareSerializer

    source§

    fn clone(&self) -> SecureShareSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for SecureShareSerializer

    source§

    fn default() -> SecureShareSerializer

    Returns the “default value” for a type. Read more
    source§

    impl<T, ID> Serializer<SecureShare<T, ID>> for SecureShareSerializer
    where T: Display + SecureShareContent, - ID: Id,

    source§

    fn serialize( &self, value: &SecureShare<T, ID>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/secure_share/trait.SecureShareContent.html b/massa_models/secure_share/trait.SecureShareContent.html index dcbc1f62f4..b987232d8c 100644 --- a/massa_models/secure_share/trait.SecureShareContent.html +++ b/massa_models/secure_share/trait.SecureShareContent.html @@ -12,7 +12,7 @@ content_hash: &Hash, signature: &Signature, ) -> Result<(), ModelsError> { ... } - fn new_verifiable<Ser: Serializer<Self>, ID: Id>( + fn new_verifiable<Ser: Serializer<Self>, ID: Id>( self, content_serializer: Ser, keypair: &KeyPair, @@ -34,9 +34,9 @@ creator_public_key: &PublicKey, serialized_content: &[u8], buffer: &mut Vec<u8>, - ) -> Result<(), SerializeError> { ... } - fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>, Deser: Deserializer<Self>, ID: Id>( - content_serializer: Option<&dyn Serializer<Self>>, + ) -> Result<(), SerializeError> { ... } + fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>, Deser: Deserializer<Self>, ID: Id>( + content_serializer: Option<&dyn Serializer<Self>>, signature_deserializer: &SignatureDeserializer, creator_public_key_deserializer: &PublicKeyDeserializer, content_deserializer: &Deser, @@ -55,7 +55,7 @@ content_hash: &Hash, signature: &Signature, ) -> Result<(), ModelsError>

    verify signature

    -
    source

    fn new_verifiable<Ser: Serializer<Self>, ID: Id>( +

    source

    fn new_verifiable<Ser: Serializer<Self>, ID: Id>( self, content_serializer: Ser, keypair: &KeyPair, @@ -78,9 +78,9 @@ creator_public_key: &PublicKey, serialized_content: &[u8], buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize the secured structure

    -
    source

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>, Deser: Deserializer<Self>, ID: Id>( - content_serializer: Option<&dyn Serializer<Self>>, +) -> Result<(), SerializeError>

    Serialize the secured structure

    +
    source

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>, Deser: Deserializer<Self>, ID: Id>( + content_serializer: Option<&dyn Serializer<Self>>, signature_deserializer: &SignatureDeserializer, creator_public_key_deserializer: &PublicKeyDeserializer, content_deserializer: &Deser, diff --git a/massa_models/serialization/struct.BitVecDeserializer.html b/massa_models/serialization/struct.BitVecDeserializer.html index 586b1734d8..9283df03ad 100644 --- a/massa_models/serialization/struct.BitVecDeserializer.html +++ b/massa_models/serialization/struct.BitVecDeserializer.html @@ -1,11 +1,11 @@ BitVecDeserializer in massa_models::serialization - Rust

    Struct massa_models::serialization::BitVecDeserializer

    source ·
    pub struct BitVecDeserializer {
    -    u32_deserializer: U32VarIntDeserializer,
    +    u32_deserializer: U32VarIntDeserializer,
     }
    Expand description

    BitVec<u8> Deserializer

    -

    Fields§

    §u32_deserializer: U32VarIntDeserializer

    Implementations§

    source§

    impl BitVecDeserializer

    source

    pub fn new() -> BitVecDeserializer

    Create a new BitVec<u8> Deserializer

    -

    Trait Implementations§

    source§

    impl Clone for BitVecDeserializer

    source§

    fn clone(&self) -> BitVecDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for BitVecDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<BitVec<u8>> for BitVecDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §u32_deserializer: U32VarIntDeserializer

    Implementations§

    source§

    impl BitVecDeserializer

    source

    pub fn new() -> BitVecDeserializer

    Create a new BitVec<u8> Deserializer

    +

    Trait Implementations§

    source§

    impl Clone for BitVecDeserializer

    source§

    fn clone(&self) -> BitVecDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for BitVecDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<BitVec<u8>> for BitVecDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], BitVec<u8>, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> IResult<&'a [u8], BitVec<u8>, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/serialization/struct.BitVecSerializer.html b/massa_models/serialization/struct.BitVecSerializer.html index 98281e690b..334d1e551a 100644 --- a/massa_models/serialization/struct.BitVecSerializer.html +++ b/massa_models/serialization/struct.BitVecSerializer.html @@ -1,12 +1,12 @@ BitVecSerializer in massa_models::serialization - Rust

    Struct massa_models::serialization::BitVecSerializer

    source ·
    pub struct BitVecSerializer {
    -    u32_serializer: U32VarIntSerializer,
    +    u32_serializer: U32VarIntSerializer,
     }
    Expand description

    BitVec<u8> Serializer

    -

    Fields§

    §u32_serializer: U32VarIntSerializer

    Implementations§

    source§

    impl BitVecSerializer

    source

    pub fn new() -> BitVecSerializer

    Create a new BitVec<u8> Serializer

    -

    Trait Implementations§

    source§

    impl Clone for BitVecSerializer

    source§

    fn clone(&self) -> BitVecSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for BitVecSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<BitVec<u8>> for BitVecSerializer

    Fields§

    §u32_serializer: U32VarIntSerializer

    Implementations§

    source§

    impl BitVecSerializer

    source

    pub fn new() -> BitVecSerializer

    Create a new BitVec<u8> Serializer

    +

    Trait Implementations§

    source§

    impl Clone for BitVecSerializer

    source§

    fn clone(&self) -> BitVecSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for BitVecSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<BitVec<u8>> for BitVecSerializer

    source§

    fn serialize( &self, value: &BitVec<u8>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_models/serialization/struct.IpAddrDeserializer.html b/massa_models/serialization/struct.IpAddrDeserializer.html index 42d9102139..004ac798ec 100644 --- a/massa_models/serialization/struct.IpAddrDeserializer.html +++ b/massa_models/serialization/struct.IpAddrDeserializer.html @@ -1,6 +1,6 @@ IpAddrDeserializer in massa_models::serialization - Rust

    Struct massa_models::serialization::IpAddrDeserializer

    source ·
    pub struct IpAddrDeserializer;
    Expand description

    Deserializer for IpAddr

    Implementations§

    source§

    impl IpAddrDeserializer

    source

    pub const fn new() -> Self

    Creates a IpAddrDeserializer

    -

    Trait Implementations§

    source§

    impl Clone for IpAddrDeserializer

    source§

    fn clone(&self) -> IpAddrDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for IpAddrDeserializer

    source§

    fn default() -> IpAddrDeserializer

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<IpAddr> for IpAddrDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Clone for IpAddrDeserializer

    source§

    fn clone(&self) -> IpAddrDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for IpAddrDeserializer

    source§

    fn default() -> IpAddrDeserializer

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<IpAddr> for IpAddrDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], IpAddr, E>

    diff --git a/massa_models/serialization/struct.IpAddrSerializer.html b/massa_models/serialization/struct.IpAddrSerializer.html index 0382a4011a..e1d91977f7 100644 --- a/massa_models/serialization/struct.IpAddrSerializer.html +++ b/massa_models/serialization/struct.IpAddrSerializer.html @@ -1,10 +1,10 @@ IpAddrSerializer in massa_models::serialization - Rust

    Struct massa_models::serialization::IpAddrSerializer

    source ·
    pub struct IpAddrSerializer;
    Expand description

    Serializer for IpAddr

    Implementations§

    source§

    impl IpAddrSerializer

    source

    pub const fn new() -> Self

    Creates a IpAddrSerializer

    -

    Trait Implementations§

    source§

    impl Clone for IpAddrSerializer

    source§

    fn clone(&self) -> IpAddrSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for IpAddrSerializer

    source§

    fn default() -> IpAddrSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<IpAddr> for IpAddrSerializer

    Trait Implementations§

    source§

    impl Clone for IpAddrSerializer

    source§

    fn clone(&self) -> IpAddrSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for IpAddrSerializer

    source§

    fn default() -> IpAddrSerializer

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<IpAddr> for IpAddrSerializer

    source§

    fn serialize( &self, value: &IpAddr, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    +) -> Result<(), SerializeError>
    use massa_models::{address::Address, amount::Amount, slot::Slot, serialization::IpAddrSerializer};
     use massa_serialization::Serializer;
     use std::str::FromStr;
    diff --git a/massa_models/serialization/struct.PreHashSetDeserializer.html b/massa_models/serialization/struct.PreHashSetDeserializer.html
    index 0b81609bee..3ded31940b 100644
    --- a/massa_models/serialization/struct.PreHashSetDeserializer.html
    +++ b/massa_models/serialization/struct.PreHashSetDeserializer.html
    @@ -1,22 +1,22 @@
     PreHashSetDeserializer in massa_models::serialization - Rust
    pub struct PreHashSetDeserializer<T, ST>
    where - ST: Deserializer<T> + Clone,
    { - varint_u64_deserializer: U64VarIntDeserializer, + ST: Deserializer<T> + Clone,
    { + varint_u64_deserializer: U64VarIntDeserializer, data_deserializer: ST, phantom_t: PhantomData<T>, }
    Expand description

    Basic PreHashSet<_> deserializer

    -

    Fields§

    §varint_u64_deserializer: U64VarIntDeserializer§data_deserializer: ST§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T, ST> PreHashSetDeserializer<T, ST>
    where - ST: Deserializer<T> + Clone,

    source

    pub const fn new( +

    Fields§

    §varint_u64_deserializer: U64VarIntDeserializer§data_deserializer: ST§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T, ST> PreHashSetDeserializer<T, ST>
    where + ST: Deserializer<T> + Clone,

    source

    pub const fn new( data_deserializer: ST, min_length: Bound<u64>, max_length: Bound<u64>, ) -> Self

    Creates a new PreHashSetDeserializer

    Trait Implementations§

    source§

    impl<T: Clone, ST> Clone for PreHashSetDeserializer<T, ST>
    where - ST: Deserializer<T> + Clone + Clone,

    source§

    fn clone(&self) -> PreHashSetDeserializer<T, ST>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T, ST> Deserializer<HashSet<T, BuildHasherDefault<HashMapper<T>>>> for PreHashSetDeserializer<T, ST>
    where - ST: Deserializer<T> + Clone, - T: PreHashed + Eq + Hash,

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + ST: Deserializer<T> + Clone + Clone,

    source§

    fn clone(&self) -> PreHashSetDeserializer<T, ST>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T, ST> Deserializer<HashSet<T, BuildHasherDefault<HashMapper<T>>>> for PreHashSetDeserializer<T, ST>
    where + ST: Deserializer<T> + Clone, + T: PreHashed + Eq + Hash,

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], PreHashSet<T>, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, ST> Freeze for PreHashSetDeserializer<T, ST>
    where +) -> IResult<&'a [u8], PreHashSet<T>, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, ST> Freeze for PreHashSetDeserializer<T, ST>
    where ST: Freeze,

    §

    impl<T, ST> RefUnwindSafe for PreHashSetDeserializer<T, ST>

    §

    impl<T, ST> Send for PreHashSetDeserializer<T, ST>
    where diff --git a/massa_models/serialization/struct.PreHashSetSerializer.html b/massa_models/serialization/struct.PreHashSetSerializer.html index 5694031415..498969b761 100644 --- a/massa_models/serialization/struct.PreHashSetSerializer.html +++ b/massa_models/serialization/struct.PreHashSetSerializer.html @@ -1,19 +1,19 @@ PreHashSetSerializer in massa_models::serialization - Rust

    Struct massa_models::serialization::PreHashSetSerializer

    source ·
    pub struct PreHashSetSerializer<T, ST>
    where - ST: Serializer<T>,
    { - len_serializer: U64VarIntSerializer, + ST: Serializer<T>,
    { + len_serializer: U64VarIntSerializer, data_serializer: ST, phantom_t: PhantomData<T>, }
    Expand description

    Basic PreHashSet<_> serializer

    -

    Fields§

    §len_serializer: U64VarIntSerializer§data_serializer: ST§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T, ST> PreHashSetSerializer<T, ST>
    where - ST: Serializer<T>,

    source

    pub fn new(data_serializer: ST) -> Self

    Creates a new PreHashSetSerializer

    +

    Fields§

    §len_serializer: U64VarIntSerializer§data_serializer: ST§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T, ST> PreHashSetSerializer<T, ST>
    where + ST: Serializer<T>,

    source

    pub fn new(data_serializer: ST) -> Self

    Creates a new PreHashSetSerializer

    Trait Implementations§

    source§

    impl<T: Clone, ST> Clone for PreHashSetSerializer<T, ST>
    where - ST: Serializer<T> + Clone,

    source§

    fn clone(&self) -> PreHashSetSerializer<T, ST>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T, ST> Serializer<HashSet<T, BuildHasherDefault<HashMapper<T>>>> for PreHashSetSerializer<T, ST>
    where - ST: Serializer<T>, - T: PreHashed,

    source§

    fn serialize( + ST: Serializer<T> + Clone,

    source§

    fn clone(&self) -> PreHashSetSerializer<T, ST>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T, ST> Serializer<HashSet<T, BuildHasherDefault<HashMapper<T>>>> for PreHashSetSerializer<T, ST>
    where + ST: Serializer<T>, + T: PreHashed,

    source§

    fn serialize( &self, value: &PreHashSet<T>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, ST> Freeze for PreHashSetSerializer<T, ST>
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, ST> Freeze for PreHashSetSerializer<T, ST>
    where ST: Freeze,

    §

    impl<T, ST> RefUnwindSafe for PreHashSetSerializer<T, ST>

    §

    impl<T, ST> Send for PreHashSetSerializer<T, ST>
    where diff --git a/massa_models/serialization/struct.StringDeserializer.html b/massa_models/serialization/struct.StringDeserializer.html index 5ec2e67c76..fac7b1b599 100644 --- a/massa_models/serialization/struct.StringDeserializer.html +++ b/massa_models/serialization/struct.StringDeserializer.html @@ -1,24 +1,24 @@ StringDeserializer in massa_models::serialization - Rust

    Struct massa_models::serialization::StringDeserializer

    source ·
    pub struct StringDeserializer<DL, L>
    where - DL: Deserializer<L>, + DL: Deserializer<L>, L: TryFrom<usize> + ToUsize,
    { length_deserializer: DL, marker_l: PhantomData<L>, }
    Expand description

    Deserializer for String with generic deserializer for the size of the string

    Fields§

    §length_deserializer: DL§marker_l: PhantomData<L>

    Implementations§

    source§

    impl<DL, L> StringDeserializer<DL, L>
    where - DL: Deserializer<L>, + DL: Deserializer<L>, L: TryFrom<usize> + ToUsize,

    source

    pub const fn new(length_deserializer: DL) -> Self

    Creates a StringDeserializer.

    §Arguments:
    • length_deserializer: Serializer for the length of the string (should be one of UXXVarIntSerializer)

    Trait Implementations§

    source§

    impl<DL, L> Clone for StringDeserializer<DL, L>
    where - DL: Deserializer<L> + Clone, - L: TryFrom<usize> + ToUsize + Clone,

    source§

    fn clone(&self) -> StringDeserializer<DL, L>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<DL, L> Deserializer<String> for StringDeserializer<DL, L>
    where - DL: Deserializer<L>, - L: TryFrom<usize> + ToUsize,

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + DL: Deserializer<L> + Clone, + L: TryFrom<usize> + ToUsize + Clone,

    source§

    fn clone(&self) -> StringDeserializer<DL, L>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<DL, L> Deserializer<String> for StringDeserializer<DL, L>
    where + DL: Deserializer<L>, + L: TryFrom<usize> + ToUsize,

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], String, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<DL, L> Freeze for StringDeserializer<DL, L>
    where +) -> IResult<&'a [u8], String, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<DL, L> Freeze for StringDeserializer<DL, L>
    where DL: Freeze,

    §

    impl<DL, L> RefUnwindSafe for StringDeserializer<DL, L>

    §

    impl<DL, L> Send for StringDeserializer<DL, L>
    where diff --git a/massa_models/serialization/struct.StringSerializer.html b/massa_models/serialization/struct.StringSerializer.html index 932c297a68..812fae0b16 100644 --- a/massa_models/serialization/struct.StringSerializer.html +++ b/massa_models/serialization/struct.StringSerializer.html @@ -1,25 +1,25 @@ StringSerializer in massa_models::serialization - Rust

    Struct massa_models::serialization::StringSerializer

    source ·
    pub struct StringSerializer<SL, L>
    where - SL: Serializer<L>, + SL: Serializer<L>, L: TryFrom<usize>,
    { length_serializer: SL, marker_l: PhantomData<L>, }
    Expand description

    Serializer for String with generic serializer for the size of the string

    Fields§

    §length_serializer: SL§marker_l: PhantomData<L>

    Implementations§

    source§

    impl<SL, L> StringSerializer<SL, L>
    where - SL: Serializer<L>, + SL: Serializer<L>, L: TryFrom<usize>,

    source

    pub fn new(length_serializer: SL) -> Self

    Creates a StringSerializer.

    §Arguments:
    • length_serializer: Serializer for the length of the string (should be one of UXXVarIntSerializer)

    Trait Implementations§

    source§

    impl<SL, L> Clone for StringSerializer<SL, L>
    where - SL: Serializer<L> + Clone, - L: TryFrom<usize> + Clone,

    source§

    fn clone(&self) -> StringSerializer<SL, L>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<SL, L> Serializer<String> for StringSerializer<SL, L>
    where - SL: Serializer<L>, - L: TryFrom<usize>,

    source§

    fn serialize( + SL: Serializer<L> + Clone, + L: TryFrom<usize> + Clone,

    source§

    fn clone(&self) -> StringSerializer<SL, L>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<SL, L> Serializer<String> for StringSerializer<SL, L>
    where + SL: Serializer<L>, + L: TryFrom<usize>,

    source§

    fn serialize( &self, value: &String, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<SL, L> Freeze for StringSerializer<SL, L>
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<SL, L> Freeze for StringSerializer<SL, L>
    where SL: Freeze,

    §

    impl<SL, L> RefUnwindSafe for StringSerializer<SL, L>

    §

    impl<SL, L> Send for StringSerializer<SL, L>
    where diff --git a/massa_models/serialization/struct.VecDeserializer.html b/massa_models/serialization/struct.VecDeserializer.html index 98d6762327..2a07c04372 100644 --- a/massa_models/serialization/struct.VecDeserializer.html +++ b/massa_models/serialization/struct.VecDeserializer.html @@ -1,21 +1,21 @@ VecDeserializer in massa_models::serialization - Rust

    Struct massa_models::serialization::VecDeserializer

    source ·
    pub struct VecDeserializer<T, ST>
    where - ST: Deserializer<T> + Clone,
    { - varint_u64_deserializer: U64VarIntDeserializer, + ST: Deserializer<T> + Clone,
    { + varint_u64_deserializer: U64VarIntDeserializer, data_deserializer: ST, phantom_t: PhantomData<T>, }
    Expand description

    Basic Vec<_> deserializer

    -

    Fields§

    §varint_u64_deserializer: U64VarIntDeserializer§data_deserializer: ST§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T, ST> VecDeserializer<T, ST>
    where - ST: Deserializer<T> + Clone,

    source

    pub const fn new( +

    Fields§

    §varint_u64_deserializer: U64VarIntDeserializer§data_deserializer: ST§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T, ST> VecDeserializer<T, ST>
    where + ST: Deserializer<T> + Clone,

    source

    pub const fn new( data_deserializer: ST, min_length: Bound<u64>, max_length: Bound<u64>, ) -> Self

    Creates a new VecDeserializer

    Trait Implementations§

    source§

    impl<T: Clone, ST> Clone for VecDeserializer<T, ST>
    where - ST: Deserializer<T> + Clone + Clone,

    source§

    fn clone(&self) -> VecDeserializer<T, ST>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T, ST> Deserializer<Vec<T>> for VecDeserializer<T, ST>
    where - ST: Deserializer<T> + Clone,

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + ST: Deserializer<T> + Clone + Clone,

    source§

    fn clone(&self) -> VecDeserializer<T, ST>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T, ST> Deserializer<Vec<T>> for VecDeserializer<T, ST>
    where + ST: Deserializer<T> + Clone,

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], Vec<T>, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, ST> Freeze for VecDeserializer<T, ST>
    where +) -> IResult<&'a [u8], Vec<T>, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, ST> Freeze for VecDeserializer<T, ST>
    where ST: Freeze,

    §

    impl<T, ST> RefUnwindSafe for VecDeserializer<T, ST>

    §

    impl<T, ST> Send for VecDeserializer<T, ST>
    where diff --git a/massa_models/serialization/struct.VecSerializer.html b/massa_models/serialization/struct.VecSerializer.html index 762f95c000..bfcb9fd746 100644 --- a/massa_models/serialization/struct.VecSerializer.html +++ b/massa_models/serialization/struct.VecSerializer.html @@ -1,18 +1,18 @@ VecSerializer in massa_models::serialization - Rust

    Struct massa_models::serialization::VecSerializer

    source ·
    pub struct VecSerializer<T, ST>
    where - ST: Serializer<T>,
    { - len_serializer: U64VarIntSerializer, + ST: Serializer<T>,
    { + len_serializer: U64VarIntSerializer, data_serializer: ST, phantom_t: PhantomData<T>, }
    Expand description

    Basic Vec<_> serializer

    -

    Fields§

    §len_serializer: U64VarIntSerializer§data_serializer: ST§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T, ST> VecSerializer<T, ST>
    where - ST: Serializer<T>,

    source

    pub fn new(data_serializer: ST) -> Self

    Creates a new VecSerializer

    +

    Fields§

    §len_serializer: U64VarIntSerializer§data_serializer: ST§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T, ST> VecSerializer<T, ST>
    where + ST: Serializer<T>,

    source

    pub fn new(data_serializer: ST) -> Self

    Creates a new VecSerializer

    Trait Implementations§

    source§

    impl<T: Clone, ST> Clone for VecSerializer<T, ST>
    where - ST: Serializer<T> + Clone,

    source§

    fn clone(&self) -> VecSerializer<T, ST>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T, ST> Serializer<Vec<T>> for VecSerializer<T, ST>
    where - ST: Serializer<T>,

    source§

    fn serialize( + ST: Serializer<T> + Clone,

    source§

    fn clone(&self) -> VecSerializer<T, ST>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T, ST> Serializer<Vec<T>> for VecSerializer<T, ST>
    where + ST: Serializer<T>,

    source§

    fn serialize( &self, value: &Vec<T>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, ST> Freeze for VecSerializer<T, ST>
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, ST> Freeze for VecSerializer<T, ST>
    where ST: Freeze,

    §

    impl<T, ST> RefUnwindSafe for VecSerializer<T, ST>

    §

    impl<T, ST> Send for VecSerializer<T, ST>
    where diff --git a/massa_models/serialization/struct.VecU8Deserializer.html b/massa_models/serialization/struct.VecU8Deserializer.html index adaaae6545..158cfcd03e 100644 --- a/massa_models/serialization/struct.VecU8Deserializer.html +++ b/massa_models/serialization/struct.VecU8Deserializer.html @@ -1,8 +1,8 @@ VecU8Deserializer in massa_models::serialization - Rust

    Struct massa_models::serialization::VecU8Deserializer

    source ·
    pub struct VecU8Deserializer {
    -    varint_u64_deserializer: U64VarIntDeserializer,
    +    varint_u64_deserializer: U64VarIntDeserializer,
     }
    Expand description

    Basic Vec<u8> deserializer

    -

    Fields§

    §varint_u64_deserializer: U64VarIntDeserializer

    Implementations§

    source§

    impl VecU8Deserializer

    source

    pub const fn new(min_length: Bound<u64>, max_length: Bound<u64>) -> Self

    Creates a new VecU8Deserializer

    -

    Trait Implementations§

    source§

    impl Clone for VecU8Deserializer

    source§

    fn clone(&self) -> VecU8Deserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Deserializer<Vec<u8>> for VecU8Deserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §varint_u64_deserializer: U64VarIntDeserializer

    Implementations§

    source§

    impl VecU8Deserializer

    source

    pub const fn new(min_length: Bound<u64>, max_length: Bound<u64>) -> Self

    Creates a new VecU8Deserializer

    +

    Trait Implementations§

    source§

    impl Clone for VecU8Deserializer

    source§

    fn clone(&self) -> VecU8Deserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Deserializer<Vec<u8>> for VecU8Deserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Vec<u8>, E>

    diff --git a/massa_models/serialization/struct.VecU8Serializer.html b/massa_models/serialization/struct.VecU8Serializer.html index ae4e3868f0..2c87ab40cc 100644 --- a/massa_models/serialization/struct.VecU8Serializer.html +++ b/massa_models/serialization/struct.VecU8Serializer.html @@ -1,12 +1,12 @@ VecU8Serializer in massa_models::serialization - Rust

    Struct massa_models::serialization::VecU8Serializer

    source ·
    pub struct VecU8Serializer {
    -    len_serializer: U64VarIntSerializer,
    +    len_serializer: U64VarIntSerializer,
     }
    Expand description

    Basic Vec<u8> serializer

    -

    Fields§

    §len_serializer: U64VarIntSerializer

    Implementations§

    source§

    impl VecU8Serializer

    source

    pub fn new() -> Self

    Creates a new VecU8Serializer

    -

    Trait Implementations§

    source§

    impl Clone for VecU8Serializer

    source§

    fn clone(&self) -> VecU8Serializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for VecU8Serializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Vec<u8>> for VecU8Serializer

    Fields§

    §len_serializer: U64VarIntSerializer

    Implementations§

    source§

    impl VecU8Serializer

    source

    pub fn new() -> Self

    Creates a new VecU8Serializer

    +

    Trait Implementations§

    source§

    impl Clone for VecU8Serializer

    source§

    fn clone(&self) -> VecU8Serializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for VecU8Serializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Vec<u8>> for VecU8Serializer

    source§

    fn serialize( &self, value: &Vec<u8>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    +) -> Result<(), SerializeError>

    use std::ops::Bound::Included;
     use massa_serialization::Serializer;
     use massa_models::serialization::VecU8Serializer;
    diff --git a/massa_models/slot/struct.Slot.html b/massa_models/slot/struct.Slot.html
    index 1311592aaa..7791190ccf 100644
    --- a/massa_models/slot/struct.Slot.html
    +++ b/massa_models/slot/struct.Slot.html
    @@ -56,7 +56,7 @@ 
    §Example
    let slot = Slot::new(10,3);
     assert_eq!(slot.skip(62, 32).unwrap(), Slot::new(12, 1));

    Trait Implementations§

    source§

    impl Clone for Slot

    source§

    fn clone(&self) -> Slot

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Slot

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Slot

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Slot> for SlotDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Slot> for SlotDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Slot, E>

    @@ -82,11 +82,11 @@
    §Example
    sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for Slot

    source§

    fn partial_cmp(&self, other: &Self) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
    source§

    impl Serialize for Slot

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Slot> for SlotSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Slot> for SlotSerializer

    source§

    fn serialize( &self, value: &Slot, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    +) -> Result<(), SerializeError>
    use std::ops::Bound::Included;
     use massa_serialization::Serializer;
     use massa_models::slot::{Slot, SlotSerializer};
    diff --git a/massa_models/slot/struct.SlotDeserializer.html b/massa_models/slot/struct.SlotDeserializer.html
    index d9213fbf44..736bed82e6 100644
    --- a/massa_models/slot/struct.SlotDeserializer.html
    +++ b/massa_models/slot/struct.SlotDeserializer.html
    @@ -1,12 +1,12 @@
     SlotDeserializer in massa_models::slot - Rust

    Struct massa_models::slot::SlotDeserializer

    source ·
    pub struct SlotDeserializer {
    -    period_deserializer: U64VarIntDeserializer,
    +    period_deserializer: U64VarIntDeserializer,
         range_thread: (Bound<u8>, Bound<u8>),
     }
    Expand description

    Basic Slot Deserializer

    -

    Fields§

    §period_deserializer: U64VarIntDeserializer§range_thread: (Bound<u8>, Bound<u8>)

    Implementations§

    source§

    impl SlotDeserializer

    source

    pub const fn new( +

    Fields§

    §period_deserializer: U64VarIntDeserializer§range_thread: (Bound<u8>, Bound<u8>)

    Implementations§

    source§

    impl SlotDeserializer

    source

    pub const fn new( range_period: (Bound<u64>, Bound<u64>), range_thread: (Bound<u8>, Bound<u8>), ) -> Self

    Creates a SlotDeserializer

    -

    Trait Implementations§

    source§

    impl Clone for SlotDeserializer

    source§

    fn clone(&self) -> SlotDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Deserializer<Slot> for SlotDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Clone for SlotDeserializer

    source§

    fn clone(&self) -> SlotDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Deserializer<Slot> for SlotDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Slot, E>

    diff --git a/massa_models/slot/struct.SlotSerializer.html b/massa_models/slot/struct.SlotSerializer.html index 4e235f9db9..e640a899e2 100644 --- a/massa_models/slot/struct.SlotSerializer.html +++ b/massa_models/slot/struct.SlotSerializer.html @@ -1,12 +1,12 @@ SlotSerializer in massa_models::slot - Rust

    Struct massa_models::slot::SlotSerializer

    source ·
    pub struct SlotSerializer {
    -    u64_serializer: U64VarIntSerializer,
    +    u64_serializer: U64VarIntSerializer,
     }
    Expand description

    Basic serializer for Slot

    -

    Fields§

    §u64_serializer: U64VarIntSerializer

    Implementations§

    source§

    impl SlotSerializer

    source

    pub const fn new() -> Self

    Creates a SlotSerializer

    -

    Trait Implementations§

    source§

    impl Clone for SlotSerializer

    source§

    fn clone(&self) -> SlotSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for SlotSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Slot> for SlotSerializer

    Fields§

    §u64_serializer: U64VarIntSerializer

    Implementations§

    source§

    impl SlotSerializer

    source

    pub const fn new() -> Self

    Creates a SlotSerializer

    +

    Trait Implementations§

    source§

    impl Clone for SlotSerializer

    source§

    fn clone(&self) -> SlotSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for SlotSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Slot> for SlotSerializer

    source§

    fn serialize( &self, value: &Slot, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    +) -> Result<(), SerializeError>
    use std::ops::Bound::Included;
     use massa_serialization::Serializer;
     use massa_models::slot::{Slot, SlotSerializer};
    diff --git a/massa_models/streaming_step/enum.StreamingStep.html b/massa_models/streaming_step/enum.StreamingStep.html
    index 10f09a2f28..4fbe78a1f5 100644
    --- a/massa_models/streaming_step/enum.StreamingStep.html
    +++ b/massa_models/streaming_step/enum.StreamingStep.html
    @@ -8,20 +8,20 @@
     
    §

    Finished(Option<T>)

    Finished step, after all the information has been streamed

    Also can keep an indicator of the last content streamed

    Implementations§

    source§

    impl<T> StreamingStep<T>

    source

    pub fn finished(&self) -> bool

    Indicates if the current step if finished or not without caring about the values

    -

    Trait Implementations§

    source§

    impl<T: Clone> Clone for StreamingStep<T>

    source§

    fn clone(&self) -> StreamingStep<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Debug> Debug for StreamingStep<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T, ST> Deserializer<StreamingStep<T>> for StreamingStepDeserializer<T, ST>
    where - ST: Deserializer<T>, - T: Clone,

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl<T: Clone> Clone for StreamingStep<T>

    source§

    fn clone(&self) -> StreamingStep<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Debug> Debug for StreamingStep<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T, ST> Deserializer<StreamingStep<T>> for StreamingStepDeserializer<T, ST>
    where + ST: Deserializer<T>, + T: Clone,

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], StreamingStep<T>, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl<T: PartialEq> PartialEq for StreamingStep<T>

    source§

    fn eq(&self, other: &StreamingStep<T>) -> bool

    This method tests for self and other values to be equal, and is used +) -> IResult<&'a [u8], StreamingStep<T>, E>
    Deserialize a value T from a buffer of u8. Read more
    source§

    impl<T: PartialEq> PartialEq for StreamingStep<T>

    source§

    fn eq(&self, other: &StreamingStep<T>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl<T, ST> Serializer<StreamingStep<T>> for StreamingStepSerializer<T, ST>
    where - ST: Serializer<T>, - T: Debug,

    source§

    fn serialize( +sufficient, and should not be overridden without very good reason.

    source§

    impl<T, ST> Serializer<StreamingStep<T>> for StreamingStepSerializer<T, ST>
    where + ST: Serializer<T>, + T: Debug,

    source§

    fn serialize( &self, value: &StreamingStep<T>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl<T: Copy> Copy for StreamingStep<T>

    source§

    impl<T: Eq> Eq for StreamingStep<T>

    source§

    impl<T> StructuralPartialEq for StreamingStep<T>

    Auto Trait Implementations§

    §

    impl<T> Freeze for StreamingStep<T>
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl<T: Copy> Copy for StreamingStep<T>

    source§

    impl<T: Eq> Eq for StreamingStep<T>

    source§

    impl<T> StructuralPartialEq for StreamingStep<T>

    Auto Trait Implementations§

    §

    impl<T> Freeze for StreamingStep<T>
    where T: Freeze,

    §

    impl<T> RefUnwindSafe for StreamingStep<T>
    where T: RefUnwindSafe,

    §

    impl<T> Send for StreamingStep<T>
    where T: Send,

    §

    impl<T> Sync for StreamingStep<T>
    where diff --git a/massa_models/streaming_step/struct.StreamingStepDeserializer.html b/massa_models/streaming_step/struct.StreamingStepDeserializer.html index 3f2ad157ec..477c0e15e8 100644 --- a/massa_models/streaming_step/struct.StreamingStepDeserializer.html +++ b/massa_models/streaming_step/struct.StreamingStepDeserializer.html @@ -1,20 +1,20 @@ StreamingStepDeserializer in massa_models::streaming_step - Rust
    pub struct StreamingStepDeserializer<T, ST>
    where - ST: Deserializer<T>, + ST: Deserializer<T>, T: Clone,
    { - u64_deser: U64VarIntDeserializer, + u64_deser: U64VarIntDeserializer, data_deser: ST, - opt_deser: OptionDeserializer<T, ST>, + opt_deser: OptionDeserializer<T, ST>, phantom_t: PhantomData<T>, }
    Expand description

    StreamingStep deserializer

    -

    Fields§

    §u64_deser: U64VarIntDeserializer§data_deser: ST§opt_deser: OptionDeserializer<T, ST>§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T, ST> StreamingStepDeserializer<T, ST>
    where - ST: Deserializer<T> + Clone, +

    Fields§

    §u64_deser: U64VarIntDeserializer§data_deser: ST§opt_deser: OptionDeserializer<T, ST>§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T, ST> StreamingStepDeserializer<T, ST>
    where + ST: Deserializer<T> + Clone, T: Clone,

    source

    pub fn new(data_deser: ST) -> Self

    Creates a new StreamingStep deserializer

    -

    Trait Implementations§

    source§

    impl<T, ST> Deserializer<StreamingStep<T>> for StreamingStepDeserializer<T, ST>
    where - ST: Deserializer<T>, - T: Clone,

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl<T, ST> Deserializer<StreamingStep<T>> for StreamingStepDeserializer<T, ST>
    where + ST: Deserializer<T>, + T: Clone,

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], StreamingStep<T>, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, ST> Freeze for StreamingStepDeserializer<T, ST>
    where +) -> IResult<&'a [u8], StreamingStep<T>, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, ST> Freeze for StreamingStepDeserializer<T, ST>
    where ST: Freeze,

    §

    impl<T, ST> RefUnwindSafe for StreamingStepDeserializer<T, ST>

    §

    impl<T, ST> Send for StreamingStepDeserializer<T, ST>
    where diff --git a/massa_models/streaming_step/struct.StreamingStepSerializer.html b/massa_models/streaming_step/struct.StreamingStepSerializer.html index bccdb4fd4c..495bdc09e8 100644 --- a/massa_models/streaming_step/struct.StreamingStepSerializer.html +++ b/massa_models/streaming_step/struct.StreamingStepSerializer.html @@ -1,19 +1,19 @@ StreamingStepSerializer in massa_models::streaming_step - Rust
    pub struct StreamingStepSerializer<T, ST>
    where - ST: Serializer<T>,
    { - u64_serializer: U64VarIntSerializer, + ST: Serializer<T>,
    { + u64_serializer: U64VarIntSerializer, data_serializer: ST, - option_serializer: OptionSerializer<T, ST>, + option_serializer: OptionSerializer<T, ST>, phantom_t: PhantomData<T>, }
    Expand description

    StreamingStep serializer

    -

    Fields§

    §u64_serializer: U64VarIntSerializer§data_serializer: ST§option_serializer: OptionSerializer<T, ST>§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T, ST> StreamingStepSerializer<T, ST>
    where - ST: Serializer<T> + Clone,

    source

    pub fn new(data_serializer: ST) -> Self

    Creates a new StreamingStep serializer

    -

    Trait Implementations§

    source§

    impl<T, ST> Serializer<StreamingStep<T>> for StreamingStepSerializer<T, ST>
    where - ST: Serializer<T>, - T: Debug,

    Fields§

    §u64_serializer: U64VarIntSerializer§data_serializer: ST§option_serializer: OptionSerializer<T, ST>§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T, ST> StreamingStepSerializer<T, ST>
    where + ST: Serializer<T> + Clone,

    source

    pub fn new(data_serializer: ST) -> Self

    Creates a new StreamingStep serializer

    +

    Trait Implementations§

    source§

    impl<T, ST> Serializer<StreamingStep<T>> for StreamingStepSerializer<T, ST>
    where + ST: Serializer<T>, + T: Debug,

    source§

    fn serialize( &self, value: &StreamingStep<T>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, ST> Freeze for StreamingStepSerializer<T, ST>
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, ST> Freeze for StreamingStepSerializer<T, ST>
    where ST: Freeze,

    §

    impl<T, ST> RefUnwindSafe for StreamingStepSerializer<T, ST>

    §

    impl<T, ST> Send for StreamingStepSerializer<T, ST>
    where diff --git a/massa_models/types/enum.SetOrDelete.html b/massa_models/types/enum.SetOrDelete.html index 4f6c73599c..20e2d44cc1 100644 --- a/massa_models/types/enum.SetOrDelete.html +++ b/massa_models/types/enum.SetOrDelete.html @@ -7,18 +7,18 @@

    Trait Implementations§

    source§

    impl<T: Clone> Applicable<SetOrDelete<T>> for SetOrDelete<T>

    allows applying another SetOrDelete to the current one

    source§

    fn apply(&mut self, other: Self)

    apply changes from other to mutable self
    source§

    impl<T: Clone + Clone> Clone for SetOrDelete<T>

    source§

    fn clone(&self) -> SetOrDelete<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Debug + Clone> Debug for SetOrDelete<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de, T> Deserialize<'de> for SetOrDelete<T>
    where T: Deserialize<'de> + Clone,

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<T: Clone, DT: Deserializer<T>> Deserializer<SetOrDelete<T>> for SetOrDeleteDeserializer<T, DT>

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<T: Clone, DT: Deserializer<T>> Deserializer<SetOrDelete<T>> for SetOrDeleteDeserializer<T, DT>

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], SetOrDelete<T>, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl<T: PartialEq + Clone> PartialEq for SetOrDelete<T>

    source§

    fn eq(&self, other: &SetOrDelete<T>) -> bool

    This method tests for self and other values to be equal, and is used +) -> IResult<&'a [u8], SetOrDelete<T>, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl<T: PartialEq + Clone> PartialEq for SetOrDelete<T>

    source§

    fn eq(&self, other: &SetOrDelete<T>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl<T> Serialize for SetOrDelete<T>
    where T: Serialize + Clone,

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<T: Clone, ST: Serializer<T>> Serializer<SetOrDelete<T>> for SetOrDeleteSerializer<T, ST>

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<T: Clone, ST: Serializer<T>> Serializer<SetOrDelete<T>> for SetOrDeleteSerializer<T, ST>

    source§

    fn serialize( &self, value: &SetOrDelete<T>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl<T: Eq + Clone> Eq for SetOrDelete<T>

    source§

    impl<T: Clone> StructuralPartialEq for SetOrDelete<T>

    Auto Trait Implementations§

    §

    impl<T> Freeze for SetOrDelete<T>
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl<T: Eq + Clone> Eq for SetOrDelete<T>

    source§

    impl<T: Clone> StructuralPartialEq for SetOrDelete<T>

    Auto Trait Implementations§

    §

    impl<T> Freeze for SetOrDelete<T>
    where T: Freeze,

    §

    impl<T> RefUnwindSafe for SetOrDelete<T>
    where T: RefUnwindSafe,

    §

    impl<T> Send for SetOrDelete<T>
    where T: Send,

    §

    impl<T> Sync for SetOrDelete<T>
    where diff --git a/massa_models/types/enum.SetOrKeep.html b/massa_models/types/enum.SetOrKeep.html index 6b2a37352c..b95adcfbe9 100644 --- a/massa_models/types/enum.SetOrKeep.html +++ b/massa_models/types/enum.SetOrKeep.html @@ -9,18 +9,18 @@
    source§

    fn apply(&mut self, other: SetOrKeep<T>)

    apply changes from other to mutable self
    source§

    impl<T: Clone + Clone> Clone for SetOrKeep<T>

    source§

    fn clone(&self) -> SetOrKeep<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Debug + Clone> Debug for SetOrKeep<T>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<T: Clone> Default for SetOrKeep<T>

    By default, SetOrKeep keeps the existing value

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl<'de, T> Deserialize<'de> for SetOrKeep<T>
    where T: Deserialize<'de> + Clone,

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<T: Clone, DT: Deserializer<T>> Deserializer<SetOrKeep<T>> for SetOrKeepDeserializer<T, DT>

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<T: Clone, DT: Deserializer<T>> Deserializer<SetOrKeep<T>> for SetOrKeepDeserializer<T, DT>

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], SetOrKeep<T>, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl<T: PartialEq + Clone> PartialEq for SetOrKeep<T>

    source§

    fn eq(&self, other: &SetOrKeep<T>) -> bool

    This method tests for self and other values to be equal, and is used +) -> IResult<&'a [u8], SetOrKeep<T>, E>
    Deserialize a value T from a buffer of u8. Read more
    source§

    impl<T: PartialEq + Clone> PartialEq for SetOrKeep<T>

    source§

    fn eq(&self, other: &SetOrKeep<T>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl<T> Serialize for SetOrKeep<T>
    where T: Serialize + Clone,

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<T: Clone, ST: Serializer<T>> Serializer<SetOrKeep<T>> for SetOrKeepSerializer<T, ST>

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<T: Clone, ST: Serializer<T>> Serializer<SetOrKeep<T>> for SetOrKeepSerializer<T, ST>

    source§

    fn serialize( &self, value: &SetOrKeep<T>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl<T: Eq + Clone> Eq for SetOrKeep<T>

    source§

    impl<T: Clone> StructuralPartialEq for SetOrKeep<T>

    Auto Trait Implementations§

    §

    impl<T> Freeze for SetOrKeep<T>
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl<T: Eq + Clone> Eq for SetOrKeep<T>

    source§

    impl<T: Clone> StructuralPartialEq for SetOrKeep<T>

    Auto Trait Implementations§

    §

    impl<T> Freeze for SetOrKeep<T>
    where T: Freeze,

    §

    impl<T> RefUnwindSafe for SetOrKeep<T>
    where T: RefUnwindSafe,

    §

    impl<T> Send for SetOrKeep<T>
    where T: Send,

    §

    impl<T> Sync for SetOrKeep<T>
    where diff --git a/massa_models/types/enum.SetUpdateOrDelete.html b/massa_models/types/enum.SetUpdateOrDelete.html index df094a4199..1815db511c 100644 --- a/massa_models/types/enum.SetUpdateOrDelete.html +++ b/massa_models/types/enum.SetUpdateOrDelete.html @@ -15,19 +15,19 @@
    source§

    fn apply(&mut self, other: SetUpdateOrDelete<T, V>)

    apply changes from other to mutable self
    source§

    impl<T: Clone + Default + Applicable<V>, V: Clone + Applicable<V> + Clone> Clone for SetUpdateOrDelete<T, V>

    source§

    fn clone(&self) -> SetUpdateOrDelete<T, V>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<T: Debug + Default + Applicable<V>, V: Debug + Applicable<V> + Clone> Debug for SetUpdateOrDelete<T, V>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de, T, V> Deserialize<'de> for SetUpdateOrDelete<T, V>
    where T: Deserialize<'de> + Default + Applicable<V>, V: Deserialize<'de> + Applicable<V> + Clone,

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<T: Default + Applicable<V>, V: Applicable<V> + Clone, DT: Deserializer<T>, DV: Deserializer<V>> Deserializer<SetUpdateOrDelete<T, V>> for SetUpdateOrDeleteDeserializer<T, V, DT, DV>

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<T: Default + Applicable<V>, V: Applicable<V> + Clone, DT: Deserializer<T>, DV: Deserializer<V>> Deserializer<SetUpdateOrDelete<T, V>> for SetUpdateOrDeleteDeserializer<T, V, DT, DV>

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], SetUpdateOrDelete<T, V>, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl<T: PartialEq + Default + Applicable<V>, V: PartialEq + Applicable<V> + Clone> PartialEq for SetUpdateOrDelete<T, V>

    source§

    fn eq(&self, other: &SetUpdateOrDelete<T, V>) -> bool

    This method tests for self and other values to be equal, and is used +) -> IResult<&'a [u8], SetUpdateOrDelete<T, V>, E>
    Deserialize a value T from a buffer of u8. Read more
    source§

    impl<T: PartialEq + Default + Applicable<V>, V: PartialEq + Applicable<V> + Clone> PartialEq for SetUpdateOrDelete<T, V>

    source§

    fn eq(&self, other: &SetUpdateOrDelete<T, V>) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl<T, V> Serialize for SetUpdateOrDelete<T, V>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<T: Default + Applicable<V>, V: Applicable<V> + Clone, ST: Serializer<T>, SV: Serializer<V>> Serializer<SetUpdateOrDelete<T, V>> for SetUpdateOrDeleteSerializer<T, V, ST, SV>

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<T: Default + Applicable<V>, V: Applicable<V> + Clone, ST: Serializer<T>, SV: Serializer<V>> Serializer<SetUpdateOrDelete<T, V>> for SetUpdateOrDeleteSerializer<T, V, ST, SV>

    source§

    fn serialize( &self, value: &SetUpdateOrDelete<T, V>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl<T: Eq + Default + Applicable<V>, V: Eq + Applicable<V> + Clone> Eq for SetUpdateOrDelete<T, V>

    source§

    impl<T: Default + Applicable<V>, V: Applicable<V> + Clone> StructuralPartialEq for SetUpdateOrDelete<T, V>

    Auto Trait Implementations§

    §

    impl<T, V> Freeze for SetUpdateOrDelete<T, V>
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl<T: Eq + Default + Applicable<V>, V: Eq + Applicable<V> + Clone> Eq for SetUpdateOrDelete<T, V>

    source§

    impl<T: Default + Applicable<V>, V: Applicable<V> + Clone> StructuralPartialEq for SetUpdateOrDelete<T, V>

    Auto Trait Implementations§

    §

    impl<T, V> Freeze for SetUpdateOrDelete<T, V>
    where T: Freeze, V: Freeze,

    §

    impl<T, V> RefUnwindSafe for SetUpdateOrDelete<T, V>
    where T: RefUnwindSafe, diff --git a/massa_models/types/struct.SetOrDeleteDeserializer.html b/massa_models/types/struct.SetOrDeleteDeserializer.html index 61b9d56741..5d5481280c 100644 --- a/massa_models/types/struct.SetOrDeleteDeserializer.html +++ b/massa_models/types/struct.SetOrDeleteDeserializer.html @@ -1,10 +1,10 @@ -SetOrDeleteDeserializer in massa_models::types - Rust

    Struct massa_models::types::SetOrDeleteDeserializer

    source ·
    pub struct SetOrDeleteDeserializer<T: Clone, DT: Deserializer<T>> {
    +SetOrDeleteDeserializer in massa_models::types - Rust

    Struct massa_models::types::SetOrDeleteDeserializer

    source ·
    pub struct SetOrDeleteDeserializer<T: Clone, DT: Deserializer<T>> {
         inner_deserializer: DT,
         phantom_t: PhantomData<T>,
    -}

    Fields§

    §inner_deserializer: DT§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T: Clone, DT: Deserializer<T>> SetOrDeleteDeserializer<T, DT>

    source

    pub fn new(inner_deserializer: DT) -> Self

    Trait Implementations§

    source§

    impl<T: Clone, DT: Deserializer<T>> Deserializer<SetOrDelete<T>> for SetOrDeleteDeserializer<T, DT>

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +}

    Fields§

    §inner_deserializer: DT§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T: Clone, DT: Deserializer<T>> SetOrDeleteDeserializer<T, DT>

    source

    pub fn new(inner_deserializer: DT) -> Self

    Trait Implementations§

    source§

    impl<T: Clone, DT: Deserializer<T>> Deserializer<SetOrDelete<T>> for SetOrDeleteDeserializer<T, DT>

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], SetOrDelete<T>, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, DT> Freeze for SetOrDeleteDeserializer<T, DT>
    where +) -> IResult<&'a [u8], SetOrDelete<T>, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, DT> Freeze for SetOrDeleteDeserializer<T, DT>
    where DT: Freeze,

    §

    impl<T, DT> RefUnwindSafe for SetOrDeleteDeserializer<T, DT>

    §

    impl<T, DT> Send for SetOrDeleteDeserializer<T, DT>
    where diff --git a/massa_models/types/struct.SetOrDeleteSerializer.html b/massa_models/types/struct.SetOrDeleteSerializer.html index e1450ddf8a..9df8794e5b 100644 --- a/massa_models/types/struct.SetOrDeleteSerializer.html +++ b/massa_models/types/struct.SetOrDeleteSerializer.html @@ -1,11 +1,11 @@ -SetOrDeleteSerializer in massa_models::types - Rust

    Struct massa_models::types::SetOrDeleteSerializer

    source ·
    pub struct SetOrDeleteSerializer<T: Clone, ST: Serializer<T>> {
    +SetOrDeleteSerializer in massa_models::types - Rust

    Struct massa_models::types::SetOrDeleteSerializer

    source ·
    pub struct SetOrDeleteSerializer<T: Clone, ST: Serializer<T>> {
         inner_serializer: ST,
         phantom_t: PhantomData<T>,
    -}

    Fields§

    §inner_serializer: ST§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T: Clone, ST: Serializer<T>> SetOrDeleteSerializer<T, ST>

    source

    pub fn new(inner_serializer: ST) -> Self

    Trait Implementations§

    Fields§

    §inner_serializer: ST§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T: Clone, ST: Serializer<T>> SetOrDeleteSerializer<T, ST>

    source

    pub fn new(inner_serializer: ST) -> Self

    Trait Implementations§

    source§

    impl<T: Clone, ST: Serializer<T>> Serializer<SetOrDelete<T>> for SetOrDeleteSerializer<T, ST>

    source§

    fn serialize( &self, value: &SetOrDelete<T>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, ST> Freeze for SetOrDeleteSerializer<T, ST>
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, ST> Freeze for SetOrDeleteSerializer<T, ST>
    where ST: Freeze,

    §

    impl<T, ST> RefUnwindSafe for SetOrDeleteSerializer<T, ST>

    §

    impl<T, ST> Send for SetOrDeleteSerializer<T, ST>
    where diff --git a/massa_models/types/struct.SetOrKeepDeserializer.html b/massa_models/types/struct.SetOrKeepDeserializer.html index 07ac1593d0..9d9e954786 100644 --- a/massa_models/types/struct.SetOrKeepDeserializer.html +++ b/massa_models/types/struct.SetOrKeepDeserializer.html @@ -1,10 +1,10 @@ -SetOrKeepDeserializer in massa_models::types - Rust

    Struct massa_models::types::SetOrKeepDeserializer

    source ·
    pub struct SetOrKeepDeserializer<T: Clone, DT: Deserializer<T>> {
    +SetOrKeepDeserializer in massa_models::types - Rust

    Struct massa_models::types::SetOrKeepDeserializer

    source ·
    pub struct SetOrKeepDeserializer<T: Clone, DT: Deserializer<T>> {
         inner_deserializer: DT,
         phantom_t: PhantomData<T>,
    -}

    Fields§

    §inner_deserializer: DT§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T: Clone, DT: Deserializer<T>> SetOrKeepDeserializer<T, DT>

    source

    pub fn new(inner_deserializer: DT) -> Self

    Trait Implementations§

    source§

    impl<T: Clone, DT: Deserializer<T>> Deserializer<SetOrKeep<T>> for SetOrKeepDeserializer<T, DT>

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +}

    Fields§

    §inner_deserializer: DT§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T: Clone, DT: Deserializer<T>> SetOrKeepDeserializer<T, DT>

    source

    pub fn new(inner_deserializer: DT) -> Self

    Trait Implementations§

    source§

    impl<T: Clone, DT: Deserializer<T>> Deserializer<SetOrKeep<T>> for SetOrKeepDeserializer<T, DT>

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], SetOrKeep<T>, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, DT> Freeze for SetOrKeepDeserializer<T, DT>
    where +) -> IResult<&'a [u8], SetOrKeep<T>, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, DT> Freeze for SetOrKeepDeserializer<T, DT>
    where DT: Freeze,

    §

    impl<T, DT> RefUnwindSafe for SetOrKeepDeserializer<T, DT>

    §

    impl<T, DT> Send for SetOrKeepDeserializer<T, DT>
    where diff --git a/massa_models/types/struct.SetOrKeepSerializer.html b/massa_models/types/struct.SetOrKeepSerializer.html index 14e65ab19d..dec4d03f96 100644 --- a/massa_models/types/struct.SetOrKeepSerializer.html +++ b/massa_models/types/struct.SetOrKeepSerializer.html @@ -1,11 +1,11 @@ -SetOrKeepSerializer in massa_models::types - Rust

    Struct massa_models::types::SetOrKeepSerializer

    source ·
    pub struct SetOrKeepSerializer<T: Clone, ST: Serializer<T>> {
    +SetOrKeepSerializer in massa_models::types - Rust

    Struct massa_models::types::SetOrKeepSerializer

    source ·
    pub struct SetOrKeepSerializer<T: Clone, ST: Serializer<T>> {
         inner_serializer: ST,
         phantom_t: PhantomData<T>,
    -}

    Fields§

    §inner_serializer: ST§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T: Clone, ST: Serializer<T>> SetOrKeepSerializer<T, ST>

    source

    pub fn new(inner_serializer: ST) -> Self

    Trait Implementations§

    Fields§

    §inner_serializer: ST§phantom_t: PhantomData<T>

    Implementations§

    source§

    impl<T: Clone, ST: Serializer<T>> SetOrKeepSerializer<T, ST>

    source

    pub fn new(inner_serializer: ST) -> Self

    Trait Implementations§

    source§

    impl<T: Clone, ST: Serializer<T>> Serializer<SetOrKeep<T>> for SetOrKeepSerializer<T, ST>

    source§

    fn serialize( &self, value: &SetOrKeep<T>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, ST> Freeze for SetOrKeepSerializer<T, ST>
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, ST> Freeze for SetOrKeepSerializer<T, ST>
    where ST: Freeze,

    §

    impl<T, ST> RefUnwindSafe for SetOrKeepSerializer<T, ST>

    §

    impl<T, ST> Send for SetOrKeepSerializer<T, ST>
    where diff --git a/massa_models/types/struct.SetUpdateOrDeleteDeserializer.html b/massa_models/types/struct.SetUpdateOrDeleteDeserializer.html index 0f6995fb17..6179af98c1 100644 --- a/massa_models/types/struct.SetUpdateOrDeleteDeserializer.html +++ b/massa_models/types/struct.SetUpdateOrDeleteDeserializer.html @@ -1,12 +1,12 @@ -SetUpdateOrDeleteDeserializer in massa_models::types - Rust
    pub struct SetUpdateOrDeleteDeserializer<T: Default + Applicable<V>, V: Applicable<V> + Clone, DT: Deserializer<T>, DV: Deserializer<V>> {
    +SetUpdateOrDeleteDeserializer in massa_models::types - Rust
    pub struct SetUpdateOrDeleteDeserializer<T: Default + Applicable<V>, V: Applicable<V> + Clone, DT: Deserializer<T>, DV: Deserializer<V>> {
         inner_deserializer_set: DT,
         inner_deserializer_update: DV,
         phantom_t: PhantomData<T>,
         phantom_v: PhantomData<V>,
    -}

    Fields§

    §inner_deserializer_set: DT§inner_deserializer_update: DV§phantom_t: PhantomData<T>§phantom_v: PhantomData<V>

    Implementations§

    source§

    impl<T: Default + Applicable<V>, V: Applicable<V> + Clone, DT: Deserializer<T>, DV: Deserializer<V>> SetUpdateOrDeleteDeserializer<T, V, DT, DV>

    source

    pub fn new(inner_deserializer_set: DT, inner_deserializer_update: DV) -> Self

    Trait Implementations§

    source§

    impl<T: Default + Applicable<V>, V: Applicable<V> + Clone, DT: Deserializer<T>, DV: Deserializer<V>> Deserializer<SetUpdateOrDelete<T, V>> for SetUpdateOrDeleteDeserializer<T, V, DT, DV>

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +}

    Fields§

    §inner_deserializer_set: DT§inner_deserializer_update: DV§phantom_t: PhantomData<T>§phantom_v: PhantomData<V>

    Implementations§

    source§

    impl<T: Default + Applicable<V>, V: Applicable<V> + Clone, DT: Deserializer<T>, DV: Deserializer<V>> SetUpdateOrDeleteDeserializer<T, V, DT, DV>

    source

    pub fn new(inner_deserializer_set: DT, inner_deserializer_update: DV) -> Self

    Trait Implementations§

    source§

    impl<T: Default + Applicable<V>, V: Applicable<V> + Clone, DT: Deserializer<T>, DV: Deserializer<V>> Deserializer<SetUpdateOrDelete<T, V>> for SetUpdateOrDeleteDeserializer<T, V, DT, DV>

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], SetUpdateOrDelete<T, V>, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, V, DT, DV> Freeze for SetUpdateOrDeleteDeserializer<T, V, DT, DV>
    where +) -> IResult<&'a [u8], SetUpdateOrDelete<T, V>, E>

    Deserialize a value T from a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, V, DT, DV> Freeze for SetUpdateOrDeleteDeserializer<T, V, DT, DV>
    where DT: Freeze, DV: Freeze,

    §

    impl<T, V, DT, DV> RefUnwindSafe for SetUpdateOrDeleteDeserializer<T, V, DT, DV>
    where DT: RefUnwindSafe, diff --git a/massa_models/types/struct.SetUpdateOrDeleteSerializer.html b/massa_models/types/struct.SetUpdateOrDeleteSerializer.html index 6ea53a981d..f237389aa2 100644 --- a/massa_models/types/struct.SetUpdateOrDeleteSerializer.html +++ b/massa_models/types/struct.SetUpdateOrDeleteSerializer.html @@ -1,13 +1,13 @@ -SetUpdateOrDeleteSerializer in massa_models::types - Rust

    Struct massa_models::types::SetUpdateOrDeleteSerializer

    source ·
    pub struct SetUpdateOrDeleteSerializer<T: Default + Applicable<V>, V: Applicable<V> + Clone, ST: Serializer<T>, SV: Serializer<V>> {
    +SetUpdateOrDeleteSerializer in massa_models::types - Rust

    Struct massa_models::types::SetUpdateOrDeleteSerializer

    source ·
    pub struct SetUpdateOrDeleteSerializer<T: Default + Applicable<V>, V: Applicable<V> + Clone, ST: Serializer<T>, SV: Serializer<V>> {
         inner_serializer_set: ST,
         inner_serializer_update: SV,
         phantom_t: PhantomData<T>,
         phantom_v: PhantomData<V>,
    -}

    Fields§

    §inner_serializer_set: ST§inner_serializer_update: SV§phantom_t: PhantomData<T>§phantom_v: PhantomData<V>

    Implementations§

    source§

    impl<T: Default + Applicable<V>, V: Applicable<V> + Clone, ST: Serializer<T>, SV: Serializer<V>> SetUpdateOrDeleteSerializer<T, V, ST, SV>

    source

    pub fn new(inner_serializer_set: ST, inner_serializer_update: SV) -> Self

    Trait Implementations§

    Fields§

    §inner_serializer_set: ST§inner_serializer_update: SV§phantom_t: PhantomData<T>§phantom_v: PhantomData<V>

    Implementations§

    source§

    impl<T: Default + Applicable<V>, V: Applicable<V> + Clone, ST: Serializer<T>, SV: Serializer<V>> SetUpdateOrDeleteSerializer<T, V, ST, SV>

    source

    pub fn new(inner_serializer_set: ST, inner_serializer_update: SV) -> Self

    Trait Implementations§

    source§

    impl<T: Default + Applicable<V>, V: Applicable<V> + Clone, ST: Serializer<T>, SV: Serializer<V>> Serializer<SetUpdateOrDelete<T, V>> for SetUpdateOrDeleteSerializer<T, V, ST, SV>

    source§

    fn serialize( &self, value: &SetUpdateOrDelete<T, V>, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, V, ST, SV> Freeze for SetUpdateOrDeleteSerializer<T, V, ST, SV>
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    Auto Trait Implementations§

    §

    impl<T, V, ST, SV> Freeze for SetUpdateOrDeleteSerializer<T, V, ST, SV>
    where ST: Freeze, SV: Freeze,

    §

    impl<T, V, ST, SV> RefUnwindSafe for SetUpdateOrDeleteSerializer<T, V, ST, SV>
    where ST: RefUnwindSafe, diff --git a/massa_models/version/struct.Version.html b/massa_models/version/struct.Version.html index 6cfe512087..4a5978c38f 100644 --- a/massa_models/version/struct.Version.html +++ b/massa_models/version/struct.Version.html @@ -6,7 +6,7 @@

    Fields§

    §instance: [char; 4]

    ASCII uppercase alpha

    §major: u32§minor: u32

    Implementations§

    source§

    impl Version

    source

    pub fn is_compatible(&self, other: &Version) -> bool

    true if instance and major are the same

    Trait Implementations§

    source§

    impl Clone for Version

    source§

    fn clone(&self) -> Version

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Version

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Version

    source§

    fn deserialize<D>(deserializer: D) -> Result<Version, D::Error>
    where - D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Version> for VersionDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( + D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<Version> for VersionDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Version, E>

    @@ -29,11 +29,11 @@
    source§

    impl FromStr for Version

    §

    type Err = ModelsError

    The associated error which can be returned from parsing.
    source§

    fn from_str(str_version: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl PartialEq for Version

    source§

    fn eq(&self, other: &Version) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl Serialize for Version

    source§

    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where - S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Version> for VersionSerializer

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<Version> for VersionSerializer

    source§

    fn serialize( &self, value: &Version, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    +) -> Result<(), SerializeError>

    use std::ops::Bound::Included;
     use std::str::FromStr;
     use massa_serialization::Serializer;
    diff --git a/massa_models/version/struct.VersionDeserializer.html b/massa_models/version/struct.VersionDeserializer.html
    index e5ebf03ab4..8e861aacef 100644
    --- a/massa_models/version/struct.VersionDeserializer.html
    +++ b/massa_models/version/struct.VersionDeserializer.html
    @@ -1,8 +1,8 @@
     VersionDeserializer in massa_models::version - Rust

    Struct massa_models::version::VersionDeserializer

    source ·
    pub struct VersionDeserializer {
    -    u32_deserializer: U32VarIntDeserializer,
    +    u32_deserializer: U32VarIntDeserializer,
     }
    Expand description

    Serializer for Version

    -

    Fields§

    §u32_deserializer: U32VarIntDeserializer

    Implementations§

    source§

    impl VersionDeserializer

    source

    pub const fn new() -> Self

    Creates a VersionSerializer

    -

    Trait Implementations§

    source§

    impl Clone for VersionDeserializer

    source§

    fn clone(&self) -> VersionDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for VersionDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<Version> for VersionDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §u32_deserializer: U32VarIntDeserializer

    Implementations§

    source§

    impl VersionDeserializer

    source

    pub const fn new() -> Self

    Creates a VersionSerializer

    +

    Trait Implementations§

    source§

    impl Clone for VersionDeserializer

    source§

    fn clone(&self) -> VersionDeserializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for VersionDeserializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<Version> for VersionDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Version, E>

    diff --git a/massa_models/version/struct.VersionSerializer.html b/massa_models/version/struct.VersionSerializer.html index 567bbbbee4..f5de1c7dd4 100644 --- a/massa_models/version/struct.VersionSerializer.html +++ b/massa_models/version/struct.VersionSerializer.html @@ -1,12 +1,12 @@ VersionSerializer in massa_models::version - Rust

    Struct massa_models::version::VersionSerializer

    source ·
    pub struct VersionSerializer {
    -    u32_serializer: U32VarIntSerializer,
    +    u32_serializer: U32VarIntSerializer,
     }
    Expand description

    Serializer for Version

    -

    Fields§

    §u32_serializer: U32VarIntSerializer

    Implementations§

    source§

    impl VersionSerializer

    source

    pub const fn new() -> Self

    Creates a VersionSerializer

    -

    Trait Implementations§

    source§

    impl Clone for VersionSerializer

    source§

    fn clone(&self) -> VersionSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for VersionSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Version> for VersionSerializer

    Fields§

    §u32_serializer: U32VarIntSerializer

    Implementations§

    source§

    impl VersionSerializer

    source

    pub const fn new() -> Self

    Creates a VersionSerializer

    +

    Trait Implementations§

    source§

    impl Clone for VersionSerializer

    source§

    fn clone(&self) -> VersionSerializer

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for VersionSerializer

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Serializer<Version> for VersionSerializer

    source§

    fn serialize( &self, value: &Version, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    +) -> Result<(), SerializeError>

    use std::ops::Bound::Included;
     use std::str::FromStr;
     use massa_serialization::Serializer;
    diff --git a/massa_module_cache/controller/index.html b/massa_module_cache/controller/index.html
    index 5ffe8e3049..8e999697ec 100644
    --- a/massa_module_cache/controller/index.html
    +++ b/massa_module_cache/controller/index.html
    @@ -1 +1 @@
    -massa_module_cache::controller - Rust

    Module massa_module_cache::controller

    source ·

    Structs§

    • Cache controller of compiled runtime modules

    Type Aliases§

    \ No newline at end of file +massa_module_cache::controller - Rust

    Module massa_module_cache::controller

    source ·

    Structs§

    • Cache controller of compiled runtime modules

    Type Aliases§

    \ No newline at end of file diff --git a/massa_module_cache/controller/struct.ModuleCache.html b/massa_module_cache/controller/struct.ModuleCache.html index fa1da4f747..f1a233dd37 100644 --- a/massa_module_cache/controller/struct.ModuleCache.html +++ b/massa_module_cache/controller/struct.ModuleCache.html @@ -9,29 +9,40 @@ See LRUCache documentation for more information.

    §hd_cache: HDCache

    Disk stored cache. See the HDCache documentation for more information.

    -

    Implementations§

    source§

    impl ModuleCache

    source

    pub fn new(cfg: ModuleCacheConfig) -> Self

    Creates a new ModuleCache

    -
    source

    fn compile_cached(&mut self, bytecode: &[u8], hash: Hash) -> ModuleInfo

    Internal function to compile and build ModuleInfo

    -
    source

    pub fn save_module(&mut self, bytecode: &[u8])

    Save a new or an already existing module in the cache

    -
    source

    pub fn set_init_cost(&mut self, bytecode: &[u8], init_cost: u64)

    Set the initialization cost of a cached module

    -
    source

    pub fn set_invalid(&mut self, bytecode: &[u8], err_msg: String)

    Set a cached module as invalid

    -
    source

    fn load_module_info(&mut self, bytecode: &[u8]) -> ModuleInfo

    Load a cached module for execution

    +

    Implementations§

    source§

    impl ModuleCache

    source

    pub fn new(cfg: ModuleCacheConfig) -> Self

    Creates a new ModuleCache

    +
    source

    fn compile_cached( + &mut self, + bytecode: &[u8], + hash: Hash, + condom_limits: CondomLimits, +) -> ModuleInfo

    Internal function to compile and build ModuleInfo

    +
    source

    pub fn save_module(&mut self, bytecode: &[u8], condom_limits: CondomLimits)

    Save a new or an already existing module in the cache

    +
    source

    pub fn set_init_cost(&mut self, bytecode: &[u8], init_cost: u64)

    Set the initialization cost of a cached module

    +
    source

    pub fn set_invalid(&mut self, bytecode: &[u8], err_msg: String)

    Set a cached module as invalid

    +
    source

    fn load_module_info( + &mut self, + bytecode: &[u8], + condom_limits: CondomLimits, +) -> ModuleInfo

    Load a cached module for execution

    Returns the module information, it can be:

    • ModuleInfo::Invalid if the module is invalid
    • ModuleInfo::Module if the module is valid and has no delta
    • ModuleInfo::ModuleAndDelta if the module is valid and has a delta
    -
    source

    pub fn load_module( +

    source

    pub fn load_module( &mut self, bytecode: &[u8], execution_gas: u64, + condom_limits: CondomLimits, ) -> Result<RuntimeModule, CacheError>

    Load a cached module for execution and check its validity for execution. Also checks that the provided execution gas is enough to pay for the instance creation cost.

    Returns the module after loading.

    -
    source

    pub fn load_tmp_module( +

    source

    pub fn load_tmp_module( &self, bytecode: &[u8], limit: u64, + condom_limits: CondomLimits, ) -> Result<RuntimeModule, CacheError>

    Load a temporary module from arbitrary bytecode. Also checks that the provided execution gas is enough to pay for the instance creation cost.

    Returns the module after compilation.

    diff --git a/massa_node/fn.configure_grpc.html b/massa_node/fn.configure_grpc.html index 8d0784abc0..51085af7e3 100644 --- a/massa_node/fn.configure_grpc.html +++ b/massa_node/fn.configure_grpc.html @@ -1,4 +1,4 @@ -configure_grpc in massa_node - Rust

    Function massa_node::configure_grpc

    source ·
    pub(crate) fn configure_grpc(
    +configure_grpc in massa_node - Rust

    Function massa_node::configure_grpc

    source ·
    pub(crate) fn configure_grpc(
         name: ServiceName,
         settings: &GrpcSettings,
         keypair: KeyPair,
    diff --git a/massa_node/fn.launch.html b/massa_node/fn.launch.html
    index 888706af15..2bc620ea4b 100644
    --- a/massa_node/fn.launch.html
    +++ b/massa_node/fn.launch.html
    @@ -1,5 +1,5 @@
    -launch in massa_node - Rust

    Function massa_node::launch

    source ·
    pub(crate) async fn launch(
    +launch in massa_node - Rust

    Function massa_node::launch

    source ·
    pub(crate) async fn launch(
         args: &Args,
         node_wallet: Arc<RwLock<Wallet>>,
         sig_int_toggled: Arc<(Mutex<bool>, Condvar)>,
    -) -> (MassaReceiver<ConsensusEvent>, Option<BootstrapManager>, Box<dyn ConsensusManager>, Box<dyn ExecutionManager>, Box<dyn SelectorManager>, Box<dyn PoolManager>, Box<dyn ProtocolManager>, Box<dyn FactoryManager>, Box<dyn EventCacheManager>, StopHandle, StopHandle, StopHandle, Option<StopHandle>, Option<StopHandle>, MetricsStopper, MassaSurveyStopper)
    \ No newline at end of file +) -> (MassaReceiver<ConsensusEvent>, Option<BootstrapManager>, Box<dyn ConsensusManager>, Box<dyn ExecutionManager>, Box<dyn SelectorManager>, Box<dyn PoolManager>, Box<dyn ProtocolManager>, Box<dyn FactoryManager>, Box<dyn EventCacheManager>, StopHandle, StopHandle, StopHandle, Option<StopHandle>, Option<StopHandle>, MetricsStopper, MassaSurveyStopper)
    \ No newline at end of file diff --git a/massa_node/fn.load_wallet.html b/massa_node/fn.load_wallet.html index de40a94d81..62a5a75e7f 100644 --- a/massa_node/fn.load_wallet.html +++ b/massa_node/fn.load_wallet.html @@ -1,4 +1,4 @@ -load_wallet in massa_node - Rust

    Function massa_node::load_wallet

    source ·
    pub(crate) fn load_wallet(
    +load_wallet in massa_node - Rust

    Function massa_node::load_wallet

    source ·
    pub(crate) fn load_wallet(
         password: Option<String>,
         path: &Path,
         chain_id: u64,
    diff --git a/massa_node/fn.main.html b/massa_node/fn.main.html
    index fe7b6f2df2..03d8dd79f1 100644
    --- a/massa_node/fn.main.html
    +++ b/massa_node/fn.main.html
    @@ -1 +1 @@
    -main in massa_node - Rust

    Function massa_node::main

    source ·
    pub(crate) fn main() -> Result<()>
    \ No newline at end of file +main in massa_node - Rust

    Function massa_node::main

    source ·
    pub(crate) fn main() -> Result<()>
    \ No newline at end of file diff --git a/massa_node/fn.run.html b/massa_node/fn.run.html index 02333a11f8..633bb92690 100644 --- a/massa_node/fn.run.html +++ b/massa_node/fn.run.html @@ -1 +1 @@ -run in massa_node - Rust

    Function massa_node::run

    source ·
    pub(crate) async fn run(args: Args) -> Result<()>
    \ No newline at end of file +run in massa_node - Rust

    Function massa_node::run

    source ·
    pub(crate) async fn run(args: Args) -> Result<()>
    \ No newline at end of file diff --git a/massa_node/fn.stop.html b/massa_node/fn.stop.html index 98f15a0f4d..91a33cc47e 100644 --- a/massa_node/fn.stop.html +++ b/massa_node/fn.stop.html @@ -1,9 +1,9 @@ -stop in massa_node - Rust

    Function massa_node::stop

    source ·
    pub(crate) async fn stop(
    +stop in massa_node - Rust

    Function massa_node::stop

    source ·
    pub(crate) async fn stop(
         _consensus_event_receiver: MassaReceiver<ConsensusEvent>,
         __arg1: Managers,
    -    api_private_handle: StopHandle,
    -    api_public_handle: StopHandle,
    -    api_handle: StopHandle,
    +    api_private_handle: StopHandle,
    +    api_public_handle: StopHandle,
    +    api_handle: StopHandle,
         grpc_private_handle: Option<StopHandle>,
         grpc_public_handle: Option<StopHandle>,
         metrics_stopper: MetricsStopper,
    diff --git a/massa_node/index.html b/massa_node/index.html
    index bb38bb3877..90c881e3dc 100644
    --- a/massa_node/index.html
    +++ b/massa_node/index.html
    @@ -1,4 +1,4 @@
    -massa_node - Rust

    Crate massa_node

    source ·
    Expand description

    +massa_node - Rust

    Crate massa_node

    source ·
    Expand description

    diff --git a/massa_node/struct.Args.html b/massa_node/struct.Args.html index 7f7798d325..37058ad6c8 100644 --- a/massa_node/struct.Args.html +++ b/massa_node/struct.Args.html @@ -1,20 +1,20 @@ -Args in massa_node - Rust

    Struct massa_node::Args

    source ·
    pub(crate) struct Args {
    +Args in massa_node - Rust

    Struct massa_node::Args

    source ·
    pub(crate) struct Args {
         pub(crate) keep_ledger: bool,
         pub(crate) password: Option<String>,
         pub(crate) restart_from_snapshot_at_period: Option<u64>,
     }

    Fields§

    §keep_ledger: bool§password: Option<String>

    Wallet password

    §restart_from_snapshot_at_period: Option<u64>

    restart_from_snapshot_at_period

    -

    Trait Implementations§

    source§

    impl Args for Args

    source§

    fn group_id() -> Option<Id>

    Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
    source§

    fn augment_args<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can instantiate Self via -[FromArgMatches::from_arg_matches_mut] Read more
    source§

    fn augment_args_for_update<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can instantiate self via -[FromArgMatches::update_from_arg_matches_mut] Read more
    source§

    impl CommandFactory for Args

    source§

    fn command<'b>() -> Command

    Build a [Command] that can instantiate Self. Read more
    source§

    fn command_for_update<'b>() -> Command

    Build a [Command] that can update self. Read more
    source§

    impl FromArgMatches for Args

    source§

    fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn from_arg_matches_mut( +

    Trait Implementations§

    source§

    impl Args for Args

    source§

    fn group_id() -> Option<Id>

    Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
    source§

    fn augment_args<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can instantiate Self via +[FromArgMatches::from_arg_matches_mut] Read more
    source§

    fn augment_args_for_update<'b>(__clap_app: Command) -> Command

    Append to [Command] so it can instantiate self via +[FromArgMatches::update_from_arg_matches_mut] Read more
    source§

    impl CommandFactory for Args

    source§

    fn command<'b>() -> Command

    Build a [Command] that can instantiate Self. Read more
    source§

    fn command_for_update<'b>() -> Command

    Build a [Command] that can update self. Read more
    source§

    impl FromArgMatches for Args

    source§

    fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, -) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn update_from_arg_matches( +) -> Result<Self, Error>

    Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
    source§

    fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, -) -> Result<(), Error>

    Assign values from ArgMatches to self.
    source§

    fn update_from_arg_matches_mut( +) -> Result<(), Error>

    Assign values from ArgMatches to self.
    source§

    fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, -) -> Result<(), Error>

    Assign values from ArgMatches to self.
    source§

    impl Parser for Args

    §

    fn parse() -> Self

    Parse from std::env::args_os(), [exit][Error::exit] on error.
    §

    fn try_parse() -> Result<Self, Error>

    Parse from std::env::args_os(), return Err on error.
    §

    fn parse_from<I, T>(itr: I) -> Self
    where +) -> Result<(), Error>

    Assign values from ArgMatches to self.
    source§

    impl Parser for Args

    §

    fn parse() -> Self

    Parse from std::env::args_os(), [exit][Error::exit] on error.
    §

    fn try_parse() -> Result<Self, Error>

    Parse from std::env::args_os(), return Err on error.
    §

    fn parse_from<I, T>(itr: I) -> Self
    where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

    Parse from iterator, [exit][Error::exit] on error.
    §

    fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
    where I: IntoIterator<Item = T>, diff --git a/massa_node/struct.Managers.html b/massa_node/struct.Managers.html index f8eeb14f75..3ccf38672a 100644 --- a/massa_node/struct.Managers.html +++ b/massa_node/struct.Managers.html @@ -1,4 +1,4 @@ -Managers in massa_node - Rust

    Struct massa_node::Managers

    source ·
    pub(crate) struct Managers {
    +Managers in massa_node - Rust

    Struct massa_node::Managers

    source ·
    pub(crate) struct Managers {
         pub(crate) bootstrap_manager: Option<BootstrapManager>,
         pub(crate) consensus_manager: Box<dyn ConsensusManager>,
         pub(crate) execution_manager: Box<dyn ExecutionManager>,
    diff --git a/massa_versioning/mips/fn.get_mip_list.html b/massa_versioning/mips/fn.get_mip_list.html
    index e53b7f5a8e..46d681795d 100644
    --- a/massa_versioning/mips/fn.get_mip_list.html
    +++ b/massa_versioning/mips/fn.get_mip_list.html
    @@ -1 +1 @@
    -get_mip_list in massa_versioning::mips - Rust

    Function massa_versioning::mips::get_mip_list

    source ·
    pub fn get_mip_list() -> [(MipInfo, MipState); 0]
    \ No newline at end of file +get_mip_list in massa_versioning::mips - Rust

    Function massa_versioning::mips::get_mip_list

    source ·
    pub fn get_mip_list() -> [(MipInfo, MipState); 1]
    \ No newline at end of file diff --git a/massa_versioning/mips/index.html b/massa_versioning/mips/index.html index 953b2c982a..89918e0759 100644 --- a/massa_versioning/mips/index.html +++ b/massa_versioning/mips/index.html @@ -1 +1 @@ -massa_versioning::mips - Rust

    Module massa_versioning::mips

    source ·

    Functions§

    \ No newline at end of file +massa_versioning::mips - Rust

    Module massa_versioning::mips

    source ·

    Functions§

    \ No newline at end of file diff --git a/massa_versioning/versioning/enum.ComponentState.html b/massa_versioning/versioning/enum.ComponentState.html index 508ee8bc3b..d82b1cb6ea 100644 --- a/massa_versioning/versioning/enum.ComponentState.html +++ b/massa_versioning/versioning/enum.ComponentState.html @@ -1,4 +1,4 @@ -ComponentState in massa_versioning::versioning - Rust

    Enum massa_versioning::versioning::ComponentState

    source ·
    pub enum ComponentState {
    +ComponentState in massa_versioning::versioning - Rust

    Enum massa_versioning::versioning::ComponentState

    source ·
    pub enum ComponentState {
         Error,
         Defined(Defined),
         Started(Started),
    @@ -6,16 +6,16 @@
         Active(Active),
         Failed(Failed),
     }
    Expand description

    State machine for a Versioning component that tracks the deployment state

    -

    Variants§

    §

    Error

    §

    Defined(Defined)

    §

    Started(Started)

    §

    LockedIn(LockedIn)

    §

    Active(Active)

    §

    Failed(Failed)

    Implementations§

    Trait Implementations§

    source§

    impl Clone for ComponentState

    source§

    fn clone(&self) -> ComponentState

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ComponentState

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for ComponentState

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<ComponentState> for ComponentStateDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Variants§

    §

    Error

    §

    Defined(Defined)

    §

    Started(Started)

    §

    LockedIn(LockedIn)

    §

    Active(Active)

    §

    Failed(Failed)

    Implementations§

    Trait Implementations§

    source§

    impl Clone for ComponentState

    source§

    fn clone(&self) -> ComponentState

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ComponentState

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for ComponentState

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl Deserializer<ComponentState> for ComponentStateDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], ComponentState, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&ComponentState> for ComponentStateTypeId

    source§

    fn from(value: &ComponentState) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for ComponentState

    source§

    fn eq(&self, other: &ComponentState) -> bool

    This method tests for self and other values to be equal, and is used +) -> IResult<&'a [u8], ComponentState, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&ComponentState> for ComponentStateTypeId

    source§

    fn from(value: &ComponentState) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for ComponentState

    source§

    fn eq(&self, other: &ComponentState) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl Serializer<ComponentState> for ComponentStateSerializer

    source§

    fn serialize( &self, value: &ComponentState, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Copy for ComponentState

    source§

    impl StructuralPartialEq for ComponentState

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Copy for ComponentState

    source§

    impl StructuralPartialEq for ComponentState

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_versioning/versioning/enum.ComponentStateMessages.html b/massa_versioning/versioning/enum.ComponentStateMessages.html index cedb49492b..c68ad47f89 100644 --- a/massa_versioning/versioning/enum.ComponentStateMessages.html +++ b/massa_versioning/versioning/enum.ComponentStateMessages.html @@ -1,8 +1,8 @@ -ComponentStateMessages in massa_versioning::versioning - Rust
    pub enum ComponentStateMessages {
    +ComponentStateMessages in massa_versioning::versioning - Rust
    pub enum ComponentStateMessages {
         Advance(Advance),
    -}

    Variants§

    §

    Advance(Advance)

    Trait Implementations§

    source§

    impl Clone for ComponentStateMessages

    source§

    fn clone(&self) -> ComponentStateMessages

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ComponentStateMessages

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for ComponentStateMessages

    source§

    fn eq(&self, other: &ComponentStateMessages) -> bool

    This method tests for self and other values to be equal, and is used +}

    Variants§

    §

    Advance(Advance)

    Trait Implementations§

    source§

    impl Clone for ComponentStateMessages

    source§

    fn clone(&self) -> ComponentStateMessages

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ComponentStateMessages

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for ComponentStateMessages

    source§

    fn eq(&self, other: &ComponentStateMessages) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl StructuralPartialEq for ComponentStateMessages

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl StructuralPartialEq for ComponentStateMessages

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_versioning/versioning/enum.ComponentStateTypeId.html b/massa_versioning/versioning/enum.ComponentStateTypeId.html index f99114e18d..fba9dc1641 100644 --- a/massa_versioning/versioning/enum.ComponentStateTypeId.html +++ b/massa_versioning/versioning/enum.ComponentStateTypeId.html @@ -1,20 +1,20 @@ -ComponentStateTypeId in massa_versioning::versioning - Rust
    #[repr(u32)]
    pub enum ComponentStateTypeId { +ComponentStateTypeId in massa_versioning::versioning - Rust
    #[repr(u32)]
    pub enum ComponentStateTypeId { Error = 0, Defined = 1, Started = 2, LockedIn = 3, Active = 4, Failed = 5, -}

    Variants§

    §

    Error = 0

    §

    Defined = 1

    §

    Started = 2

    §

    LockedIn = 3

    §

    Active = 4

    §

    Failed = 5

    Implementations§

    Trait Implementations§

    source§

    impl Clone for ComponentStateTypeId

    source§

    fn clone(&self) -> ComponentStateTypeId

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ComponentStateTypeId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<&ComponentState> for ComponentStateTypeId

    source§

    fn from(value: &ComponentState) -> Self

    Converts to this type from the input type.
    source§

    impl From<&ComponentStateTypeId> for ComponentStateId

    source§

    fn from(value: &ComponentStateTypeId) -> Self

    Converts to this type from the input type.
    source§

    impl From<ComponentStateTypeId> for u32

    source§

    fn from(enum_value: ComponentStateTypeId) -> Self

    Converts to this type from the input type.
    source§

    impl Ord for ComponentStateTypeId

    source§

    fn cmp(&self, other: &ComponentStateTypeId) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where +}

    Variants§

    §

    Error = 0

    §

    Defined = 1

    §

    Started = 2

    §

    LockedIn = 3

    §

    Active = 4

    §

    Failed = 5

    Implementations§

    Trait Implementations§

    source§

    impl Clone for ComponentStateTypeId

    source§

    fn clone(&self) -> ComponentStateTypeId

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ComponentStateTypeId

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<&ComponentState> for ComponentStateTypeId

    source§

    fn from(value: &ComponentState) -> Self

    Converts to this type from the input type.
    source§

    impl From<&ComponentStateTypeId> for ComponentStateId

    source§

    fn from(value: &ComponentStateTypeId) -> Self

    Converts to this type from the input type.
    source§

    impl From<ComponentStateTypeId> for u32

    source§

    fn from(enum_value: ComponentStateTypeId) -> Self

    Converts to this type from the input type.
    source§

    impl Ord for ComponentStateTypeId

    source§

    fn cmp(&self, other: &ComponentStateTypeId) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where - Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for ComponentStateTypeId

    source§

    fn eq(&self, other: &ComponentStateTypeId) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for ComponentStateTypeId

    source§

    fn eq(&self, other: &ComponentStateTypeId) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl PartialOrd for ComponentStateTypeId

    source§

    fn partial_cmp(&self, other: &ComponentStateTypeId) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for ComponentStateTypeId

    source§

    fn partial_cmp(&self, other: &ComponentStateTypeId) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl TryFrom<u32> for ComponentStateTypeId

    §

    type Error = TryFromPrimitiveError<ComponentStateTypeId>

    The type returned in the event of a conversion error.
    source§

    fn try_from(number: u32) -> Result<Self, TryFromPrimitiveError<Self>>

    Performs the conversion.
    source§

    impl TryFromPrimitive for ComponentStateTypeId

    §

    type Primitive = u32

    §

    type Error = TryFromPrimitiveError<ComponentStateTypeId>

    source§

    const NAME: &'static str = "ComponentStateTypeId"

    source§

    fn try_from_primitive( +operator. Read more

    source§

    impl TryFrom<u32> for ComponentStateTypeId

    §

    type Error = TryFromPrimitiveError<ComponentStateTypeId>

    The type returned in the event of a conversion error.
    source§

    fn try_from(number: u32) -> Result<Self, TryFromPrimitiveError<Self>>

    Performs the conversion.
    source§

    impl TryFromPrimitive for ComponentStateTypeId

    §

    type Primitive = u32

    §

    type Error = TryFromPrimitiveError<ComponentStateTypeId>

    source§

    const NAME: &'static str = "ComponentStateTypeId"

    source§

    fn try_from_primitive( number: Self::Primitive, -) -> Result<Self, TryFromPrimitiveError<Self>>

    source§

    impl Eq for ComponentStateTypeId

    source§

    impl StructuralPartialEq for ComponentStateTypeId

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<Self, TryFromPrimitiveError<Self>>

    source§

    impl Eq for ComponentStateTypeId

    source§

    impl StructuralPartialEq for ComponentStateTypeId

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_versioning/versioning/enum.ExtendFromDbError.html b/massa_versioning/versioning/enum.ExtendFromDbError.html index 63fd393f37..dd01a2efdc 100644 --- a/massa_versioning/versioning/enum.ExtendFromDbError.html +++ b/massa_versioning/versioning/enum.ExtendFromDbError.html @@ -1,9 +1,9 @@ -ExtendFromDbError in massa_versioning::versioning - Rust
    pub enum ExtendFromDbError {
    +ExtendFromDbError in massa_versioning::versioning - Rust
    pub enum ExtendFromDbError {
         UnknownDbColumn(String),
         Update(UpdateWithError),
         Deserialize(String),
     }
    Expand description

    Error returned by ’extend_from_db`

    -

    Variants§

    §

    UnknownDbColumn(String)

    §

    Update(UpdateWithError)

    §

    Deserialize(String)

    Trait Implementations§

    source§

    impl Debug for ExtendFromDbError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for ExtendFromDbError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for ExtendFromDbError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<UpdateWithError> for ExtendFromDbError

    source§

    fn from(source: UpdateWithError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Variants§

    §

    UnknownDbColumn(String)

    §

    Update(UpdateWithError)

    §

    Deserialize(String)

    Trait Implementations§

    source§

    impl Debug for ExtendFromDbError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for ExtendFromDbError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for ExtendFromDbError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<UpdateWithError> for ExtendFromDbError

    source§

    fn from(source: UpdateWithError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_versioning/versioning/enum.IsConsistentError.html b/massa_versioning/versioning/enum.IsConsistentError.html index f158a584d7..371992821f 100644 --- a/massa_versioning/versioning/enum.IsConsistentError.html +++ b/massa_versioning/versioning/enum.IsConsistentError.html @@ -1,13 +1,13 @@ -IsConsistentError in massa_versioning::versioning - Rust
    pub enum IsConsistentError {
    +IsConsistentError in massa_versioning::versioning - Rust
    pub enum IsConsistentError {
         EmptyHistory,
         AtError,
         InvalidHistory(ComponentStateTypeId),
         NonConsistent(ComponentState, ComponentState),
         Invalid,
     }
    Expand description

    Error returned by MipState::is_consistent_with

    -

    Variants§

    §

    EmptyHistory

    §

    AtError

    §

    InvalidHistory(ComponentStateTypeId)

    §

    NonConsistent(ComponentState, ComponentState)

    §

    Invalid

    Trait Implementations§

    source§

    impl Debug for IsConsistentError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for IsConsistentError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for IsConsistentError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl PartialEq for IsConsistentError

    source§

    fn eq(&self, other: &IsConsistentError) -> bool

    This method tests for self and other values to be equal, and is used +

    Variants§

    §

    EmptyHistory

    §

    AtError

    §

    InvalidHistory(ComponentStateTypeId)

    §

    NonConsistent(ComponentState, ComponentState)

    §

    Invalid

    Trait Implementations§

    source§

    impl Debug for IsConsistentError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for IsConsistentError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for IsConsistentError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl PartialEq for IsConsistentError

    source§

    fn eq(&self, other: &IsConsistentError) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl StructuralPartialEq for IsConsistentError

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl StructuralPartialEq for IsConsistentError

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_versioning/versioning/enum.IsConsistentWithShutdownPeriodError.html b/massa_versioning/versioning/enum.IsConsistentWithShutdownPeriodError.html index 5351c91256..6fd7c1f0f3 100644 --- a/massa_versioning/versioning/enum.IsConsistentWithShutdownPeriodError.html +++ b/massa_versioning/versioning/enum.IsConsistentWithShutdownPeriodError.html @@ -1,8 +1,8 @@ -IsConsistentWithShutdownPeriodError in massa_versioning::versioning - Rust
    pub enum IsConsistentWithShutdownPeriodError {
    +IsConsistentWithShutdownPeriodError in massa_versioning::versioning - Rust
    pub enum IsConsistentWithShutdownPeriodError {
         Update(ModelsError),
         NonConsistent(MipInfo, ComponentState, MassaTime, MassaTime),
     }
    Expand description

    Error returned by ’is_consistent_with_shutdown_period`

    -

    Variants§

    §

    Update(ModelsError)

    §

    NonConsistent(MipInfo, ComponentState, MassaTime, MassaTime)

    Trait Implementations§

    source§

    impl Debug for IsConsistentWithShutdownPeriodError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for IsConsistentWithShutdownPeriodError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for IsConsistentWithShutdownPeriodError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<ModelsError> for IsConsistentWithShutdownPeriodError

    source§

    fn from(source: ModelsError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Variants§

    §

    Update(ModelsError)

    §

    NonConsistent(MipInfo, ComponentState, MassaTime, MassaTime)

    Trait Implementations§

    source§

    impl Debug for IsConsistentWithShutdownPeriodError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for IsConsistentWithShutdownPeriodError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for IsConsistentWithShutdownPeriodError

    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<ModelsError> for IsConsistentWithShutdownPeriodError

    source§

    fn from(source: ModelsError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_versioning/versioning/enum.IsKVValidError.html b/massa_versioning/versioning/enum.IsKVValidError.html index 0b17c31455..649c1ccfbd 100644 --- a/massa_versioning/versioning/enum.IsKVValidError.html +++ b/massa_versioning/versioning/enum.IsKVValidError.html @@ -1,7 +1,7 @@ -IsKVValidError in massa_versioning::versioning - Rust

    Enum massa_versioning::versioning::IsKVValidError

    source ·
    pub enum IsKVValidError {
    +IsKVValidError in massa_versioning::versioning - Rust

    Enum massa_versioning::versioning::IsKVValidError

    source ·
    pub enum IsKVValidError {
         Deserialize(String),
         InvalidPrefix,
    -}

    Variants§

    §

    Deserialize(String)

    §

    InvalidPrefix

    Trait Implementations§

    source§

    impl Debug for IsKVValidError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for IsKVValidError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for IsKVValidError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +}

    Variants§

    §

    Deserialize(String)

    §

    InvalidPrefix

    Trait Implementations§

    source§

    impl Debug for IsKVValidError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for IsKVValidError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for IsKVValidError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_versioning/versioning/enum.MipComponent.html b/massa_versioning/versioning/enum.MipComponent.html index f01acf9880..04c66c3bbd 100644 --- a/massa_versioning/versioning/enum.MipComponent.html +++ b/massa_versioning/versioning/enum.MipComponent.html @@ -1,12 +1,14 @@ -MipComponent in massa_versioning::versioning - Rust

    Enum massa_versioning::versioning::MipComponent

    source ·
    #[repr(u32)]
    pub enum MipComponent { +MipComponent in massa_versioning::versioning - Rust

    Enum massa_versioning::versioning::MipComponent

    source ·
    #[repr(u32)]
    pub enum MipComponent { Address, KeyPair, Block, VM, FinalStateHashKind, + Execution, + FinalState, // some variants omitted }
    Expand description

    Versioning component enum

    -

    Variants§

    §

    Address

    §

    KeyPair

    §

    Block

    §

    VM

    §

    FinalStateHashKind

    Implementations§

    Trait Implementations§

    source§

    impl Clone for MipComponent

    source§

    fn clone(&self) -> MipComponent

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MipComponent

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<&MipComponent> for MipComponent

    source§

    fn from(value: &MipComponent) -> Self

    Converts to this type from the input type.
    source§

    impl From<MipComponent> for u32

    source§

    fn from(enum_value: MipComponent) -> Self

    Converts to this type from the input type.
    source§

    impl From<u32> for MipComponent

    source§

    fn from(number: u32) -> Self

    Converts to this type from the input type.
    source§

    impl FromPrimitive for MipComponent

    §

    type Primitive = u32

    source§

    fn from_primitive(number: Self::Primitive) -> Self

    source§

    impl Hash for MipComponent

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where +

    Variants§

    §

    Address

    §

    KeyPair

    §

    Block

    §

    VM

    §

    FinalStateHashKind

    §

    Execution

    §

    FinalState

    Implementations§

    Trait Implementations§

    source§

    impl Clone for MipComponent

    source§

    fn clone(&self) -> MipComponent

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MipComponent

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<&MipComponent> for MipComponent

    source§

    fn from(value: &MipComponent) -> Self

    Converts to this type from the input type.
    source§

    impl From<MipComponent> for u32

    source§

    fn from(enum_value: MipComponent) -> Self

    Converts to this type from the input type.
    source§

    impl From<u32> for MipComponent

    source§

    fn from(number: u32) -> Self

    Converts to this type from the input type.
    source§

    impl FromPrimitive for MipComponent

    §

    type Primitive = u32

    source§

    fn from_primitive(number: Self::Primitive) -> Self

    source§

    impl Hash for MipComponent

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for MipComponent

    source§

    fn cmp(&self, other: &MipComponent) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where diff --git a/massa_versioning/versioning/enum.StateAtError.html b/massa_versioning/versioning/enum.StateAtError.html index c96310792b..439233e957 100644 --- a/massa_versioning/versioning/enum.StateAtError.html +++ b/massa_versioning/versioning/enum.StateAtError.html @@ -1,11 +1,11 @@ -StateAtError in massa_versioning::versioning - Rust

    Enum massa_versioning::versioning::StateAtError

    source ·
    pub enum StateAtError {
    +StateAtError in massa_versioning::versioning - Rust

    Enum massa_versioning::versioning::StateAtError

    source ·
    pub enum StateAtError {
         BeforeInitialState(ComponentStateTypeId, MassaTime),
         EmptyHistory,
         Unpredictable,
     }
    Expand description

    Error returned by MipStateHistory::state_at

    -

    Variants§

    §

    BeforeInitialState(ComponentStateTypeId, MassaTime)

    §

    EmptyHistory

    §

    Unpredictable

    Trait Implementations§

    source§

    impl Debug for StateAtError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for StateAtError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for StateAtError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl PartialEq for StateAtError

    source§

    fn eq(&self, other: &StateAtError) -> bool

    This method tests for self and other values to be equal, and is used +

    Variants§

    §

    BeforeInitialState(ComponentStateTypeId, MassaTime)

    §

    EmptyHistory

    §

    Unpredictable

    Trait Implementations§

    source§

    impl Debug for StateAtError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for StateAtError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for StateAtError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl PartialEq for StateAtError

    source§

    fn eq(&self, other: &StateAtError) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl StructuralPartialEq for StateAtError

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl StructuralPartialEq for StateAtError

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_versioning/versioning/enum.UpdateWithError.html b/massa_versioning/versioning/enum.UpdateWithError.html index b8a52045e1..a7c638598e 100644 --- a/massa_versioning/versioning/enum.UpdateWithError.html +++ b/massa_versioning/versioning/enum.UpdateWithError.html @@ -1,12 +1,12 @@ -UpdateWithError in massa_versioning::versioning - Rust

    Enum massa_versioning::versioning::UpdateWithError

    source ·
    pub enum UpdateWithError {
    +UpdateWithError in massa_versioning::versioning - Rust

    Enum massa_versioning::versioning::UpdateWithError

    source ·
    pub enum UpdateWithError {
         NonConsistent(MipInfo, MipState, IsConsistentError),
         Downgrade(MipInfo, ComponentState, ComponentState),
         Overlapping(MipInfo, MipInfo),
         InvalidActivationDelay(MipInfo, MassaTime, MassaTime),
     }
    Expand description

    Error returned by MipStoreRaw::update_with

    -

    Variants§

    §

    NonConsistent(MipInfo, MipState, IsConsistentError)

    §

    Downgrade(MipInfo, ComponentState, ComponentState)

    §

    Overlapping(MipInfo, MipInfo)

    §

    InvalidActivationDelay(MipInfo, MassaTime, MassaTime)

    Trait Implementations§

    source§

    impl Debug for UpdateWithError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for UpdateWithError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for UpdateWithError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<UpdateWithError> for ExtendFromDbError

    source§

    fn from(source: UpdateWithError) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for UpdateWithError

    source§

    fn eq(&self, other: &UpdateWithError) -> bool

    This method tests for self and other values to be equal, and is used +

    Variants§

    §

    NonConsistent(MipInfo, MipState, IsConsistentError)

    §

    Downgrade(MipInfo, ComponentState, ComponentState)

    §

    Overlapping(MipInfo, MipInfo)

    §

    InvalidActivationDelay(MipInfo, MassaTime, MassaTime)

    Trait Implementations§

    source§

    impl Debug for UpdateWithError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for UpdateWithError

    source§

    fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for UpdateWithError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<UpdateWithError> for ExtendFromDbError

    source§

    fn from(source: UpdateWithError) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for UpdateWithError

    source§

    fn eq(&self, other: &UpdateWithError) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl StructuralPartialEq for UpdateWithError

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl StructuralPartialEq for UpdateWithError

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_versioning/versioning/index.html b/massa_versioning/versioning/index.html index adb3e29a82..83fc0ccc93 100644 --- a/massa_versioning/versioning/index.html +++ b/massa_versioning/versioning/index.html @@ -1 +1 @@ -massa_versioning::versioning - Rust

    Module massa_versioning::versioning

    source ·

    Structs§

    • State machine for a Versioning component that tracks the deployment state
    • A message to update the ComponentState
    • State machine for a Versioning component that tracks the deployment state
    • State machine for a Versioning component that tracks the deployment state
    • State machine for a Versioning component that tracks the deployment state
    • MIP info (name & versions & time range for a MIP)
    • Wrapper of ComponentState (in order to keep state history)
    • Statistics in MipStoreRaw
    • Database for all MIP info
    • Store of all versioning info
    • In order for a MIP to be accepted, we compute statistics about other node ‘network’ version announcement
    • State machine for a Versioning component that tracks the deployment state

    Enums§

    \ No newline at end of file +massa_versioning::versioning - Rust

    Module massa_versioning::versioning

    source ·

    Structs§

    • State machine for a Versioning component that tracks the deployment state
    • A message to update the ComponentState
    • State machine for a Versioning component that tracks the deployment state
    • State machine for a Versioning component that tracks the deployment state
    • State machine for a Versioning component that tracks the deployment state
    • MIP info (name & versions & time range for a MIP)
    • Wrapper of ComponentState (in order to keep state history)
    • Statistics in MipStoreRaw
    • Database for all MIP info
    • Store of all versioning info
    • In order for a MIP to be accepted, we compute statistics about other node ‘network’ version announcement
    • State machine for a Versioning component that tracks the deployment state

    Enums§

    \ No newline at end of file diff --git a/massa_versioning/versioning/struct.Active.html b/massa_versioning/versioning/struct.Active.html index 9b941cedc4..5603c54aeb 100644 --- a/massa_versioning/versioning/struct.Active.html +++ b/massa_versioning/versioning/struct.Active.html @@ -1,10 +1,10 @@ -Active in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::Active

    source ·
    pub struct Active {
    +Active in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::Active

    source ·
    pub struct Active {
         pub(crate) at: MassaTime,
     }
    Expand description

    State machine for a Versioning component that tracks the deployment state

    -

    Fields§

    §at: MassaTime

    Implementations§

    source§

    impl Active

    source

    pub fn on_advance(self, _input: Advance) -> Active

    Update state (will always stay in state Active)

    -

    Trait Implementations§

    source§

    impl Clone for Active

    source§

    fn clone(&self) -> Active

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Active

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for Active

    source§

    fn eq(&self, other: &Active) -> bool

    This method tests for self and other values to be equal, and is used +

    Fields§

    §at: MassaTime

    Implementations§

    source§

    impl Active

    source

    pub fn on_advance(self, _input: Advance) -> Active

    Update state (will always stay in state Active)

    +

    Trait Implementations§

    source§

    impl Clone for Active

    source§

    fn clone(&self) -> Active

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Active

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for Active

    source§

    fn eq(&self, other: &Active) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl Copy for Active

    source§

    impl StructuralPartialEq for Active

    Auto Trait Implementations§

    §

    impl Freeze for Active

    §

    impl RefUnwindSafe for Active

    §

    impl Send for Active

    §

    impl Sync for Active

    §

    impl Unpin for Active

    §

    impl UnwindSafe for Active

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Copy for Active

    source§

    impl StructuralPartialEq for Active

    Auto Trait Implementations§

    §

    impl Freeze for Active

    §

    impl RefUnwindSafe for Active

    §

    impl Send for Active

    §

    impl Sync for Active

    §

    impl Unpin for Active

    §

    impl UnwindSafe for Active

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_versioning/versioning/struct.Advance.html b/massa_versioning/versioning/struct.Advance.html index 53de9560bd..91b282f0e3 100644 --- a/massa_versioning/versioning/struct.Advance.html +++ b/massa_versioning/versioning/struct.Advance.html @@ -1,4 +1,4 @@ -Advance in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::Advance

    source ·
    pub struct Advance {
    +Advance in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::Advance

    source ·
    pub struct Advance {
         pub start_timestamp: MassaTime,
         pub timeout: MassaTime,
         pub activation_delay: MassaTime,
    @@ -10,9 +10,9 @@
     
    §activation_delay: MassaTime

    from MipInfo.activation_delay

    §threshold: Ratio<u64>

    % of past blocks with this version

    §now: MassaTime

    Current time (timestamp)

    -

    Trait Implementations§

    source§

    impl Clone for Advance

    source§

    fn clone(&self) -> Advance

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Advance

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<&Advance> for AdvanceLW

    source§

    fn from(value: &Advance) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Advance

    source§

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for Advance

    source§

    fn clone(&self) -> Advance

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Advance

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<&Advance> for AdvanceLW

    source§

    fn from(value: &Advance) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Advance

    source§

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl Eq for Advance

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Eq for Advance

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_versioning/versioning/struct.AdvanceLW.html b/massa_versioning/versioning/struct.AdvanceLW.html index 4b939fca0a..816a3e8e81 100644 --- a/massa_versioning/versioning/struct.AdvanceLW.html +++ b/massa_versioning/versioning/struct.AdvanceLW.html @@ -1,23 +1,23 @@ -AdvanceLW in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::AdvanceLW

    source ·
    pub struct AdvanceLW {
    +AdvanceLW in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::AdvanceLW

    source ·
    pub struct AdvanceLW {
         pub threshold: Ratio<u64>,
         pub now: MassaTime,
     }

    Fields§

    §threshold: Ratio<u64>

    % of past blocks with this version

    §now: MassaTime

    Current time (timestamp)

    -

    Trait Implementations§

    source§

    impl Clone for AdvanceLW

    source§

    fn clone(&self) -> AdvanceLW

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AdvanceLW

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Deserializer<AdvanceLW> for AdvanceLWDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Clone for AdvanceLW

    source§

    fn clone(&self) -> AdvanceLW

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for AdvanceLW

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Deserializer<AdvanceLW> for AdvanceLWDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], AdvanceLW, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&Advance> for AdvanceLW

    source§

    fn from(value: &Advance) -> Self

    Converts to this type from the input type.
    source§

    impl Ord for AdvanceLW

    source§

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where +) -> IResult<&'a [u8], AdvanceLW, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&Advance> for AdvanceLW

    source§

    fn from(value: &Advance) -> Self

    Converts to this type from the input type.
    source§

    impl Ord for AdvanceLW

    source§

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where - Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for AdvanceLW

    source§

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for AdvanceLW

    source§

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl PartialOrd for AdvanceLW

    source§

    fn partial_cmp(&self, other: &Self) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for AdvanceLW

    source§

    fn partial_cmp(&self, other: &Self) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
    source§

    impl Serializer<AdvanceLW> for AdvanceLWSerializer

    source§

    fn serialize( &self, value: &AdvanceLW, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Eq for AdvanceLW

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    source§

    impl Eq for AdvanceLW

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_versioning/versioning/struct.Defined.html b/massa_versioning/versioning/struct.Defined.html index f10059ad9f..34d61f126b 100644 --- a/massa_versioning/versioning/struct.Defined.html +++ b/massa_versioning/versioning/struct.Defined.html @@ -1,8 +1,8 @@ -Defined in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::Defined

    source ·
    pub struct Defined {}
    Expand description

    State machine for a Versioning component that tracks the deployment state

    -

    Implementations§

    source§

    impl Defined

    source

    pub fn on_advance(self, input: Advance) -> ComponentState

    Update state from state Defined

    -

    Trait Implementations§

    source§

    impl Clone for Defined

    source§

    fn clone(&self) -> Defined

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Defined

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for Defined

    source§

    fn eq(&self, other: &Defined) -> bool

    This method tests for self and other values to be equal, and is used +Defined in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::Defined

    source ·
    pub struct Defined {}
    Expand description

    State machine for a Versioning component that tracks the deployment state

    +

    Implementations§

    source§

    impl Defined

    source

    pub fn on_advance(self, input: Advance) -> ComponentState

    Update state from state Defined

    +

    Trait Implementations§

    source§

    impl Clone for Defined

    source§

    fn clone(&self) -> Defined

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Defined

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for Defined

    source§

    fn eq(&self, other: &Defined) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl Copy for Defined

    source§

    impl StructuralPartialEq for Defined

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Copy for Defined

    source§

    impl StructuralPartialEq for Defined

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_versioning/versioning/struct.Failed.html b/massa_versioning/versioning/struct.Failed.html index 6621acdd36..0b46b72b15 100644 --- a/massa_versioning/versioning/struct.Failed.html +++ b/massa_versioning/versioning/struct.Failed.html @@ -1,8 +1,8 @@ -Failed in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::Failed

    source ·
    pub struct Failed {}
    Expand description

    State machine for a Versioning component that tracks the deployment state

    -

    Implementations§

    source§

    impl Failed

    source

    pub fn on_advance(self, _input: Advance) -> Failed

    Update state (will always stay in state Failed)

    -

    Trait Implementations§

    source§

    impl Clone for Failed

    source§

    fn clone(&self) -> Failed

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Failed

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for Failed

    source§

    fn eq(&self, other: &Failed) -> bool

    This method tests for self and other values to be equal, and is used +Failed in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::Failed

    source ·
    pub struct Failed {}
    Expand description

    State machine for a Versioning component that tracks the deployment state

    +

    Implementations§

    source§

    impl Failed

    source

    pub fn on_advance(self, _input: Advance) -> Failed

    Update state (will always stay in state Failed)

    +

    Trait Implementations§

    source§

    impl Clone for Failed

    source§

    fn clone(&self) -> Failed

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Failed

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for Failed

    source§

    fn eq(&self, other: &Failed) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl Copy for Failed

    source§

    impl StructuralPartialEq for Failed

    Auto Trait Implementations§

    §

    impl Freeze for Failed

    §

    impl RefUnwindSafe for Failed

    §

    impl Send for Failed

    §

    impl Sync for Failed

    §

    impl Unpin for Failed

    §

    impl UnwindSafe for Failed

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Copy for Failed

    source§

    impl StructuralPartialEq for Failed

    Auto Trait Implementations§

    §

    impl Freeze for Failed

    §

    impl RefUnwindSafe for Failed

    §

    impl Send for Failed

    §

    impl Sync for Failed

    §

    impl Unpin for Failed

    §

    impl UnwindSafe for Failed

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_versioning/versioning/struct.LockedIn.html b/massa_versioning/versioning/struct.LockedIn.html index 7b4855069e..77ff7ac8af 100644 --- a/massa_versioning/versioning/struct.LockedIn.html +++ b/massa_versioning/versioning/struct.LockedIn.html @@ -1,10 +1,10 @@ -LockedIn in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::LockedIn

    source ·
    pub struct LockedIn {
    +LockedIn in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::LockedIn

    source ·
    pub struct LockedIn {
         pub(crate) at: MassaTime,
     }
    Expand description

    State machine for a Versioning component that tracks the deployment state

    -

    Fields§

    §at: MassaTime

    Implementations§

    source§

    impl LockedIn

    source

    pub fn on_advance(self, input: Advance) -> ComponentState

    Update state from state LockedIn …

    -

    Trait Implementations§

    source§

    impl Clone for LockedIn

    source§

    fn clone(&self) -> LockedIn

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for LockedIn

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for LockedIn

    source§

    fn eq(&self, other: &LockedIn) -> bool

    This method tests for self and other values to be equal, and is used +

    Fields§

    §at: MassaTime

    Implementations§

    source§

    impl LockedIn

    source

    pub fn on_advance(self, input: Advance) -> ComponentState

    Update state from state LockedIn …

    +

    Trait Implementations§

    source§

    impl Clone for LockedIn

    source§

    fn clone(&self) -> LockedIn

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for LockedIn

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for LockedIn

    source§

    fn eq(&self, other: &LockedIn) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl Copy for LockedIn

    source§

    impl StructuralPartialEq for LockedIn

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Copy for LockedIn

    source§

    impl StructuralPartialEq for LockedIn

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_versioning/versioning/struct.MipInfo.html b/massa_versioning/versioning/struct.MipInfo.html index 0784a5365b..fc9e6d1912 100644 --- a/massa_versioning/versioning/struct.MipInfo.html +++ b/massa_versioning/versioning/struct.MipInfo.html @@ -1,4 +1,4 @@ -MipInfo in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::MipInfo

    source ·
    pub struct MipInfo {
    +MipInfo in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::MipInfo

    source ·
    pub struct MipInfo {
         pub name: String,
         pub version: u32,
         pub components: BTreeMap<MipComponent, u32>,
    @@ -12,21 +12,21 @@
     
    §start: MassaTime

    a timestamp at which the version gains its meaning (e.g. announced in block header)

    §timeout: MassaTime

    a timestamp at the which the deployment is considered failed

    §activation_delay: MassaTime

    Once deployment has been locked, wait for this duration before deployment is considered active

    -

    Trait Implementations§

    source§

    impl Clone for MipInfo

    source§

    fn clone(&self) -> MipInfo

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MipInfo

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Deserializer<MipInfo> for MipInfoDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Clone for MipInfo

    source§

    fn clone(&self) -> MipInfo

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MipInfo

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Deserializer<MipInfo> for MipInfoDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], MipInfo, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&MipInfo> for MipInfo

    source§

    fn from(value: &MipInfo) -> Self

    Converts to this type from the input type.
    source§

    impl Ord for MipInfo

    source§

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where +) -> IResult<&'a [u8], MipInfo, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&MipInfo> for MipInfo

    source§

    fn from(value: &MipInfo) -> Self

    Converts to this type from the input type.
    source§

    impl Ord for MipInfo

    source§

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where - Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for MipInfo

    source§

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more

    source§

    impl PartialEq for MipInfo

    source§

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl PartialOrd for MipInfo

    source§

    fn partial_cmp(&self, other: &Self) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for MipInfo

    source§

    fn partial_cmp(&self, other: &Self) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
    source§

    impl Serializer<MipInfo> for MipInfoSerializer

    source§

    fn serialize( &self, value: &MipInfo, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Eq for MipInfo

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl Eq for MipInfo

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_versioning/versioning/struct.MipState.html b/massa_versioning/versioning/struct.MipState.html index e372bd620d..673d400a50 100644 --- a/massa_versioning/versioning/struct.MipState.html +++ b/massa_versioning/versioning/struct.MipState.html @@ -1,12 +1,12 @@ -MipState in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::MipState

    source ·
    pub struct MipState {
    +MipState in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::MipState

    source ·
    pub struct MipState {
         pub(crate) state: ComponentState,
         pub(crate) history: BTreeMap<AdvanceLW, ComponentStateTypeId>,
     }
    Expand description

    Wrapper of ComponentState (in order to keep state history)

    -

    Fields§

    §state: ComponentState§history: BTreeMap<AdvanceLW, ComponentStateTypeId>

    Implementations§

    source§

    impl MipState

    source

    pub fn new(defined: MassaTime) -> Self

    Create

    -
    source

    pub fn reset_from(&self) -> Option<Self>

    Create a new state from an existing state - resulting state will be at state “Defined”

    -
    source

    pub fn on_advance(&mut self, input: &Advance)

    Advance the state +

    Fields§

    §state: ComponentState§history: BTreeMap<AdvanceLW, ComponentStateTypeId>

    Implementations§

    source§

    impl MipState

    source

    pub fn new(defined: MassaTime) -> Self

    Create

    +
    source

    pub fn reset_from(&self) -> Option<Self>

    Create a new state from an existing state - resulting state will be at state “Defined”

    +
    source

    pub fn on_advance(&mut self, input: &Advance)

    Advance the state Can be called as multiple times as it will only store what changes the state in history

    -
    source

    pub fn is_consistent_with( +

    source

    pub fn is_consistent_with( &self, mip_info: &MipInfo, ) -> Result<(), IsConsistentError>

    Given a corresponding MipInfo, check if state is consistent @@ -14,7 +14,7 @@ if state can be at this position (e.g. can it be at state “Started” according to given time range) if history is consistent with current state Return false for state == ComponentState::Error

    -
    source

    pub fn state_at( +

    source

    pub fn state_at( &self, ts: MassaTime, start: MassaTime, @@ -22,18 +22,18 @@ activation_delay: MassaTime, ) -> Result<ComponentStateTypeId, StateAtError>

    Query state at given timestamp TODO: add doc for start & timeout parameter? why do we need them?

    -
    source

    pub fn activation_at(&self, mip_info: &MipInfo) -> Option<MassaTime>

    Return the time when state will go from LockedIn to Active, None if not already LockedIn

    -
    source

    pub fn is_final(&self) -> bool

    Return True if state can not change anymore (e.g. Active, Failed or Error)

    -

    Trait Implementations§

    source§

    impl Clone for MipState

    source§

    fn clone(&self) -> MipState

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MipState

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Deserializer<MipState> for MipStateDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    source

    pub fn activation_at(&self, mip_info: &MipInfo) -> Option<MassaTime>

    Return the time when state will go from LockedIn to Active, None if not already LockedIn

    +
    source

    pub fn is_final(&self) -> bool

    Return True if state can not change anymore (e.g. Active, Failed or Error)

    +

    Trait Implementations§

    source§

    impl Clone for MipState

    source§

    fn clone(&self) -> MipState

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MipState

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Deserializer<MipState> for MipStateDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], MipState, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl PartialEq for MipState

    source§

    fn eq(&self, other: &MipState) -> bool

    This method tests for self and other values to be equal, and is used +) -> IResult<&'a [u8], MipState, E>

    Deserialize a value T from a buffer of u8. Read more

    source§

    impl PartialEq for MipState

    source§

    fn eq(&self, other: &MipState) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl Serializer<MipState> for MipStateSerializer

    source§

    fn serialize( &self, value: &MipState, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl StructuralPartialEq for MipState

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl StructuralPartialEq for MipState

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_versioning/versioning/struct.MipStatsConfig.html b/massa_versioning/versioning/struct.MipStatsConfig.html index f536f4c6e0..5dc48d2c4b 100644 --- a/massa_versioning/versioning/struct.MipStatsConfig.html +++ b/massa_versioning/versioning/struct.MipStatsConfig.html @@ -1,10 +1,10 @@ -MipStatsConfig in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::MipStatsConfig

    source ·
    pub struct MipStatsConfig {
    +MipStatsConfig in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::MipStatsConfig

    source ·
    pub struct MipStatsConfig {
         pub block_count_considered: usize,
         pub warn_announced_version_ratio: Ratio<u64>,
     }
    Expand description

    Statistics in MipStoreRaw

    -

    Fields§

    §block_count_considered: usize§warn_announced_version_ratio: Ratio<u64>

    Trait Implementations§

    source§

    impl Clone for MipStatsConfig

    source§

    fn clone(&self) -> MipStatsConfig

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MipStatsConfig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for MipStatsConfig

    source§

    fn eq(&self, other: &MipStatsConfig) -> bool

    This method tests for self and other values to be equal, and is used +

    Fields§

    §block_count_considered: usize§warn_announced_version_ratio: Ratio<u64>

    Trait Implementations§

    source§

    impl Clone for MipStatsConfig

    source§

    fn clone(&self) -> MipStatsConfig

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MipStatsConfig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for MipStatsConfig

    source§

    fn eq(&self, other: &MipStatsConfig) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl StructuralPartialEq for MipStatsConfig

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl StructuralPartialEq for MipStatsConfig

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_versioning/versioning/struct.MipStore.html b/massa_versioning/versioning/struct.MipStore.html index 2123b79c0a..dd78fe46ef 100644 --- a/massa_versioning/versioning/struct.MipStore.html +++ b/massa_versioning/versioning/struct.MipStore.html @@ -1,60 +1,60 @@ -MipStore in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::MipStore

    source ·
    pub struct MipStore(pub Arc<RwLock<MipStoreRaw>>);
    Expand description

    Database for all MIP info

    -

    Tuple Fields§

    §0: Arc<RwLock<MipStoreRaw>>

    Implementations§

    source§

    impl MipStore

    source

    pub fn get_network_version_current(&self) -> u32

    Retrieve the current network version to set in block header

    -
    source

    pub fn get_network_version_active_at(&self, ts: MassaTime) -> u32

    Retrieve the last active version at the given timestamp

    -
    source

    pub fn get_network_version_to_announce(&self) -> Option<u32>

    Retrieve the network version number to announce in block header +MipStore in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::MipStore

    source ·
    pub struct MipStore(pub Arc<RwLock<MipStoreRaw>>);
    Expand description

    Database for all MIP info

    +

    Tuple Fields§

    §0: Arc<RwLock<MipStoreRaw>>

    Implementations§

    source§

    impl MipStore

    source

    pub fn get_network_version_current(&self) -> u32

    Retrieve the current network version to set in block header

    +
    source

    pub fn get_network_version_active_at(&self, ts: MassaTime) -> u32

    Retrieve the last active version at the given timestamp

    +
    source

    pub fn get_network_version_to_announce(&self) -> Option<u32>

    Retrieve the network version number to announce in block header return 0 is there is nothing to announce

    -
    source

    pub fn update_network_version_stats( +

    source

    pub fn update_network_version_stats( &mut self, slot_timestamp: MassaTime, network_versions: Option<(u32, Option<u32>)>, -)

    source

    pub fn update_with( +)

    source

    pub fn update_with( &mut self, mip_store: &MipStore, -) -> Result<(Vec<MipInfo>, BTreeMap<MipInfo, MipState>), UpdateWithError>

    source

    pub fn get_latest_component_version_at( +) -> Result<(Vec<MipInfo>, BTreeMap<MipInfo, MipState>), UpdateWithError>

    source

    pub fn get_latest_component_version_at( &self, component: &MipComponent, ts: MassaTime, ) -> u32

    Get latest version at given timestamp (e.g. slot) for the given MipComponent

    -
    source

    pub(crate) fn get_all_active_component_versions( +

    source

    pub(crate) fn get_all_active_component_versions( &self, component: &MipComponent, ) -> Vec<u32>

    Get all versions in ‘Active state’ for the given MipComponent

    -
    source

    pub(crate) fn get_all_component_versions( +

    source

    pub(crate) fn get_all_component_versions( &self, component: &MipComponent, ) -> BTreeMap<u32, ComponentStateTypeId>

    Get all versions (at any state) for the given MipComponent

    -
    source

    pub fn get_mip_status(&self) -> BTreeMap<MipInfo, ComponentStateTypeId>

    Retrieve a list of MIP info with their corresponding state (as id) - used for grpc API

    -
    source

    pub fn is_consistent_with_shutdown_period( +

    source

    pub fn get_mip_status(&self) -> BTreeMap<MipInfo, ComponentStateTypeId>

    Retrieve a list of MIP info with their corresponding state (as id) - used for grpc API

    +
    source

    pub fn is_consistent_with_shutdown_period( &self, shutdown_start: Slot, shutdown_end: Slot, thread_count: u8, t0: MassaTime, genesis_timestamp: MassaTime, -) -> Result<(), IsConsistentWithShutdownPeriodError>

    source

    pub fn update_for_network_shutdown( +) -> Result<(), IsConsistentWithShutdownPeriodError>

    source

    pub fn update_for_network_shutdown( &mut self, shutdown_start: Slot, shutdown_end: Slot, thread_count: u8, t0: MassaTime, genesis_timestamp: MassaTime, -) -> Result<(), ModelsError>

    source

    pub fn is_key_value_valid( +) -> Result<(), ModelsError>

    source

    pub fn is_key_value_valid( &self, serialized_key: &[u8], serialized_value: &[u8], -) -> bool

    source

    pub fn update_batches( +) -> bool

    source

    pub fn update_batches( &self, db_batch: &mut DBBatch, db_versioning_batch: &mut DBBatch, between: Option<(&MassaTime, &MassaTime)>, -) -> Result<(), SerializeError>

    source

    pub fn extend_from_db( +) -> Result<(), SerializeError>

    source

    pub fn extend_from_db( &mut self, db: ShareableMassaDBController, -) -> Result<(Vec<MipInfo>, BTreeMap<MipInfo, MipState>), ExtendFromDbError>

    source

    pub fn reset_db(&self, db: ShareableMassaDBController)

    source

    pub fn try_from_db( +) -> Result<(Vec<MipInfo>, BTreeMap<MipInfo, MipState>), ExtendFromDbError>

    source

    pub fn reset_db(&self, db: ShareableMassaDBController)

    source

    pub fn try_from_db( db: ShareableMassaDBController, cfg: MipStatsConfig, ) -> Result<Self, ExtendFromDbError>

    Create a MIP store with what is written on the disk

    -

    Trait Implementations§

    source§

    impl Clone for MipStore

    source§

    fn clone(&self) -> MipStore

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MipStore

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<const N: usize> TryFrom<([(MipInfo, MipState); N], MipStatsConfig)> for MipStore

    §

    type Error = UpdateWithError

    The type returned in the event of a conversion error.
    source§

    fn try_from( +

    Trait Implementations§

    source§

    impl Clone for MipStore

    source§

    fn clone(&self) -> MipStore

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MipStore

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<const N: usize> TryFrom<([(MipInfo, MipState); N], MipStatsConfig)> for MipStore

    §

    type Error = UpdateWithError

    The type returned in the event of a conversion error.
    source§

    fn try_from( (value, cfg): ([(MipInfo, MipState); N], MipStatsConfig), ) -> Result<Self, Self::Error>

    Performs the conversion.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where diff --git a/massa_versioning/versioning/struct.MipStoreRaw.html b/massa_versioning/versioning/struct.MipStoreRaw.html index b8c23e46be..3a576a6cff 100644 --- a/massa_versioning/versioning/struct.MipStoreRaw.html +++ b/massa_versioning/versioning/struct.MipStoreRaw.html @@ -1,31 +1,31 @@ -MipStoreRaw in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::MipStoreRaw

    source ·
    pub struct MipStoreRaw {
    +MipStoreRaw in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::MipStoreRaw

    source ·
    pub struct MipStoreRaw {
         pub(crate) store: BTreeMap<MipInfo, MipState>,
         pub(crate) stats: MipStoreStats,
     }
    Expand description

    Store of all versioning info

    -

    Fields§

    §store: BTreeMap<MipInfo, MipState>§stats: MipStoreStats

    Implementations§

    source§

    impl MipStoreRaw

    Fields§

    §store: BTreeMap<MipInfo, MipState>§stats: MipStoreStats

    Implementations§

    source§

    impl MipStoreRaw

    source

    pub fn update_with( &mut self, store_raw: &MipStoreRaw, ) -> Result<(Vec<MipInfo>, BTreeMap<MipInfo, MipState>), UpdateWithError>

    Update our store with another (usually after a bootstrap where we received another store) Return list of updated / added if successful, UpdateWithError otherwise

    -
    source

    fn update_network_version_stats( +

    source

    fn update_network_version_stats( &mut self, slot_timestamp: MassaTime, network_versions: Option<(u32, Option<u32>)>, -)

    source

    fn advance_states_on_updated_stats(&mut self, slot_timestamp: MassaTime)

    Used internally by update_network_version_stats

    -
    source

    fn get_latest_component_version_at( +)

    source

    fn advance_states_on_updated_stats(&mut self, slot_timestamp: MassaTime)

    Used internally by update_network_version_stats

    +
    source

    fn get_latest_component_version_at( &self, component: &MipComponent, ts: MassaTime, ) -> u32

    Get latest version at given timestamp (e.g. slot)

    -
    source

    fn get_all_active_component_versions( +

    source

    fn get_all_active_component_versions( &self, component: &MipComponent, ) -> Vec<u32>

    Get all versions in ‘Active state’ for the given MipComponent

    -
    source

    fn get_all_component_versions( +

    source

    fn get_all_component_versions( &self, component: &MipComponent, ) -> BTreeMap<u32, ComponentStateTypeId>

    Get all versions (at any state) for the given MipComponent

    -
    source

    fn is_consistent_with_shutdown_period( +

    source

    fn is_consistent_with_shutdown_period( &self, shutdown_start: Slot, shutdown_end: Slot, @@ -34,47 +34,47 @@ genesis_timestamp: MassaTime, ) -> Result<(), IsConsistentWithShutdownPeriodError>

    Check if store is consistent with given last network shutdown On a network shutdown, the MIP infos will be edited but we still need to check if this is consistent

    -
    source

    fn update_for_network_shutdown( +

    source

    fn update_for_network_shutdown( &mut self, shutdown_start: Slot, shutdown_end: Slot, thread_count: u8, t0: MassaTime, genesis_timestamp: MassaTime, -) -> Result<(), ModelsError>

    source

    pub fn get_network_versions_stats(&self) -> HashMap<u32, u64>

    source

    pub fn is_key_value_valid( +) -> Result<(), ModelsError>

    source

    pub fn get_network_versions_stats(&self) -> HashMap<u32, u64>

    source

    pub fn is_key_value_valid( &self, serialized_key: &[u8], serialized_value: &[u8], -) -> bool

    source

    pub fn _is_key_value_valid( +) -> bool

    source

    pub fn _is_key_value_valid( &self, serialized_key: &[u8], serialized_value: &[u8], -) -> Result<(), IsKVValidError>

    source

    fn update_batches( +) -> Result<(), IsKVValidError>

    source

    fn update_batches( &self, batch: &mut DBBatch, versioning_batch: &mut DBBatch, between: Option<(&MassaTime, &MassaTime)>, ) -> Result<(), SerializeError>

    Get MIP store changes between 2 timestamps - used by the db to update the disk

    -
    source

    fn extend_from_db( +

    source

    fn extend_from_db( &mut self, db: ShareableMassaDBController, ) -> Result<(Vec<MipInfo>, BTreeMap<MipInfo, MipState>), ExtendFromDbError>

    Extend MIP store with what is written on the disk

    -
    source

    fn try_from_db( +

    source

    fn try_from_db( db: ShareableMassaDBController, cfg: MipStatsConfig, ) -> Result<Self, ExtendFromDbError>

    Create a MIP store raw with what is written on the disk

    -

    Trait Implementations§

    source§

    impl Clone for MipStoreRaw

    source§

    fn clone(&self) -> MipStoreRaw

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MipStoreRaw

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Deserializer<MipStoreRaw> for MipStoreRawDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Clone for MipStoreRaw

    source§

    fn clone(&self) -> MipStoreRaw

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MipStoreRaw

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Deserializer<MipStoreRaw> for MipStoreRawDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], MipStoreRaw, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl PartialEq for MipStoreRaw

    source§

    fn eq(&self, other: &MipStoreRaw) -> bool

    This method tests for self and other values to be equal, and is used +) -> IResult<&'a [u8], MipStoreRaw, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl PartialEq for MipStoreRaw

    source§

    fn eq(&self, other: &MipStoreRaw) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl Serializer<MipStoreRaw> for MipStoreRawSerializer

    source§

    fn serialize( &self, value: &MipStoreRaw, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl<const N: usize> TryFrom<([(MipInfo, MipState); N], MipStatsConfig)> for MipStoreRaw

    §

    type Error = UpdateWithError

    The type returned in the event of a conversion error.
    source§

    fn try_from( +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl<const N: usize> TryFrom<([(MipInfo, MipState); N], MipStatsConfig)> for MipStoreRaw

    §

    type Error = UpdateWithError

    The type returned in the event of a conversion error.
    source§

    fn try_from( (value, cfg): ([(MipInfo, MipState); N], MipStatsConfig), -) -> Result<Self, Self::Error>

    Performs the conversion.
    source§

    impl StructuralPartialEq for MipStoreRaw

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<Self, Self::Error>

    Performs the conversion.

    source§

    impl StructuralPartialEq for MipStoreRaw

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_versioning/versioning/struct.MipStoreStats.html b/massa_versioning/versioning/struct.MipStoreStats.html index 56b5540534..0ef66c42eb 100644 --- a/massa_versioning/versioning/struct.MipStoreStats.html +++ b/massa_versioning/versioning/struct.MipStoreStats.html @@ -1,18 +1,18 @@ -MipStoreStats in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::MipStoreStats

    source ·
    pub(crate) struct MipStoreStats {
    +MipStoreStats in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::MipStoreStats

    source ·
    pub(crate) struct MipStoreStats {
         pub(crate) config: MipStatsConfig,
         pub(crate) latest_announcements: VecDeque<u32>,
         pub(crate) network_version_counters: HashMap<u32, u64>,
     }
    Expand description

    In order for a MIP to be accepted, we compute statistics about other node ‘network’ version announcement

    -

    Fields§

    §config: MipStatsConfig§latest_announcements: VecDeque<u32>§network_version_counters: HashMap<u32, u64>

    Implementations§

    source§

    impl MipStoreStats

    source

    pub(crate) fn new(config: MipStatsConfig) -> Self

    source

    fn reset(&mut self)

    Trait Implementations§

    source§

    impl Clone for MipStoreStats

    source§

    fn clone(&self) -> MipStoreStats

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MipStoreStats

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Deserializer<MipStoreStats> for MipStoreStatsDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Fields§

    §config: MipStatsConfig§latest_announcements: VecDeque<u32>§network_version_counters: HashMap<u32, u64>

    Implementations§

    source§

    impl MipStoreStats

    source

    pub(crate) fn new(config: MipStatsConfig) -> Self

    source

    fn reset(&mut self)

    Trait Implementations§

    source§

    impl Clone for MipStoreStats

    source§

    fn clone(&self) -> MipStoreStats

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MipStoreStats

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Deserializer<MipStoreStats> for MipStoreStatsDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], MipStoreStats, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl PartialEq for MipStoreStats

    source§

    fn eq(&self, other: &MipStoreStats) -> bool

    This method tests for self and other values to be equal, and is used +) -> IResult<&'a [u8], MipStoreStats, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl PartialEq for MipStoreStats

    source§

    fn eq(&self, other: &MipStoreStats) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl Serializer<MipStoreStats> for MipStoreStatsSerializer

    source§

    fn serialize( &self, value: &MipStoreStats, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more
    source§

    impl StructuralPartialEq for MipStoreStats

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<(), SerializeError>

    Serialize a value T into a buffer of u8. Read more

    source§

    impl StructuralPartialEq for MipStoreStats

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_versioning/versioning/struct.Started.html b/massa_versioning/versioning/struct.Started.html index 5127eaafac..6a27f85e81 100644 --- a/massa_versioning/versioning/struct.Started.html +++ b/massa_versioning/versioning/struct.Started.html @@ -1,10 +1,10 @@ -Started in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::Started

    source ·
    pub struct Started {
    +Started in massa_versioning::versioning - Rust

    Struct massa_versioning::versioning::Started

    source ·
    pub struct Started {
         pub(crate) vote_ratio: Ratio<u64>,
     }
    Expand description

    State machine for a Versioning component that tracks the deployment state

    -

    Fields§

    §vote_ratio: Ratio<u64>

    Implementations§

    source§

    impl Started

    source

    pub fn on_advance(self, input: Advance) -> ComponentState

    Update state from state Started

    -

    Trait Implementations§

    source§

    impl Clone for Started

    source§

    fn clone(&self) -> Started

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Started

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for Started

    source§

    fn eq(&self, other: &Started) -> bool

    This method tests for self and other values to be equal, and is used +

    Fields§

    §vote_ratio: Ratio<u64>

    Implementations§

    source§

    impl Started

    source

    pub fn on_advance(self, input: Advance) -> ComponentState

    Update state from state Started

    +

    Trait Implementations§

    source§

    impl Clone for Started

    source§

    fn clone(&self) -> Started

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Started

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl PartialEq for Started

    source§

    fn eq(&self, other: &Started) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

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

    impl Copy for Started

    source§

    impl StructuralPartialEq for Started

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Copy for Started

    source§

    impl StructuralPartialEq for Started

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/search-index.js b/search-index.js index fc18ac23f1..6aa065a257 100644 --- a/search-index.js +++ b/search-index.js @@ -13,19 +13,19 @@ var searchIndex = new Map(JSON.parse('[\ ["massa_deferred_calls",{"t":"FFIIIFPPPPPPNNNNNNCOOOOOQNNNOQCOQQQQQNOOOQNNNNNNNNNNNNNNCOQNNOQNCOOOQOOOCOQOQOQNNNNNNNNNFFFOOOOOONNNNNNONNNNNNNNNONNNNNNNONNNNNNNNNNNNNNNONNNOONNOOOOOOONNNNNNNNNNNNOOOONNNFONNONNNNNNNNNONNOOOOOOOOOONNNNNSSSSSSSSSSSSSSFFFNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNOOOOONOOONNNNNNNNNOONNNFFFOOONNNNNNOOONOONNNNNOONNNONNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["DeferredCall","DeferredCallRegistry","DeferredRegistryBaseFeeChange","DeferredRegistryCallChange","DeferredRegistryGasChange","DeferredSlotCalls","Delete","Keep","Keep","Set","Set","Set","apply_changes","apply_changes_to_batch","borrow","borrow","borrow_mut","borrow_mut","call","call_deserializer","call_id_deserializer","call_id_serializer","call_serializer","cancelled","cancelled_key","clone","clone_into","clone_to_uninit","coins","coins_key","config","db","deferred_call_field_key","deferred_call_prefix_key","deferred_call_slot_base_fee_key","deferred_call_slot_total_gas_key","deferred_slot_call_prefix_key","delete_entry","effective_slot_gas","effective_total_gas","fee","fee_key","fmt","from","from","from_ref","get_call","get_nb_call_registered","get_slot_base_fee","get_slot_calls","get_slot_gas","get_total_gas","into","into","into_request","into_request","macros","max_gas","max_gas_key","new","new","parameters","parameters_key","put_entry","registry_changes","registry_changes_deserializer","registry_changes_serializer","sender_address","sender_address_key","slot","slot_base_fee","slot_calls","slot_changes","target_address","target_address_key","target_function","target_function_key","target_slot","target_slot_key","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","DeferredCall","DeferredCallDeserializer","DeferredCallSerializer","address_deserializer","address_serializer","amount_deserializer","amount_serializer","bool_deserializer","bool_serializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cancelled","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","coins","deserialize","deserialize","eq","equivalent","equivalent","equivalent","equivalent","fee","fmt","from","from","from","from_ref","from_ref","from_ref","get_effective_gas","get_storage_cost","into","into","into","into_request","into_request","into_request","max_gas","new","new","new","parameters","sender_address","serialize","serialize","slot_deserializer","slot_serializer","string_deserializer","string_serializer","target_address","target_function","target_slot","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","u64_var_int_deserializer","u64_var_int_serializer","vec_u8_deserializer","vec_u8_serializer","vzip","vzip","vzip","DeferredCallsConfig","base_fee_max_max_change_denominator","borrow","borrow_mut","call_cst_gas_cost","clone","clone_into","clone_to_uninit","clone_to_uninit","default","deserialize","fmt","from","from_ref","global_overbooking_penalty","into","into_request","ledger_cost_per_byte","max_function_name_length","max_future_slots","max_gas","max_parameter_size","max_pool_changes","min_gas_cost","min_gas_increment","slot_overbooking_penalty","thread_count","to_owned","try_from","try_into","type_id","vzip","CALLS_TAG","CALL_FIELD_CANCELED","CALL_FIELD_COINS","CALL_FIELD_FEE","CALL_FIELD_MAX_GAS","CALL_FIELD_PARAMETERS","CALL_FIELD_SENDER_ADDRESS","CALL_FIELD_TARGET_ADDRESS","CALL_FIELD_TARGET_FUNCTION","CALL_FIELD_TARGET_SLOT","DEFERRED_CALL_TOTAL_GAS","DEFERRED_CALL_TOTAL_REGISTERED","SLOT_BASE_FEE","SLOT_TOTAL_GAS","DeferredCallRegistryChanges","DeferredRegistryChangesDeserializer","DeferredRegistryChangesSerializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","default","default","delete_call","deserialize","deserialize","effective_total_gas","effective_total_gas_deserializer","effective_total_gas_serializer","fmt","from","from","from","from_ref","get_call","get_effective_slot_gas","get_effective_total_gas","get_slot_base_fee","get_total_calls_registered","into","into","into","into_request","into_request","into_request","new","new","serialize","serialize","set_call","set_effective_slot_gas","set_effective_total_gas","set_slot_base_fee","set_total_calls_registered","slot_changes_deserializer","slot_changes_serializer","slot_deserializer","slot_serializer","slots_change","to_owned","total_calls_registered","total_calls_registered_deserializer","total_calls_registered_serializer","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","u64_deserializer","u64_serializer","vzip","vzip","vzip","DeferredRegistrySlotChanges","DeferredRegistrySlotChangesDeserializer","DeferredRegistrySlotChangesSerializer","base_fee","base_fee_deserializer","base_fee_serializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","call_id_deserializer","call_id_serializer","calls","calls_len","calls_set_or_delete_deserializer","calls_set_or_delete_serializer","clone","clone_into","clone_to_uninit","default","default","deferred_registry_slot_changes_length","deferred_registry_slot_changes_length","delete_call","deserialize","deserialize","effective_slot_gas","fmt","from","from","from","from_ref","gas_deserializer","gas_serializer","get_base_fee","get_call","get_effective_slot_gas","into","into","into","into_request","into_request","into_request","new","new","serialize","serialize","set_base_fee","set_call","set_effective_slot_gas","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip"],"q":[[0,"massa_deferred_calls"],[88,"massa_deferred_calls::call"],[171,"massa_deferred_calls::config"],[203,"massa_deferred_calls::macros"],[217,"massa_deferred_calls::registry_changes"],[285,"massa_deferred_calls::slot_changes"],[350,"massa_db_exports::db_batch"],[351,"massa_models::deferred_calls"],[352,"massa_models::slot"],[353,"core::fmt"],[354,"core::option"],[355,"massa_models::amount"],[356,"tonic::request"],[357,"massa_db_exports::controller"],[358,"core::result"],[359,"core::any"],[360,"serde::de"],[361,"nom::internal"],[362,"nom::error"],[363,"massa_models::address"],[364,"alloc::string"],[365,"alloc::vec"],[366,"serde::ser"],[367,"massa_serialization"]],"i":[0,0,0,0,0,0,43,44,45,43,44,45,2,6,6,2,6,2,0,6,6,6,6,12,0,2,2,2,12,0,0,6,0,0,0,0,0,6,2,2,12,0,2,6,2,2,6,6,6,6,6,6,6,2,6,2,0,12,0,6,2,12,0,6,0,6,6,12,0,2,2,2,0,12,0,12,0,12,0,2,6,2,6,2,6,2,6,2,0,0,0,23,22,23,22,23,22,12,22,23,12,22,23,12,12,22,23,12,22,23,12,22,23,12,12,23,12,12,12,12,12,12,12,12,22,23,12,22,23,12,12,12,22,23,12,22,23,12,12,22,23,12,12,12,22,23,22,23,22,12,12,12,12,22,23,12,22,23,12,22,23,12,22,23,23,22,23,22,12,22,23,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,38,4,37,38,4,4,4,4,37,4,4,38,4,4,38,37,4,37,38,4,4,4,4,4,4,4,37,38,4,37,38,4,37,38,37,4,4,4,4,4,4,38,37,38,37,4,4,4,38,37,37,38,4,37,38,4,37,38,4,38,37,37,38,4,0,0,0,39,42,41,41,42,39,41,42,39,42,41,39,39,42,41,39,39,39,41,39,41,42,39,42,39,39,39,41,42,39,39,42,41,39,39,39,41,42,39,41,42,39,41,42,41,39,39,39,39,39,41,42,39,41,42,39,41,42,39,41,42,39],"f":"````````````{{{f{bd}}{f{h}}}j}{{{f{l}}h{f{bn}}}j}{{{f{c}}}{{f{e}}}{}{}}0{{{f{bc}}}{{f{be}}}{}{}}0```````{{{f{d}}}d}{{{f{c}}{f{be}}}j{}{}}{{{f{c}}}j{}}`````````{{{f{l}}{f{A`}}{f{Ab}}{f{bn}}}j}````{{{f{d}}{f{bAd}}}Af}{cc{}}0{{{f{c}}}c{}}{{{f{l}}{f{Ab}}{f{A`}}}{{Aj{Ah}}}}{{{f{l}}}Al}{{{f{l}}{f{Ab}}}An}{{{f{l}}Ab}d}{{{f{l}}{f{Ab}}}Al}{{{f{l}}}B`}{ce{}{}}0{c{{Bb{e}}}{}{}}0```{{BdBf}l}{Abd}``{{{f{l}}{f{Ab}}{f{A`}}{f{Ah}}{f{bn}}}j}```````````````{{{f{c}}}e{}{}}{c{{Bh{e}}}{}{}}000{{{f{c}}}Bj{}}077`````````{{{f{c}}}{{f{e}}}{}{}}00{{{f{bc}}}{{f{be}}}{}{}}00`{{{f{Ah}}}Ah}{{{f{Bl}}}Bl}{{{f{Bn}}}Bn}{{{f{c}}{f{be}}}j{}{}}00{{{f{c}}}j{}}00`{c{{Bh{Ah}}}C`}{{{f{Bn}}{f{{Cd{Cb}}}}}{{Cf{{f{{Cd{Cb}}}}Ahc}}}{{Ch{{f{{Cd{Cb}}}}}}{Cj{{f{{Cd{Cb}}}}}}}}{{{f{Ah}}{f{Ah}}}Cl}{{{f{c}}{f{e}}}Cl{}{}}000`{{{f{Ah}}{f{bAd}}}Af}{cc{}}00{{{f{c}}}c{}}00{{{f{Ah}}Al}Al}{{AnAlCn}An}{ce{}{}}00{c{{Bb{e}}}{}{}}00`{{D`AbD`Db{Dd{Cb}}AnAlAnCl}Ah}{{}Bl}{BfBn}``{{{f{Ah}}c}BhDf}{{{f{Bl}}{f{Ah}}{f{b{Dd{Cb}}}}}{{Bh{jDh}}}}```````{{{f{c}}}e{}{}}00{c{{Bh{e}}}{}{}}00000{{{f{c}}}Bj{}}00````999``{{{f{c}}}{{f{e}}}{}{}}{{{f{bc}}}{{f{be}}}{}{}}`{{{f{Bf}}}Bf}{{{f{c}}{f{be}}}j{}{}}{{{f{c}}}j{}}0{{}Bf}{c{{Bh{Bf}}}C`}{{{f{Bf}}{f{bAd}}}Af}{cc{}}{{{f{c}}}c{}}`{ce{}{}}{c{{Bb{e}}}{}{}}``````````>==<1`````````````````;;;:::{{{f{h}}}h}98{{}Dj}{{}h}{{{f{bh}}Ab{f{A`}}}j}{{{f{Dl}}{f{{Cd{Cb}}}}}{{Cf{{f{{Cd{Cb}}}}hc}}}{{Ch{{f{{Cd{Cb}}}}}}{Cj{{f{{Cd{Cb}}}}}}}}{c{{Bh{h}}}C`}```{{{f{h}}{f{bAd}}}Af}:::9{{{f{h}}{f{Ab}}{f{A`}}}{{Aj{{f{Ah}}}}}}{{{f{h}}{f{Ab}}}{{Aj{Al}}}}{{{f{h}}}{{Aj{B`}}}}{{{f{h}}{f{Ab}}}{{Aj{An}}}}{{{f{h}}}{{Aj{Al}}}}===<<<:{BfDl}{{{f{Dj}}{f{h}}{f{b{Dd{Cb}}}}}{{Bh{jDh}}}}{{{f{h}}c}BhDf}{{{f{bh}}A`Ah}j}{{{f{bh}}AbAl}j}{{{f{bh}}B`}j}{{{f{bh}}AbAn}j}{{{f{bh}}Al}j}`````{{{f{c}}}e{}{}}```{c{{Bh{e}}}{}{}}00000{{{f{c}}}Bj{}}00``{ce{}{}}00``````{{{f{c}}}{{f{e}}}{}{}}00{{{f{bc}}}{{f{be}}}{}{}}00```{{{f{Dn}}}E`}``{{{f{Dn}}}Dn}{{{f{c}}{f{be}}}j{}{}}{{{f{c}}}j{}}{{}Eb}{{}Dn}``{{{f{bDn}}{f{A`}}}j}{{{f{Ed}}{f{{Cd{Cb}}}}}{{Cf{{f{{Cd{Cb}}}}Dnc}}}{{Ch{{f{{Cd{Cb}}}}}}{Cj{{f{{Cd{Cb}}}}}}}}{c{{Bh{Dn}}}C`}`{{{f{Dn}}{f{bAd}}}Af}{cc{}}00{{{f{c}}}c{}}``{{{f{Dn}}}{{Aj{An}}}}{{{f{Dn}}{f{A`}}}{{Aj{{f{Ah}}}}}}{{{f{Dn}}}{{Aj{Al}}}}{ce{}{}}00{c{{Bb{e}}}{}{}}00<{BfEd}{{{f{Eb}}{f{Dn}}{f{b{Dd{Cb}}}}}{{Bh{jDh}}}}{{{f{Dn}}c}BhDf}{{{f{bDn}}An}j}{{{f{bDn}}A`Ah}j}{{{f{bDn}}Al}j}{{{f{c}}}e{}{}}{c{{Bh{e}}}{}{}}00000{{{f{c}}}Bj{}}00:::","D":"Hd","p":[[0,"mut"],[5,"DeferredSlotCalls",0],[1,"reference"],[5,"DeferredCallRegistryChanges",217],[1,"unit"],[5,"DeferredCallRegistry",0],[8,"DBBatch",350],[6,"DeferredCallId",351],[5,"Slot",352],[5,"Formatter",353],[8,"Result",353],[5,"DeferredCall",88],[6,"Option",354],[1,"u64"],[5,"Amount",355],[1,"u128"],[5,"Request",356],[8,"ShareableMassaDBController",357],[5,"DeferredCallsConfig",171],[6,"Result",358],[5,"TypeId",359],[5,"DeferredCallSerializer",88],[5,"DeferredCallDeserializer",88],[10,"Deserializer",360],[1,"u8"],[1,"slice"],[8,"IResult",361],[10,"ParseError",362],[10,"ContextError",362],[1,"bool"],[1,"u16"],[6,"Address",363],[5,"String",364],[5,"Vec",365],[10,"Serializer",366],[6,"SerializeError",367],[5,"DeferredRegistryChangesSerializer",217],[5,"DeferredRegistryChangesDeserializer",217],[5,"DeferredRegistrySlotChanges",285],[1,"usize"],[5,"DeferredRegistrySlotChangesSerializer",285],[5,"DeferredRegistrySlotChangesDeserializer",285],[8,"DeferredRegistryCallChange",0],[8,"DeferredRegistryGasChange",0],[8,"DeferredRegistryBaseFeeChange",0]],"r":[[0,88]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABwBIQAAAAAAAgADAA0ABQAUAAQAGgADAB8AAQAiAAcAKwAAAC4AAAAwAAAANwADADwAAgBAAAQARgAEAEwAAABOAAAAUAAIAFwAHwB/AAIAhwAEAI4AHgCuAAEAsQAGALkAAAC8AAEAwAAAAMIAAADHACcA8gAFAPsAOwA4AQMAPwEFAEgBFgA="}],\ ["massa_event_cache",{"t":"CCCCCCFNNONNNOOOOOOOONNNNKFFNNNNONNNNONNNNMNONNNNNMNONNNNNNNNNPPSSSPPSFSPPPPFGPPPGGGPSSPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNOONNNNNOONNONNNNNNNNHNNNNNNNNNNNNNNNNNNONOOOOONNONNNNOONNNNNNNNNNNNNNNNNNNNNNNNNHFFFOOOOOONNNNNNOONNNNNOONNNNNNOONNOONOOONNNNNNNNNNNNKFFNNNNONNOONNNNNNHMNONNNNNNNNN","n":["config","controller","event_cache","rocksdb_operator","ser_deser","worker","EventCacheConfig","borrow","borrow_mut","event_cache_path","from","into","into_request","max_call_stack_length","max_event_cache_length","max_event_data_length","max_events_per_operation","max_events_per_query","max_operations_per_block","snip_amount","thread_count","try_from","try_into","type_id","vzip","EventCacheController","EventCacheControllerImpl","EventCacheWriterInputData","borrow","borrow","borrow_mut","borrow_mut","cache","clone","clone_into","clone_to_uninit","default","events","fmt","from","from","from_ref","get_filtered_sc_output_events","get_filtered_sc_output_events","input_data","into","into","into_request","into_request","new","save_events","save_events","stop","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Address","Bool","COUNTER_ERROR","COUNTER_KEY_CREATION_ERROR","CRUD_ERROR","Counter","Counter","DESTROY_ERROR","DbKeyBuilder","EVENT_DESER_ERROR","EmitterAddress","EmitterAddress","Event","Event","EventCache","FilterItem","IsError","IsError","IsFinal","KeyBuilderType","KeyIndent","KeyKind","None","OPEN_ERROR","OPERATION_ID_DESER_ERROR","OperationId","OriginalCallerAddress","OriginalCallerAddress","OriginalOperationId","OriginalOperationId","Prefix","Regular","Slot","SlotEnd","SlotStart","SlotStartEnd","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","clone_to_uninit","cmp","compare","counter_key_from_filter_item","db","entry_count","eq","equivalent","equivalent","equivalent","equivalent","event_deser","event_ser","filter_for","filter_item_estimate_count","first_slot","fmt","fmt","from","from","from","from","from","from","from_event_filter","from_ref","get_filtered_sc_output_events","insert","insert_into_batch","insert_multi_it","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","key","key_builder","key_from_event","last_slot","max_entry_count","max_events_per_operation","max_events_per_query","max_operations_per_block","new","new","op_id_ser","partial_cmp","prefix_key_from_filter_item","prefix_key_from_indent","snip","snip_amount","thread_count","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","counter_merge","SCOutputEventDeserializer","SCOutputEventDeserializerArgs","SCOutputEventSerializer","addr_deser","addr_len_deser","addr_len_ser","addr_ser","block_id_deser","block_id_ser","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","data_deser","data_ser","default","deserialize","from","from","from","index_in_slot_deser","index_in_slot_ser","into","into","into","into_request","into_request","into_request","max_call_stack_length","max_event_data_length","new","new","op_id_deser","op_id_ser","serialize","slot_deser","slot_ser","thread_count","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","EventCacheManager","EventCacheWriterManagerImpl","EventCacheWriterThread","borrow","borrow","borrow_mut","borrow_mut","cache","from","from","input_data","input_data","into","into","into_request","into_request","main_loop","new","start_event_cache_writer_worker","stop","stop","thread_handle","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","wait_loop_event"],"q":[[0,"massa_event_cache"],[6,"massa_event_cache::config"],[25,"massa_event_cache::controller"],[62,"massa_event_cache::event_cache"],[197,"massa_event_cache::rocksdb_operator"],[198,"massa_event_cache::ser_deser"],[250,"massa_event_cache::worker"],[281,"tonic::request"],[282,"core::result"],[283,"core::any"],[284,"core::fmt"],[285,"massa_models::execution"],[286,"massa_models::output_event"],[287,"alloc::vec"],[288,"alloc::collections::vec_deque"],[289,"core::cmp"],[290,"alloc::collections::btree::set"],[291,"core::option"],[292,"massa_models::error"],[293,"rocksdb::write_batch"],[294,"core::iter::traits::exact_size"],[295,"core::clone"],[296,"std::path"],[297,"rocksdb::merge_operator"],[298,"nom::internal"],[299,"nom::error"],[300,"massa_serialization"],[301,"parking_lot::condvar"],[302,"parking_lot::mutex"],[303,"alloc::sync"],[304,"parking_lot::rwlock"],[305,"alloc::boxed"]],"i":[0,0,0,0,0,0,0,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,0,0,0,8,6,8,6,6,6,6,6,8,8,8,8,6,6,11,6,6,8,6,8,6,8,11,6,8,6,8,6,8,6,8,6,8,6,32,32,0,0,0,33,16,0,0,0,16,19,32,16,0,0,16,19,16,0,0,0,32,0,0,32,16,19,16,19,33,33,32,19,19,19,32,33,18,22,16,19,32,33,18,22,16,19,16,16,16,16,16,16,18,22,22,16,16,16,16,16,22,22,22,22,22,16,19,32,33,18,22,16,19,0,16,22,22,22,22,32,33,18,22,16,19,32,33,18,22,16,19,18,22,18,22,22,22,22,22,18,22,18,16,18,18,22,22,22,16,32,33,18,22,16,19,32,33,18,22,16,19,32,33,18,22,16,19,32,33,18,22,16,19,0,0,0,0,40,40,39,39,40,39,39,40,44,39,40,44,40,39,39,40,39,40,44,40,39,39,40,44,39,40,44,44,44,39,40,40,39,39,40,39,44,39,40,44,39,40,44,39,40,44,39,40,44,0,0,0,46,54,46,54,46,46,54,46,54,46,54,46,54,46,46,0,52,54,54,46,54,46,54,46,54,46,54,46],"f":"```````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{cc{}}{ce{}{}}{c{{f{e}}}{}{}}````````{c{{h{e}}}{}{}}0{{{b{c}}}j{}}3```6655`{{{b{l}}}l}{{{b{c}}{b{de}}}n{}{}}{{{b{c}}}n{}}{{}A`}`{{{b{A`}}{b{dAb}}}Ad}99{{{b{c}}}c{}}{{{b{Af}}{b{Ah}}}{{Al{Aj}}}}{{{b{l}}{b{Ah}}}{{Al{Aj}}}}`;;::4{{{b{Af}}{An{Aj}}}n}{{{b{l}}{An{Aj}}}n}`{{{b{c}}}e{}{}}<<<<;;>>````````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}00000{{{b{dc}}}{{b{de}}}{}{}}00000{{{b{B`}}}B`}<;;{{{b{B`}}{b{B`}}}Bb}{{{b{c}}{b{e}}}Bb{}{}}{{{b{Bd}}{b{Bf}}{b{B`}}}{{Al{Bh}}}}``{{{b{B`}}{b{B`}}}Bj}{{{b{c}}{b{e}}}Bj{}{}}000``{{{b{Bl}}{b{B`}}{b{Bf}}{b{d{Bn{{Al{Bh}}}}}}{C`{{b{{Bn{{Al{Bh}}}}}}}}}Cb}{{{b{Bl}}{b{B`}}{b{Bf}}}{{h{CbCd}}}}`{{{b{B`}}{b{dAb}}}Ad}{{{b{Bf}}{b{dAb}}}Ad}{cc{}}00000{{{b{Ah}}}{{Al{{Cf{B`Bf}}}}}}{{{b{c}}}c{}}{{{b{Bl}}{b{Ah}}}{{Cf{{Al{Cb}}{Al{Aj}}}}}}{{{b{dBl}}Aj}n}{{{b{dBl}}Aj{b{dCh}}}n}{{{b{dBl}}c}n{{Cl{}{{Cj{Aj}}}}Cn}}{ce{}{}}00000{c{{f{e}}}{}{}}00000{{{b{Bd}}{b{B`}}D`{b{Db}}}{{Al{Bh}}}}`{{{b{Bd}}{b{Aj}}{b{B`}}{b{Db}}}{{C`{{Al{Bh}}}}}}`````{{}Bd}{{{b{Dd}}DfDfBhDhCbCbCbDf}Bl}`{{{b{B`}}{b{B`}}}{{C`{Bb}}}}{{{b{Bd}}{b{Bf}}{b{B`}}}{{Al{Bh}}}}{{{b{Bd}}{b{B`}}}{{Al{Bh}}}}{{{b{dBl}}{C`{Df}}}n}``{{{b{c}}}e{}{}}{c{{h{e}}}{}{}}00000000000{{{b{c}}}j{}}00000<<<<<<{{{b{{Dj{Bh}}}}{C`{{b{{Dj{Bh}}}}}}{b{Dl}}}{{C`{{Al{Bh}}}}}}`````````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00``{{}Dn}{{{b{E`}}{b{{Dj{Bh}}}}}{{Eb{{b{{Dj{Bh}}}}Ajc}}}{{Ed{{b{{Dj{Bh}}}}}}{Ef{{b{{Dj{Bh}}}}}}}}{cc{}}00``{ce{}{}}00{c{{f{e}}}{}{}}00``4{EhE`}``{{{b{Dn}}{b{Aj}}{b{d{Al{Bh}}}}}{{h{nEj}}}}```;;;;;;:::333```8877`44``3322{{{b{dEl}}}n}{{{Fb{{Cf{En{F`{A`}}}}}}{Fb{{Fd{Bl}}}}}El}{Ff{{Cf{{Fj{Fh}}{Fj{Af}}}}}}{{{b{dFh}}}n}{{{b{dFl}}}n}`{c{{h{e}}}{}{}}000{{{b{c}}}j{}}0::{{{b{dEl}}}{{Cf{A`Bj}}}}","D":"Jn","p":[[1,"reference"],[0,"mut"],[5,"Request",281],[6,"Result",282],[5,"TypeId",283],[5,"EventCacheControllerImpl",25],[1,"unit"],[5,"EventCacheWriterInputData",25],[5,"Formatter",284],[8,"Result",284],[10,"EventCacheController",25],[5,"EventFilter",285],[5,"SCOutputEvent",286],[5,"Vec",287],[5,"VecDeque",288],[6,"KeyIndent",62],[6,"Ordering",289],[5,"DbKeyBuilder",62],[6,"FilterItem",62],[1,"u8"],[1,"bool"],[5,"EventCache",62],[5,"BTreeSet",290],[6,"Option",291],[1,"u64"],[6,"ModelsError",292],[1,"tuple"],[8,"WriteBatch",293],[17,"Item"],[10,"ExactSizeIterator",294],[10,"Clone",295],[6,"KeyBuilderType",62],[6,"KeyKind",62],[5,"Path",296],[1,"usize"],[1,"u16"],[1,"slice"],[5,"MergeOperands",297],[5,"SCOutputEventSerializer",198],[5,"SCOutputEventDeserializer",198],[8,"IResult",298],[10,"ParseError",299],[10,"ContextError",299],[5,"SCOutputEventDeserializerArgs",198],[6,"SerializeError",300],[5,"EventCacheWriterThread",250],[5,"Condvar",301],[8,"Mutex",302],[5,"Arc",303],[8,"RwLock",304],[5,"EventCacheConfig",6],[10,"EventCacheManager",250],[5,"Box",305],[5,"EventCacheWriterManagerImpl",250]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAMIAGgAAAAkADQAAABYAAwAdAAMAIgAFACoAAgAwAAQANgAWAE8AAgBUACAAeAAEAH8AAACCAAEAiwAAAJYABQCkAAAApwAAAK0AGQDKAA8A3QABAOIAGAD+AAMABQEAAAkBAQAMAQEAEQEHAA=="}],\ ["massa_executed_ops",{"t":"FIFFFFIFFFOOCOOOOOOOOQQOCOCCOOOOOQQOOOOCOOOOOOOOOOOOFFNNNNNNNNNNOONNNNNNNNNNOOOONNNNNNNNNNIFFNNNNOONNNNNNNNNNNNNNNNNOONNFNNNNNNONONOONNNNNNNNNNONNNNNFNOONNNNNONONNNNNNNNOOONNNNOOONNNNNIFFNNNNNNNNNNNNNNOOOONOONNNNNNOONN","n":["ExecutedDenunciations","ExecutedDenunciationsChanges","ExecutedDenunciationsChangesDeserializer","ExecutedDenunciationsChangesSerializer","ExecutedDenunciationsConfig","ExecutedOps","ExecutedOpsChanges","ExecutedOpsChangesDeserializer","ExecutedOpsChangesSerializer","ExecutedOpsConfig","bool_deserializer","bool_serializer","config","config","config","db","db","de_idx_deserializer","de_idx_serializer","denunciation_expire_periods","denunciation_index_deserializer","denunciation_index_key","denunciation_index_key","denunciation_index_serializer","denunciations_changes","endorsement_count","executed_denunciations","executed_ops","keep_executed_history_extra_periods","keep_executed_history_extra_periods","op_exec_status","op_execution","op_execution_deserializer","op_id_key","op_id_key","operation_id_deserializer","operation_id_deserializer","operation_id_serializer","operation_id_serializer","ops_changes","slot_deserializer","slot_deserializer","slot_serializer","slot_serializer","sorted_denunciations","sorted_ops","thread_count","thread_count","u64_deserializer","u64_deserializer","u64_serializer","u64_serializer","ExecutedDenunciationsConfig","ExecutedOpsConfig","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","denunciation_expire_periods","endorsement_count","fmt","fmt","from","from","from_ref","from_ref","into","into","into_request","into_request","keep_executed_history_extra_periods","keep_executed_history_extra_periods","thread_count","thread_count","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ExecutedDenunciationsChanges","ExecutedDenunciationsChangesDeserializer","ExecutedDenunciationsChangesSerializer","borrow","borrow","borrow_mut","borrow_mut","de_idx_deserializer","de_idx_serializer","default","deserialize","from","from","into","into","into_request","into_request","new","new","serialize","try_from","try_from","try_into","try_into","type_id","type_id","u64_deserializer","u64_serializer","vzip","vzip","ExecutedDenunciations","apply_changes_to_batch","borrow","borrow_mut","clone","clone_into","clone_to_uninit","config","contains","db","delete_entry","denunciation_index_deserializer","denunciation_index_serializer","from","from_ref","into","into_request","is_key_value_valid","new","prune_to_batch","put_entry","recompute_sorted_denunciations","reset","sorted_denunciations","to_owned","try_from","try_into","type_id","vzip","ExecutedOps","apply_changes_to_batch","bool_deserializer","bool_serializer","borrow","borrow_mut","clone","clone_into","clone_to_uninit","config","contains","db","delete_entry","from","from_ref","get_ops_exec_status","into","into_request","is_key_value_valid","new","op_exec_status","operation_id_deserializer","operation_id_serializer","prune_to_batch","put_entry","recompute_sorted_ops_and_op_exec_status","reset","slot_deserializer","slot_serializer","sorted_ops","to_owned","try_from","try_into","type_id","vzip","ExecutedOpsChanges","ExecutedOpsChangesDeserializer","ExecutedOpsChangesSerializer","borrow","borrow","borrow_mut","borrow_mut","default","deserialize","from","from","into","into","into_request","into_request","new","new","op_execution","op_execution_deserializer","operation_id_deserializer","operation_id_serializer","serialize","slot_deserializer","slot_serializer","try_from","try_from","try_into","try_into","type_id","type_id","u64_deserializer","u64_serializer","vzip","vzip"],"q":[[0,"massa_executed_ops"],[52,"massa_executed_ops::config"],[90,"massa_executed_ops::denunciations_changes"],[120,"massa_executed_ops::executed_denunciations"],[149,"massa_executed_ops::executed_ops"],[184,"massa_executed_ops::ops_changes"],[218,"core::fmt"],[219,"tonic::request"],[220,"core::result"],[221,"core::any"],[222,"nom::internal"],[223,"nom::error"],[224,"alloc::vec"],[225,"massa_serialization"],[226,"massa_models::slot"],[227,"massa_db_exports::db_batch"],[228,"massa_models::denunciation"],[229,"massa_db_exports::controller"],[230,"massa_models::operation"],[231,"core::option"]],"i":[0,0,0,0,0,0,0,0,0,0,29,29,0,23,29,23,29,12,11,4,23,0,0,23,0,4,0,0,3,4,29,34,35,0,0,35,29,34,29,0,35,29,34,29,23,29,3,4,12,35,11,34,0,0,3,4,3,4,3,4,3,4,3,4,4,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4,0,0,0,11,12,11,12,12,11,11,12,11,12,11,12,11,12,11,12,11,11,12,11,12,11,12,12,11,11,12,0,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,0,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,0,0,0,34,35,34,35,34,35,34,35,34,35,34,35,34,35,34,35,35,34,34,35,34,34,35,34,35,34,35,35,34,34,35],"f":"``````````````````````````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{f}}}f}{{{b{h}}}h}{{{b{c}}{b{de}}}j{}{}}0{{{b{c}}}j{}}0``{{{b{f}}{b{dl}}}n}{{{b{h}}{b{dl}}}n}{cc{}}0{{{b{c}}}c{}}0{ce{}{}}0{c{{A`{e}}}{}{}}0````{{{b{c}}}e{}{}}0{c{{Ab{e}}}{}{}}000{{{b{c}}}Ad{}}044```>>==``{{}Af}{{{b{Ah}}{b{{Al{Aj}}}}}{{B`{{b{{Al{Aj}}}}Anc}}}{{Bb{{b{{Al{Aj}}}}}}{Bd{{b{{Al{Aj}}}}}}}}8866551{{AjBfBh}Ah}{{{b{Af}}{b{An}}{b{d{Bj{Aj}}}}}{{Ab{jBl}}}}555544``88`{{{b{dBn}}AnC`{b{dCb}}}j}{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{Bn}}}Bn}{{{b{c}}{b{de}}}j{}{}}{{{b{c}}}j{}}`{{{b{Bn}}{b{Cd}}}Cf}`{{{b{Bn}}{b{Cd}}{b{dCb}}}j}``{cc{}}{{{b{c}}}c{}}{ce{}{}}{c{{A`{e}}}{}{}}{{{b{Bn}}{b{{Al{Aj}}}}{b{{Al{Aj}}}}}Cf}{{hCh}Bn}{{{b{dBn}}C`{b{dCb}}}j}7{{{b{dBn}}}j}0`{{{b{c}}}e{}{}}{c{{Ab{e}}}{}{}}0{{{b{c}}}Ad{}}8`{{{b{dCj}}ClC`{b{dCb}}}j}``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{Cj}}}Cj}{{{b{c}}{b{de}}}j{}{}}{{{b{c}}}j{}}`{{{b{Cj}}{b{Cn}}}Cf}`{{{b{Cj}}{b{Cn}}{b{dCb}}}j}{cc{}}{{{b{c}}}c{}}{{{b{Cj}}{b{{Al{Cn}}}}}{{Bj{{D`{Cf}}}}}}{ce{}{}}{c{{A`{e}}}{}{}}{{{b{Cj}}{b{{Al{Aj}}}}{b{{Al{Aj}}}}}Cf}{{fCh}Cj}```{{{b{dCj}}C`{b{dCb}}}j}{{{b{Cj}}{b{Cn}}{b{{Db{CfC`}}}}{b{dCb}}}j}{{{b{dCj}}}j}0```{{{b{c}}}e{}{}}{c{{Ab{e}}}{}{}}0{{{b{c}}}Ad{}}9```{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{}Dd}{{{b{Df}}{b{{Al{Aj}}}}}{{B`{{b{{Al{Aj}}}}Clc}}}{{Bb{{b{{Al{Aj}}}}}}{Bd{{b{{Al{Aj}}}}}}}}{cc{}}0>>==2{{AjBh}Df}````{{{b{Dd}}{b{Cl}}{b{d{Bj{Aj}}}}}{{Ab{jBl}}}}``888877``{ce{}{}}0","D":"Kn","p":[[1,"reference"],[0,"mut"],[5,"ExecutedOpsConfig",52],[5,"ExecutedDenunciationsConfig",52],[1,"unit"],[5,"Formatter",218],[8,"Result",218],[5,"Request",219],[6,"Result",220],[5,"TypeId",221],[5,"ExecutedDenunciationsChangesSerializer",90],[5,"ExecutedDenunciationsChangesDeserializer",90],[1,"u8"],[1,"slice"],[8,"ExecutedDenunciationsChanges",90],[8,"IResult",222],[10,"ParseError",223],[10,"ContextError",223],[1,"u32"],[1,"u64"],[5,"Vec",224],[6,"SerializeError",225],[5,"ExecutedDenunciations",120],[5,"Slot",226],[8,"DBBatch",227],[6,"DenunciationIndex",228],[1,"bool"],[8,"ShareableMassaDBController",229],[5,"ExecutedOps",149],[8,"ExecutedOpsChanges",184],[6,"OperationId",230],[6,"Option",231],[1,"tuple"],[5,"ExecutedOpsChangesSerializer",184],[5,"ExecutedOpsChangesDeserializer",184]],"r":[[0,120],[1,90],[2,90],[3,90],[4,52],[5,149],[6,184],[7,184],[8,184],[9,52]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHsAGwAFAAAACgACABIAAQAgAAEAJAADACkAAwAxAA8AQwABAEcAAQBLAAEAUQAJAF4ABwBqAAEAbgAKAHsABACHAAAAiQAAAJEABACYAAYApAAAAKcAAACrAAEAsQABALQABAC8AAUAxgABAMoAEAA="}],\ -["massa_execution_exports",{"t":"PPPPPPPPPPPPPPPPPPPPPPPFPPPPPPPPPPPPPFPPPFPFFFFKGKFFGGFGFGFFPPPPFPPPPPPPPPPFFFGPPPPPGFPPPNNOOOOOOOOOOONNNNOOOOOOOOOOOOOCONNMNNNNOOOCOOOONNOOONNNNNNNNOCOOOCOMOOOOOONNNNNNOOOONMMMMMMMMOONNNNNNOOOONNOOOOCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOONNOMOOOOOOCOOOOOOOMOOOOOOONNNNNNNNCCNNNNNNMNNOOOOOOOOOOOOOOOOOOFNNNNNNNNNNNNNNNNNONNNNNNNNKKMMMMMMMMMMMMMPPPPGGPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHHHHFFNNOOOONNNNOOOOONNNNNNNOOOONNNNNNNNOOOONNNNNNOOOONNNNNNONNOOOOOOOOOOOOOOOOOOOONNOOOOOOOONNNNNNNNNNNNNNNNPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPFPFFFFGFGFGFFPPPPPPFFFGPGNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNOOOONNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOO","n":["AddressBalanceCandidate","AddressBalanceFinal","AddressBytecodeCandidate","AddressBytecodeFinal","AddressDatastoreKeysCandidate","AddressDatastoreKeysFinal","AddressDatastoreValueCandidate","AddressDatastoreValueFinal","AddressDeferredCreditsCandidate","AddressDeferredCreditsFinal","AddressExistsCandidate","AddressExistsFinal","AddressRollsCandidate","AddressRollsFinal","AlreadyExecutedWithFailure","AlreadyExecutedWithSuccess","Amount","BlockGasError","Boolean","Bytecode","BytecodeExecution","CacheError","ChannelError","CondomLimits","CycleInfos","CycleInfos","DatastoreValue","DeferredCallInfo","DeferredCallInfo","DeferredCallQuote","DeferredCallQuote","DeferredCallsBySlot","DeferredCallsBySlot","DeferredCallsError","DeferredCredits","DenunciationExecutionStatusCandidate","DenunciationExecutionStatusFinal","EventStore","Events","Events","ExecutableOrExpired","ExecutedBlockInfo","ExecutedSlot","ExecutionAddressInfo","ExecutionBlockMetadata","ExecutionChannels","ExecutionConfig","ExecutionController","ExecutionError","ExecutionManager","ExecutionOutput","ExecutionQueryCycleInfos","ExecutionQueryError","ExecutionQueryExecutionStatus","ExecutionQueryRequest","ExecutionQueryRequestItem","ExecutionQueryResponse","ExecutionQueryResponseItem","ExecutionQueryStakerInfo","ExecutionStackElement","ExecutionStatus","FactoryError","FinalizedSlot","FunctionCall","GasCosts","IncludeDenunciationError","IncludeOperationError","InvalidSlotRange","KeyList","MassaHashError","ModelsError","NotEnoughGas","NotFound","OpExecutionStatusCandidate","OpExecutionStatusFinal","ReadOnlyCallRequest","ReadOnlyExecutionOutput","ReadOnlyExecutionRequest","ReadOnlyExecutionTarget","RollBuyError","RollCount","RollSellError","RuntimeError","SlashError","SlotExecutionOutput","StorageCostsConstants","TooMuchGas","TransactionError","VMError","__clone_box","__clone_box","abi_costs","active_rolls","address","announced_version","async_msg_cst_gas_cost","auto_sell_execution","base_operation_gas_cost","block_dump_folder_path","block_id","block_info","block_reward","borrow","borrow","borrow_mut","borrow_mut","broadcast_enabled","broadcast_slot_execution_output_channel_capacity","broadcast_slot_execution_traces_channel_capacity","broadcast_traces_enabled","call_result","call_stack","call_stack","cancel_async_message_execution","candidate_balance","candidate_cursor","candidate_datastore_keys","candidate_roll_count","chain_id","channels","cl_compilation_cost","clone","clone","clone_box","clone_into","clone_into","clone_to_uninit","clone_to_uninit","coins","coins","condom_limits","controller_traits","current_version","cursor_delay","cycle","cycle_infos","default","default","deferred_calls_config","deferred_credits_execution","denunciation_expire_periods","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","endorsement_count","error","event_cache_path","event_cache_size","event_snip_amount","event_store","events","execute_readonly_request","fee","final_balance","final_cursor","final_datastore_keys","final_roll_count","final_state_fingerprint","fmt","fmt","from","from","from_ref","from_ref","future_deferred_credits","gas_cost","gas_costs","genesis_timestamp","get_abi_costs","get_addresses_infos","get_cycle_active_rolls","get_denunciation_execution_status","get_filtered_sc_output_event","get_final_and_active_data_entry","get_final_and_candidate_balance","get_ops_exec_status","get_stats","hd_cache_path","hd_cache_size","init","init","into","into","into_request","into_request","is_final","is_final","last_start_period","launch_cost","layout_raw","layout_raw","ledger_cost_per_byte","ledger_entry_base_cost","ledger_entry_datastore_base_cost","lru_cache_size","mapping_grpc","max_async_gas","max_bytecode_size","max_custom_sections_data_len","max_custom_sections_len","max_datastore_key_length","max_datastore_value_size","max_event_per_operation","max_event_size","max_execution_traces_slot_limit","max_exports","max_final_events","max_function_length","max_function_names_len","max_functions","max_gas","max_gas","max_gas_per_block","max_global_initializers_len","max_globals_len","max_imports_len","max_instance_cost","max_memories_len","max_miss_ratio","max_name_len","max_parameter_length","max_passive_data_len","max_passive_elements_len","max_read_only_gas","max_recursive_calls_depth","max_signature_len","max_table_initializers_len","max_tables_count","new","operation_datastore","operation_validity_period","operator_cost","out","owned_addresses","parameter","periods_per_cycle","pointer_metadata","pointer_metadata","production_stats","query_state","readonly_queue_length","requests","responses","roll_count_to_slash_on_denunciation","roll_price","same_thread_parent_creator","settings","slot","slot_execution_output_sender","snip_amount","sp_compilation_cost","staker_infos","state_changes","stats_time_window_duration","stop","storage","storage_costs_constants","t0","target","target_addr","target_func","thread_count","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","types","types_trace_info","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","update_blockclique_status","vzip","vzip","context","error","addr","addr","addr","addr","cycle","key","key","max_gas_request","params_size","prefix","prefix","restrict_to_addresses","target_slot","parameter","target_addr","target_func","ExecutionChannels","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","from","from_ref","init","into","into_request","layout_raw","pointer_metadata","slot_execution_output_sender","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","ExecutionController","ExecutionManager","clone_box","execute_readonly_request","get_addresses_infos","get_cycle_active_rolls","get_denunciation_execution_status","get_filtered_sc_output_event","get_final_and_active_data_entry","get_final_and_candidate_balance","get_ops_exec_status","get_stats","query_state","stop","update_blockclique_status","BlockGasError","CacheError","ChannelError","DeferredCallsError","ExecutionError","ExecutionQueryError","FactoryError","IncludeDenunciationError","IncludeOperationError","InvalidSlotRange","MassaHashError","ModelsError","NotEnoughGas","NotFound","RollBuyError","RollSellError","RuntimeError","SlashError","TooMuchGas","TransactionError","VMError","__clone_box","__clone_box","as_error","as_error","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_ref","from_ref","init","init","into","into","into_request","into_request","layout_raw","layout_raw","pointer_metadata","pointer_metadata","source","to_owned","to_owned","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","vzip","vzip","context","error","EventStore","__clone_box","borrow","borrow_mut","clear","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","extend","finalize","fmt","from","from_ref","get_filtered_sc_output_events","get_filtered_sc_output_events_iter","init","into","into_request","layout_raw","pointer_metadata","prune","push","serialize","take","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","to_cycle_info","to_event_filter","to_execution_query_response","to_execution_query_result","to_execution_query_staker_info","to_querystate_filter","ExecutionConfig","StorageCostsConstants","__clone_box","__clone_box","async_msg_cst_gas_cost","base_operation_gas_cost","block_dump_folder_path","block_reward","borrow","borrow","borrow_mut","borrow_mut","broadcast_enabled","broadcast_slot_execution_output_channel_capacity","broadcast_slot_execution_traces_channel_capacity","broadcast_traces_enabled","chain_id","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","condom_limits","cursor_delay","deferred_calls_config","denunciation_expire_periods","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","endorsement_count","event_cache_path","event_cache_size","event_snip_amount","fmt","fmt","from","from","from_ref","from_ref","gas_costs","genesis_timestamp","hd_cache_path","hd_cache_size","init","init","into","into","into_request","into_request","last_start_period","layout_raw","layout_raw","ledger_cost_per_byte","ledger_entry_base_cost","ledger_entry_datastore_base_cost","lru_cache_size","max_async_gas","max_bytecode_size","max_datastore_key_length","max_datastore_value_size","max_event_per_operation","max_event_size","max_execution_traces_slot_limit","max_final_events","max_function_length","max_gas_per_block","max_miss_ratio","max_parameter_length","max_read_only_gas","max_recursive_calls_depth","operation_validity_period","periods_per_cycle","pointer_metadata","pointer_metadata","readonly_queue_length","roll_count_to_slash_on_denunciation","roll_price","snip_amount","stats_time_window_duration","storage_costs_constants","t0","thread_count","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","vzip","vzip","AddressBalanceCandidate","AddressBalanceFinal","AddressBytecodeCandidate","AddressBytecodeFinal","AddressDatastoreKeysCandidate","AddressDatastoreKeysFinal","AddressDatastoreValueCandidate","AddressDatastoreValueFinal","AddressDeferredCreditsCandidate","AddressDeferredCreditsFinal","AddressExistsCandidate","AddressExistsFinal","AddressRollsCandidate","AddressRollsFinal","AlreadyExecutedWithFailure","AlreadyExecutedWithSuccess","Amount","Boolean","Bytecode","BytecodeExecution","CycleInfos","CycleInfos","DatastoreValue","DeferredCallInfo","DeferredCallInfo","DeferredCallQuote","DeferredCallQuote","DeferredCallsBySlot","DeferredCallsBySlot","DeferredCredits","DenunciationExecutionStatusCandidate","DenunciationExecutionStatusFinal","Events","Events","ExecutableOrExpired","ExecutedBlockInfo","ExecutedSlot","ExecutionAddressInfo","ExecutionBlockMetadata","ExecutionOutput","ExecutionQueryCycleInfos","ExecutionQueryExecutionStatus","ExecutionQueryRequest","ExecutionQueryRequestItem","ExecutionQueryResponse","ExecutionQueryResponseItem","ExecutionQueryStakerInfo","ExecutionStackElement","ExecutionStatus","FinalizedSlot","FunctionCall","KeyList","OpExecutionStatusCandidate","OpExecutionStatusFinal","ReadOnlyCallRequest","ReadOnlyExecutionOutput","ReadOnlyExecutionRequest","ReadOnlyExecutionTarget","RollCount","SlotExecutionOutput","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","active_rolls","address","announced_version","auto_sell_execution","block_id","block_info","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call_result","call_stack","call_stack","cancel_async_message_execution","candidate_balance","candidate_cursor","candidate_datastore_keys","candidate_roll_count","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","coins","coins","current_version","cycle","cycle_infos","deferred_credits_execution","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","events","fee","final_balance","final_cursor","final_datastore_keys","final_roll_count","final_state_fingerprint","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","future_deferred_credits","gas_cost","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","is_final","is_final","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","max_gas","max_gas","operation_datastore","out","owned_addresses","parameter","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","production_stats","requests","responses","same_thread_parent_creator","serialize","serialize","slot","staker_infos","state_changes","storage","target","target_addr","target_func","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","addr","addr","addr","addr","cycle","key","key","max_gas_request","params_size","prefix","prefix","restrict_to_addresses","target_slot","parameter","target_addr","target_func"],"q":[[0,"massa_execution_exports"],[286,"massa_execution_exports::ExecutionError"],[288,"massa_execution_exports::ExecutionQueryRequestItem"],[301,"massa_execution_exports::ReadOnlyExecutionTarget"],[304,"massa_execution_exports::channels"],[331,"massa_execution_exports::controller_traits"],[346,"massa_execution_exports::error"],[430,"massa_execution_exports::error::ExecutionError"],[432,"massa_execution_exports::event_store"],[469,"massa_execution_exports::mapping_grpc"],[475,"massa_execution_exports::settings"],[580,"massa_execution_exports::types"],[1083,"massa_execution_exports::types::ExecutionQueryRequestItem"],[1096,"massa_execution_exports::types::ReadOnlyExecutionTarget"],[1099,"dyn_clone::sealed"],[1100,"massa_sc_runtime::types"],[1101,"alloc::boxed"],[1102,"rkyv::with"],[1103,"core::result"],[1104,"core::fmt"],[1105,"alloc::string"],[1106,"std::collections::hash::map"],[1107,"massa_models::address"],[1108,"massa_models::slot"],[1109,"core::ops::range"],[1110,"alloc::vec"],[1111,"alloc::collections::btree::map"],[1112,"massa_models::denunciation"],[1113,"massa_models::execution"],[1114,"massa_models::output_event"],[1115,"core::option"],[1116,"massa_models::amount"],[1117,"massa_models::operation"],[1118,"massa_models::stats"],[1119,"tonic::request"],[1120,"core::alloc::layout"],[1121,"std::path"],[1122,"anyhow"],[1123,"core::any"],[1124,"massa_models::block_id"],[1125,"massa_models::prehash"],[1126,"core::error"],[1127,"massa_models::error"],[1128,"massa_hash::error"],[1129,"massa_versioning::versioning_factory"],[1130,"massa_module_cache::error"],[1131,"alloc::collections::vec_deque"],[1132,"core::iter::traits::iterator"],[1133,"serde::ser"],[1134,"massa_proto_rs::massa::api::v1"]],"i":[72,72,72,72,72,72,72,72,72,72,72,72,72,72,81,81,66,14,66,66,78,14,14,0,72,66,66,72,66,72,66,72,66,14,66,72,72,0,72,66,81,0,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,14,75,78,0,14,14,14,66,14,14,14,52,72,72,0,0,0,0,14,66,14,14,14,0,0,14,14,14,5,6,6,69,80,76,74,77,74,74,76,77,74,5,6,5,6,74,74,74,74,13,12,79,77,24,43,24,24,74,0,6,5,6,7,5,6,5,6,12,80,74,0,76,74,63,24,5,6,74,77,74,5,6,5,6,5,6,5,6,74,0,74,74,74,0,77,7,12,24,43,24,24,43,5,6,5,6,5,6,24,13,74,74,6,7,7,7,7,7,7,7,7,74,74,5,6,5,6,5,6,63,79,74,6,5,6,73,73,73,74,0,74,74,5,5,74,74,74,74,74,5,74,74,5,5,12,79,74,5,5,5,6,5,74,5,74,5,5,74,74,5,5,5,6,80,74,6,13,80,79,74,5,6,69,7,74,42,43,74,74,48,0,77,50,74,6,63,77,74,44,48,74,74,12,79,79,74,5,6,5,6,5,6,5,6,0,0,5,6,5,6,5,6,7,5,6,82,82,83,84,85,86,87,85,86,88,88,83,84,87,88,89,89,89,0,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,0,0,7,7,7,7,7,7,7,7,7,7,7,44,7,14,14,14,14,0,0,14,14,14,14,14,14,14,52,14,14,14,14,14,14,14,14,52,14,52,14,52,14,52,14,52,14,52,14,52,14,52,14,52,14,52,14,52,14,14,52,52,14,14,14,14,14,52,14,52,14,52,14,52,14,52,14,52,14,52,14,14,52,14,52,14,52,14,52,14,52,14,52,14,52,14,52,14,52,82,82,0,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,0,0,0,0,0,0,0,0,73,74,74,74,74,74,73,74,73,74,74,74,74,74,74,73,74,73,74,73,73,74,74,74,74,74,73,74,73,74,73,74,73,74,74,74,74,74,73,74,73,74,73,74,74,74,74,74,73,74,73,74,73,74,74,73,74,73,73,73,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,73,74,74,74,74,74,74,74,74,74,73,74,73,74,73,74,73,74,73,74,73,74,73,74,73,74,72,72,72,72,72,72,72,72,72,72,72,72,72,72,81,81,66,66,66,78,72,66,66,72,66,72,66,72,66,66,72,72,72,66,81,0,75,0,0,0,0,0,0,0,0,0,0,0,66,75,78,66,72,72,0,0,0,0,66,0,48,24,75,76,77,13,12,78,79,80,69,80,76,77,76,77,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,13,12,79,77,24,43,24,24,48,24,75,76,77,13,12,78,79,80,48,24,75,76,77,13,12,78,79,80,48,24,75,76,77,13,12,78,79,80,12,80,76,63,24,77,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,77,12,24,43,24,24,43,48,24,75,76,77,13,12,78,79,80,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,48,24,75,76,77,13,12,78,79,80,24,13,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,63,79,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,12,79,80,13,80,79,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,69,42,43,48,76,77,77,63,77,48,12,79,79,48,24,75,76,77,13,12,78,79,80,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,42,43,72,66,81,63,69,48,24,75,76,77,13,12,78,79,80,83,84,85,86,87,85,86,88,88,83,84,87,88,89,89,89],"f":"`````````````````````````````````````````````````````````````````````````````````````````{{{b{c}}d}f{}}0```````````{{{b{c}}}{{b{e}}}{}{}}0{{{b{hc}}}{{b{he}}}{}{}}0```````````````{{{b{j}}}j}{{{b{l}}}l}{{{b{n}}}{{A`{n}}}}{{{b{c}}{b{he}}}f{}{}}0{{{b{c}}}f{}}0````````{{}j}{{}l}```{Ab{{b{c}}}{}}0{Ab{{b{hc}}}{}}0{{{b{c}}{b{he}}}{{Af{{Ad{gi}}}}}{}{}{}{}}0{Abf}0```````{{{b{n}}Ah}{{Af{AjAl}}}}``````{{{b{j}}{b{hAn}}}{{Af{fB`}}}}{{{b{l}}{b{hAn}}}{{Af{fB`}}}}{cc{}}0{{{b{c}}}c{}}0````{{{b{l}}}{{b{{Bf{BbBd}}}}}}{{{b{n}}{b{{Bj{Bh}}}}{Bn{Bl}}}{{Cb{C`}}}}{{{b{n}}Bd}{{Cd{BhBd}}}}{{{b{n}}{b{Cf}}}{{Cj{ChCh}}}}{{{b{n}}Cl}{{Cb{Cn}}}}{{{b{n}}{Cb{{Cj{Bh{Cb{D`}}}}}}}{{Cb{{Cj{{Db{{Cb{D`}}}}{Db{{Cb{D`}}}}}}}}}}{{{b{n}}{b{{Bj{Bh}}}}}{{Cb{{Cj{{Db{Dd}}{Db{Dd}}}}}}}}{{{b{n}}{b{{Bj{Df}}}}}{{Cb{{Cj{{Db{Ch}}{Db{Ch}}}}}}}}{{{b{n}}}Dh}``{{}Ab}0{ce{}{}}0{c{{Dj{e}}}{}{}}0````{{}{{Af{DlDn}}}}0`````````````````````````````````````{E`{{Af{lEb}}}}```````{b}0`{{{b{n}}Ed}Ef}``````````````{{{b{hEh}}}f}```````{{{b{c}}}e{}{}}0{c{{Af{e}}}{}{}}000{{{b{c}}}Ej{}}0``{{{A`{c}}}{{A`{El}}}{}}0{{{b{hc}}}{{b{hEl}}}{}}0{{{b{c}}}{{b{El}}}{}}0{{{b{n}}{Bf{BlEn}}{Db{{Bf{BlEn}}}}{Fb{EnF`}}}f}==```````````````````{{{b{c}}d}f{}}{{{b{c}}}{{b{e}}}{}{}}{{{b{hc}}}{{b{he}}}{}{}}{{{b{Fd}}}Fd}{{{b{c}}{b{he}}}f{}{}}{{{b{c}}}f{}}{Ab{{b{c}}}{}}{Ab{{b{hc}}}{}}{{{b{c}}{b{he}}}{{Af{{Ad{gi}}}}}{}{}{}{}}{Abf}{cc{}}{{{b{c}}}c{}}{{}Ab}{ce{}{}}{c{{Dj{e}}}{}{}}{{}{{Af{DlDn}}}}{b}`{{{b{c}}}e{}{}}{c{{Af{e}}}{}{}}0{{{b{c}}}Ej{}}{{{A`{c}}}{{A`{El}}}{}}{{{b{hc}}}{{b{hEl}}}{}}{{{b{c}}}{{b{El}}}{}}9``{{{b{n}}}{{A`{n}}}}{{{b{n}}Ah}{{Af{AjAl}}}}{{{b{n}}{b{{Bj{Bh}}}}{Bn{Bl}}}{{Cb{C`}}}}{{{b{n}}Bd}{{Cd{BhBd}}}}{{{b{n}}{b{Cf}}}{{Cj{ChCh}}}}{{{b{n}}Cl}{{Cb{Cn}}}}{{{b{n}}{Cb{{Cj{Bh{Cb{D`}}}}}}}{{Cb{{Cj{{Db{{Cb{D`}}}}{Db{{Cb{D`}}}}}}}}}}{{{b{n}}{b{{Bj{Bh}}}}}{{Cb{{Cj{{Db{Dd}}{Db{Dd}}}}}}}}{{{b{n}}{b{{Bj{Df}}}}}{{Cb{{Cj{{Db{Ch}}{Db{Ch}}}}}}}}{{{b{n}}}Dh}{{{b{n}}Ed}Ef}{{{b{hEh}}}f}{{{b{n}}{Bf{BlEn}}{Db{{Bf{BlEn}}}}{Fb{EnF`}}}f}`````````````````````{{{b{c}}d}f{}}0{{{b{c}}}{{b{Ff}}}{}}0{{{b{c}}}{{b{e}}}{}{}}0{{{b{hc}}}{{b{he}}}{}{}}0{{{b{Al}}}Al}{{{b{Fh}}}Fh}{{{b{c}}{b{he}}}f{}{}}0{{{b{c}}}f{}}0{Ab{{b{c}}}{}}0{Ab{{b{hc}}}{}}0{{{b{c}}{b{he}}}{{Af{{Ad{gi}}}}}{}{}{}{}}0{Abf}0{{{b{Al}}{b{hAn}}}Fj}0{{{b{Fh}}{b{hAn}}}Fj}0{FlAl}{FnAl}{G`Al}{GbAl}{cc{}}0{{{b{c}}}c{}}0{{}Ab}0{ce{}{}}0{c{{Dj{e}}}{}{}}0{{}{{Af{DlDn}}}}0{b}0{{{b{Al}}}{{Db{{b{Ff}}}}}}{{{b{c}}}e{}{}}0{{{b{c}}}Bb{}}0{c{{Af{e}}}{}{}}000{{{b{c}}}Ej{}}0{{{A`{c}}}{{A`{El}}}{}}0{{{b{hc}}}{{b{hEl}}}{}}0{{{b{c}}}{{b{El}}}{}}0;;```{{{b{c}}d}f{}}{{{b{c}}}{{b{e}}}{}{}}{{{b{hc}}}{{b{he}}}{}{}}{{{b{hGd}}}f}{{{b{Gd}}}Gd}{{{b{c}}{b{he}}}f{}{}}{{{b{c}}}f{}}{{}Gd}{Ab{{b{c}}}{}}{Ab{{b{hc}}}{}}{{{b{c}}{b{he}}}{{Af{{Ad{gi}}}}}{}{}{}{}}{Abf}{{{b{hGd}}Gd}f}9{{{b{Gd}}{b{hAn}}}Fj}{cc{}}{{{b{c}}}c{}}{{{b{Gd}}{b{Cl}}}{{Gf{Cn}}}}{{{b{Gd}}{b{Cl}}}{{`{{Gj{}{{Gh{{b{Cn}}}}}}}}}}{{}Ab}{ce{}{}}{c{{Dj{e}}}{}{}}{{}{{Af{DlDn}}}}{b}{{{b{hGd}}Ab}f}{{{b{hGd}}Cn}f}{{{b{Gd}}c}AfGl}{{{b{hGd}}}{{Gf{Cn}}}}{{{b{c}}}e{}{}}{c{{Af{e}}}{}{}}0{{{b{c}}}Ej{}}{{{A`{c}}}{{A`{El}}}{}}{{{b{hc}}}{{b{hEl}}}{}}{{{b{c}}}{{b{El}}}{}}={GnH`}{{{Cb{Hb}}}{{Af{ClFl}}}}{{{Af{HdFh}}}Hf}{HdHh}{{BhHj}Hl}{Hn{{Af{I`Fl}}}}``{{{b{c}}d}f{}}0````{{{b{c}}}{{b{e}}}{}{}}0{{{b{hc}}}{{b{he}}}{}{}}0`````{{{b{Ib}}}Ib}{{{b{Id}}}Id}{{{b{c}}{b{he}}}f{}{}}0{{{b{c}}}f{}}00````{Ab{{b{c}}}{}}0{Ab{{b{hc}}}{}}0{{{b{c}}{b{he}}}{{Af{{Ad{gi}}}}}{}{}{}{}}0{Abf}0````{{{b{Ib}}{b{hAn}}}Fj}{{{b{Id}}{b{hAn}}}Fj}{cc{}}0{{{b{c}}}c{}}0````{{}Ab}0{ce{}{}}0{c{{Dj{e}}}{}{}}0`{{}{{Af{DlDn}}}}0````````````````````{b}0````````{{{b{c}}}e{}{}}0{c{{Af{e}}}{}{}}000{{{b{c}}}Ej{}}0{{{A`{c}}}{{A`{El}}}{}}0{{{b{hc}}}{{b{hEl}}}{}}0{{{b{c}}}{{b{El}}}{}}099````````````````````````````````````````````````````````````{{{b{c}}d}f{}}000000000``````{{{b{c}}}{{b{e}}}{}{}}0000000000000000{{{b{hc}}}{{b{he}}}{}{}}0000000000000000````````{{{b{F`}}}F`}{{{b{C`}}}C`}{{{b{If}}}If}{{{b{Ih}}}Ih}{{{b{Ij}}}Ij}{{{b{Aj}}}Aj}{{{b{Ah}}}Ah}{{{b{Il}}}Il}{{{b{In}}}In}{{{b{J`}}}J`}{{{b{c}}{b{he}}}f{}{}}000000000{{{b{c}}}f{}}000000000``````{Ab{{b{c}}}{}}0000000000000000{Ab{{b{hc}}}{}}0000000000000000{{{b{c}}{b{he}}}{{Af{{Ad{gi}}}}}{}{}{}{}}0000000000000000{Abf}0000000000000000```````{{{b{F`}}{b{hAn}}}Fj}{{{b{C`}}{b{hAn}}}Fj}{{{b{If}}{b{hAn}}}Fj}{{{b{Ih}}{b{hAn}}}Fj}{{{b{Ij}}{b{hAn}}}Fj}{{{b{Aj}}{b{hAn}}}Fj}{{{b{Ah}}{b{hAn}}}Fj}{{{b{Il}}{b{hAn}}}Fj}{{{b{In}}{b{hAn}}}Fj}{{{b{J`}}{b{hAn}}}Fj}{cc{}}0000000000000000{{{b{c}}}c{}}000000000``{{}Ab}0000000000000000{ce{}{}}0000000000000000{c{{Dj{e}}}{}{}}0000000000000000``{{}{{Af{DlDn}}}}0000000000000000``````{b}0000000000000000````{{{b{Ih}}c}AfGl}{{{b{Ij}}c}AfGl}```````{{{b{c}}}e{}{}}000000000{c{{Af{e}}}{}{}}000000000000000000000000000000000{{{b{c}}}Ej{}}0000000000000000{{{A`{c}}}{{A`{El}}}{}}0000000000000000{{{b{hc}}}{{b{hEl}}}{}}0000000000000000{{{b{c}}}{{b{El}}}{}}0000000000000000;;;;;;;;;;;;;;;;;````````````````","D":"CNn","p":[[1,"reference"],[5,"Private",1099],[1,"unit"],[0,"mut"],[5,"CondomLimits",0,1100],[5,"GasCosts",0,1100],[10,"ExecutionController",331],[5,"Box",1101],[1,"usize"],[5,"With",1102],[6,"Result",1103],[5,"ReadOnlyExecutionRequest",580],[5,"ReadOnlyExecutionOutput",580],[6,"ExecutionError",346],[5,"Formatter",1104],[5,"Error",1104],[5,"String",1105],[1,"u64"],[5,"HashMap",1106],[6,"Address",1107],[1,"slice"],[5,"Slot",1108],[6,"Bound",1109],[5,"ExecutionAddressInfo",580],[5,"Vec",1110],[5,"BTreeMap",1111],[6,"DenunciationIndex",1112],[1,"bool"],[1,"tuple"],[5,"EventFilter",1113],[5,"SCOutputEvent",1114],[1,"u8"],[6,"Option",1115],[5,"Amount",1116],[6,"OperationId",1117],[5,"ExecutionStats",1118],[5,"Request",1119],[5,"Layout",1120],[5,"LayoutError",1120],[5,"PathBuf",1121],[5,"Error",1122],[5,"ExecutionQueryRequest",580],[5,"ExecutionQueryResponse",580],[10,"ExecutionManager",331],[5,"TypeId",1123],[10,"Any",1123],[6,"BlockId",1124],[5,"ExecutionBlockMetadata",580],[8,"PreHashMap",1125],[5,"ExecutionChannels",304],[10,"Error",1126],[6,"ExecutionQueryError",346],[8,"Result",1104],[6,"ModelsError",1127],[6,"MassaHashError",1128],[6,"FactoryError",1129],[6,"CacheError",1130],[5,"EventStore",432],[5,"VecDeque",1131],[17,"Item"],[10,"Iterator",1132],[10,"Serializer",1133],[5,"ExecutionQueryCycleInfos",580],[5,"ExecutionQueryCycleInfos",1134],[5,"ScExecutionEventsFilter",1134],[6,"ExecutionQueryResponseItem",580],[5,"ExecutionQueryResponse",1134],[5,"ExecutionQueryResponseItem",1134],[5,"ExecutionQueryStakerInfo",580],[5,"ExecutionQueryStakerInfoEntry",1134],[5,"ExecutionQueryRequestItem",1134],[6,"ExecutionQueryRequestItem",580],[5,"StorageCostsConstants",475],[5,"ExecutionConfig",475],[6,"SlotExecutionOutput",580],[5,"ExecutedBlockInfo",580],[5,"ExecutionOutput",580],[6,"ReadOnlyExecutionTarget",580],[5,"ReadOnlyCallRequest",580],[5,"ExecutionStackElement",580],[6,"ExecutionQueryExecutionStatus",580],[15,"VMError",430],[15,"AddressDatastoreKeysCandidate",1083],[15,"AddressDatastoreKeysFinal",1083],[15,"AddressDatastoreValueCandidate",1083],[15,"AddressDatastoreValueFinal",1083],[15,"CycleInfos",1083],[15,"DeferredCallQuote",1083],[15,"FunctionCall",1096]],"r":[[23,1100],[37,432],[41,580],[43,580],[44,580],[45,304],[46,475],[47,331],[48,346],[49,331],[50,580],[51,580],[52,346],[53,580],[54,580],[55,580],[56,580],[57,580],[58,580],[59,580],[64,1100],[75,580],[76,580],[77,580],[78,580],[84,580],[85,475]],"b":[[389,"impl-Debug-for-ExecutionError"],[390,"impl-Display-for-ExecutionError"],[391,"impl-Debug-for-ExecutionQueryError"],[392,"impl-Display-for-ExecutionQueryError"],[393,"impl-From%3CModelsError%3E-for-ExecutionError"],[394,"impl-From%3CMassaHashError%3E-for-ExecutionError"],[395,"impl-From%3CFactoryError%3E-for-ExecutionError"],[396,"impl-From%3CCacheError%3E-for-ExecutionError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFQCQgAYAAAAQQAAAFoAAgBnAAMAeAADAH0AAwCJAAEAjgAHAKQAAQCoAAEArgAAALkAAQC9AAEAwgACAMwAAQDTAAAA1gABANsABADhAAAA4wABAOcAAwDtAAAA8gABAAABAAAMAQcAFgEFAB0BAQAyAQkAPQEBAEABAgBEAQcAcAEdAJABAwCWARgAsgECALYBBwDAAQAAwgEAAMUBAADHAQIAzAEAAM4BCADZAQEA3gEBAOQBAwDtAQYA+AEHAAQCAQAIAgEADgIBABICAQAVAgEAKwIBADUCDwCBAgkAkQIhALsCHQDfAkMAKgMJAEUDCQBRAxAAcwMQAIYDEACdAxAAsgMBALsDgAA="}],\ -["massa_execution_worker",{"t":"CCCCCCCCCCCCCCHCCCPFPPGPPPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNONONNNNNNONOOOOOOOONNNNNONNNNNNNNNNONNONOOONNOOHNNNNNNNNNNNNNNNNNHNNNNNNNNNNOOONOONNONONOONNNNOOOOOOOOONNNNNNNNNNOONNNNNNNNNFFFNONNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNNNNNNNONNNNONONONNNNNNNNNNNNNNNNNNNNNNNNIIFOONNNNOOQNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNOOONNNOONNNNNNNNOFFFFFGPPOOOONNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNNONNNNNNOONNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNHHNNNNNNNNNNNNNNNNNNNNNNNNOOQNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNOOONNNNNNNNNNNNNNFFNNNNNNNNNOOONNNNNNNNONNNNNNNNNNNNNNNNNOOOONNNNNNONONNNNNNNNNNNNNNNNFONNNNNNNONNNNNNNHNONNONNNNNNNNNNNNFSONNNNNOONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNFONNNNNNOONNNNNNNNNNNNNNNNNNNFONNNNNNOONNNNNNNNNNNNNNNNNNNFOONNNNNNNNNNONNNNNNNNNNNNOOONNNNNONNNNNNNNNFONONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNOOONNNNNNNNNNNNONNNNNNNFFKNNNNONNNNNNNNONNNNNNNNNNOONNNNMNNOONNNNNNNNNNNNNNMNNFNNNNNNNONNONNNNNNOOOHNNNNNNNNN","n":["active_history","context","controller","execution","execution_info","interface_impl","request_queue","slot_sequencer","speculative_async_pool","speculative_deferred_calls","speculative_executed_denunciations","speculative_executed_ops","speculative_ledger","speculative_roll_state","start_execution_worker","stats","storage_backend","worker","Absent","ActiveHistory","Found","Future","HistorySearchResult","NoHistory","NoInfo","Past","Present","SlotIndexPosition","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","fetch_active_history_data_entry","fetch_balance","fetch_bytecode","fetch_executed_denunciation","fetch_executed_op","fetch_message","fetch_roll_count","find_cycle_indices","fmt","from","from","from","get_address_deferred_credit_for","get_all_deferred_credits_until","get_execution_trail_hash","get_ops_exec_status","get_slot_index","init","init","init","into","into","into","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","pointer_metadata","pointer_metadata","pointer_metadata","truncate_from","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","vzip","vzip","vzip","ExecutionContext","ExecutionContextSnapshot","active_slot","add_rolls","address_factory","append_data_entry","async_pool_changes","borrow","borrow","borrow_mut","borrow_mut","cancel_async_message","check_target_sc_address","config","create_new_sc_address","created_addr_index","created_addr_index","created_event_index","created_event_index","created_message_index","created_message_index","creator_address","creator_min_balance","deferred_call_cancel","deferred_call_exists","deferred_call_fail_exec","deferred_call_register","deferred_calls_advance_slot","deferred_calls_changes","deferred_calls_compute_call_fee","delete_data_entry","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","event_count","event_create","event_emit","events","execute_deferred_credits","executed_denunciations","executed_ops","execution_trail_hash","from","from","gas_remaining_before_subexecution","gas_remaining_before_subexecution","generate_execution_trail_hash","get_address_cycle_infos","get_address_future_deferred_credits","get_balance","get_bytecode","get_call_stack","get_current_address","get_current_call_coins","get_current_owned_addresses","get_data_entry","get_deferred_call","get_deferred_calls_by_slot","get_keys","get_snapshot","has_data_entry","has_write_rights_on","init","init","init_prng","insert_executed_denunciation","insert_executed_op","into","into","into_request","into_request","is_denunciation_executed","is_op_executed","layout_raw","layout_raw","ledger_changes","message_infos","module_cache","new","opt_block_id","origin_operation_id","pointer_metadata","pointer_metadata","pos_changes","push_new_message","read_only","readonly","recursion_counter","recursion_counter","reset_to_snapshot","set_bytecode","set_data_entry","settle_slot","slot","speculative_async_pool","speculative_deferred_calls","speculative_executed_denunciations","speculative_executed_ops","speculative_ledger","speculative_roll_state","stack","stack","take_async_batch","transfer_coins","try_from","try_from","try_into","try_into","try_sell_rolls","try_slash_rolls","type_id","type_id","unsafe_rng","unsafe_rng","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","update_production_stats","vzip","vzip","ExecutionControllerImpl","ExecutionInputData","ExecutionManagerImpl","__clone_box","block_metadata","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_box","clone_into","clone_to_uninit","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","execute_readonly_request","execution_state","finalized_blocks","fmt","from","from","from","from_ref","get_addresses_infos","get_cycle_active_rolls","get_denunciation_execution_status","get_filtered_sc_output_event","get_final_and_active_data_entry","get_final_and_candidate_balance","get_ops_exec_status","get_stats","init","init","init","input_data","input_data","into","into","into","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","new","new_blockclique","pointer_metadata","pointer_metadata","pointer_metadata","query_state","readonly_requests","stop","stop","take","thread_handle","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","update_blockclique_status","vzip","vzip","vzip","ExecutionResult","ExecutionResultInner","ExecutionState","active_cursor","active_history","apply_active_execution_output","apply_final_execution_output","borrow","borrow_mut","channels","config","context_guard","deferred_call_info","deferred_call_quote","deref","deref_mut","deserialize","drop","execute_async_message","execute_callsc_op","execute_candidate_slot","execute_deferred_call","execute_denunciation","execute_executesc_op","execute_final_slot","execute_operation","execute_readonly_request","execute_roll_buy_op","execute_roll_sell_op","execute_slot","execute_transaction_op","execution_context","execution_interface","final_cursor","final_events_cache","final_state","from","get_address_cycle_infos","get_address_deferred_credits","get_address_future_deferred_credits","get_cycle_active_rolls","get_cycle_infos","get_deferred_calls_by_slot","get_denunciation_execution_status","get_filtered_sc_output_event","get_final_and_active_bytecode","get_final_and_active_data_entry","get_final_and_candidate_balance","get_final_and_candidate_datastore_keys","get_final_and_candidate_rolls","get_final_state_fingerprint","get_ops_exec_status","get_stats","init","into","into_request","layout_raw","massa_metrics","mip_store","module_cache","new","pointer_metadata","prepare_operation_for_execution","selector","stats_counter","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","update_versioning_stats","vzip","wallet","AsyncMessageExecutionResult","DeferredCallExecutionResult","DenunciationResult","ExecutionInfo","ExecutionInfoForSlot","OperationInfo","RollBuy","RollSell","address_denounced","async_messages","auto_sell_execution","block_producer_reward","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cancel_async_message_execution","coins","coins","deferred_calls_messages","deferred_credits_execution","denunciations","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destination","drop","drop","drop","drop","drop","drop","endorsement_creator_rewards","endorsement_target_reward","fmt","from","from","from","from","from","from","info_per_slot","init","init","init","init","init","init","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","new","new","new","new","operations","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","save_for_slot","sender","sender","slashed","slot","success","success","target_address","target_function","traces","traces","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","vzip","vzip","vzip","vzip","vzip","vzip","InterfaceImpl","__clone_box","add_native_amount_wasmv1","address_from_public_key","amount_from_native_amount","amount_to_native_amount","append_ds_value_wasmv1","base58_check_to_bytes_wasmv1","borrow","borrow_mut","bytes_to_base58_check_wasmv1","caller_has_write_access","chain_id","check_address_wasmv1","check_native_amount_wasmv1","check_pubkey_wasmv1","check_signature_wasmv1","checked_add_native_time_wasmv1","checked_div_native_time_wasmv1","checked_mul_native_time_wasmv1","checked_scalar_div_native_time_wasmv1","checked_sub_native_time_wasmv1","clone","clone_box","clone_into","clone_to_uninit","compare_address_wasmv1","compare_native_amount_wasmv1","compare_native_time_wasmv1","compare_pub_key_wasmv1","config","context","context_guard","create_module","decrement_recursion_counter","deferred_call_cancel","deferred_call_exists","deferred_call_register","delete_ds_entry_wasmv1","deref","deref_mut","deserialize","div_rem_native_amount_wasmv1","drop","ds_entry_exists_wasmv1","evm_get_address_from_pubkey","evm_get_pubkey_from_signature","evm_signature_verify","finish_call","from","from_ref","generate_event","generate_event_wasmv1","get_address_category_wasmv1","get_address_from_opt_or_context","get_address_version_wasmv1","get_balance","get_balance_for","get_balance_wasmv1","get_bytecode_wasmv1","get_call_coins","get_call_coins_wasmv1","get_call_stack","get_current_period","get_current_slot","get_current_thread","get_deferred_call_quote","get_ds_keys_wasmv1","get_ds_value_wasmv1","get_interface_version","get_keys","get_keys_for","get_module","get_op_data","get_op_keys","get_op_keys_wasmv1","get_origin_operation_id","get_owned_addresses","get_pubkey_version_wasmv1","get_signature_version_wasmv1","get_time","get_tmp_module","has_data","has_data_for","hash","hash_blake3","hash_keccak256","hash_sha256","increment_recursion_counter","init","init_call","init_call_wasmv1","into","into_request","is_address_eoa","layout_raw","massa_time_from_native_time","massa_time_to_native_time","native_amount_from_str_wasmv1","native_amount_to_string_wasmv1","new","op_entry_exists","pointer_metadata","print","raw_append_data","raw_append_data_for","raw_delete_data","raw_delete_data_for","raw_get_bytecode","raw_get_bytecode_for","raw_get_data","raw_get_data_for","raw_set_bytecode","raw_set_bytecode_for","raw_set_data","raw_set_data_for","save_gas_remaining_before_subexecution","scalar_div_rem_native_amount_wasmv1","scalar_mul_native_amount_wasmv1","send_message","set_bytecode_wasmv1","set_ds_value_wasmv1","signature_verify","sub_native_amount_wasmv1","to_owned","transfer_coins","transfer_coins_for","transfer_coins_wasmv1","try_from","try_into","type_id","unsafe_random","unsafe_random_f64","unsafe_random_wasmv1","upcast_any_box","upcast_any_mut","upcast_any_ref","validate_address","vzip","RequestQueue","RequestWithResponseSender","borrow","borrow","borrow_mut","borrow_mut","cancel","cancel","capacity","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","extend","fmt","fmt","from","from","init","init","into","into","into_request","into_request","into_request_sender_pair","is_empty","is_full","layout_raw","layout_raw","max_items","new","new","pointer_metadata","pointer_metadata","pop","push","queue","request","response_tx","try_from","try_from","try_into","try_into","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","vzip","vzip","SlotInfo","SlotSequencer","__clone_box","borrow","borrow","borrow_mut","borrow_mut","cleanup_sequence","clone","clone_into","clone_to_uninit","config","consensus_final","content","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","execution_final","fmt","from","from","from_ref","get_block_id","get_next_slot_deadline","get_slot","get_slot_index","get_time_cursor","init","init","init","into","into","into_request","into_request","is_task_available","latest_consensus_final_slots","latest_executed_candidate_slot","latest_executed_final_slot","latest_execution_final_slot","layout_raw","layout_raw","new","pointer_metadata","pointer_metadata","run_task_with","sequence","sequence_build_step","slot","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","update","vzip","vzip","SpeculativeAsyncPool","active_history","borrow","borrow_mut","deref","deref_mut","deserialize","drop","fetch_msgs","final_state","from","get_snapshot","init","into","into_request","is_message_expired","is_message_ready_to_execute","is_triggered","layout_raw","message_infos","new","pointer_metadata","pool_changes","push_new_message","reset_to_snapshot","settle_slot","take","take_batch_to_execute","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","SpeculativeDeferredCallRegistry","TARGET_BOOKING","active_history","advance_slot","borrow","borrow_mut","cancel_call","compute_call_fee","config","deferred_calls_changes","delete_call","deref","deref_mut","deserialize","drop","final_state","from","get_call","get_calls_by_slot","get_effective_slot_gas","get_effective_total_gas","get_slot_base_fee","get_snapshot","get_total_calls_registered","init","into","into_request","layout_raw","new","overbooking_fee","pointer_metadata","push_new_call","register_call","reset_to_snapshot","set_total_calls_registered","take","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","SpeculativeExecutedDenunciations","active_history","borrow","borrow_mut","deref","deref_mut","deserialize","drop","executed_denunciations","final_state","from","get_snapshot","init","insert_executed_denunciation","into","into_request","is_denunciation_executed","layout_raw","new","pointer_metadata","reset_to_snapshot","take","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","SpeculativeExecutedOps","active_history","borrow","borrow_mut","deref","deref_mut","deserialize","drop","executed_ops","final_state","from","get_snapshot","init","insert_executed_op","into","into_request","is_op_executed","layout_raw","new","pointer_metadata","reset_to_snapshot","take","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","SpeculativeLedger","active_history","added_changes","borrow","borrow_mut","charge_datastore_entry_change_storage","create_new_sc_address","delete_data_entry","deref","deref_mut","deserialize","drop","entry_exists","final_state","from","get_balance","get_bytecode","get_data_entry","get_keys","get_snapshot","get_storage_cost_datastore_entry","has_data_entry","init","into","into_request","layout_raw","max_bytecode_size","max_datastore_key_length","max_datastore_value_size","new","pointer_metadata","reset_to_snapshot","set_bytecode","set_data_entry","storage_costs_constants","take","transfer_coins","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","SpeculativeRollState","active_history","add_rolls","added_changes","borrow","borrow_mut","deref","deref_mut","deserialize","drop","final_state","from","get_address_cycle_infos","get_address_deferred_credit_for_slot","get_address_deferred_credits","get_production_stats_at_cycle","get_rolls","get_snapshot","init","into","into_request","layout_raw","new","pointer_metadata","reset_to_snapshot","settle_production_stats","take","take_unexecuted_deferred_credits","try_from","try_into","try_sell_rolls","try_slash_deferred_credits","try_slash_rolls","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","update_production_stats","vzip","ExecutionStatsCounter","borrow","borrow_mut","deref","deref_mut","deserialize","drop","final_blocks","final_executed_denunciations","final_executed_ops","from","get_stats","init","into","into_request","layout_raw","new","pointer_metadata","refresh","register_final_blocks","register_final_executed_denunciations","register_final_executed_operations","time_window_duration","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","FileStorageBackend","RocksDBStorageBackend","StorageBackend","borrow","borrow","borrow_mut","borrow_mut","db","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","folder","from","from","init","init","into","into","into_request","into_request","layout_raw","layout_raw","max_blocks","max_blocks","new","new","pointer_metadata","pointer_metadata","read","read","read","slots_saved","slots_saved","try_from","try_from","try_into","try_into","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","vzip","vzip","write","write","write","ExecutionThread","borrow","borrow_mut","deref","deref_mut","deserialize","drop","execute_one_readonly_request","execution_state","from","init","input_data","into","into_request","layout_raw","main_loop","new","pointer_metadata","readonly_requests","selector","slot_sequencer","start_execution_worker","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","update_readonly_requests","vzip","wait_loop_event"],"q":[[0,"massa_execution_worker"],[18,"massa_execution_worker::active_history"],[101,"massa_execution_worker::context"],[229,"massa_execution_worker::controller"],[321,"massa_execution_worker::execution"],[395,"massa_execution_worker::execution_info"],[548,"massa_execution_worker::interface_impl"],[687,"massa_execution_worker::request_queue"],[744,"massa_execution_worker::slot_sequencer"],[813,"massa_execution_worker::speculative_async_pool"],[848,"massa_execution_worker::speculative_deferred_calls"],[891,"massa_execution_worker::speculative_executed_denunciations"],[920,"massa_execution_worker::speculative_executed_ops"],[949,"massa_execution_worker::speculative_ledger"],[993,"massa_execution_worker::speculative_roll_state"],[1032,"massa_execution_worker::stats"],[1062,"massa_execution_worker::storage_backend"],[1117,"massa_execution_worker::worker"],[1148,"massa_execution_exports::settings"],[1149,"massa_final_state::controller_trait"],[1150,"parking_lot::rwlock"],[1151,"alloc::sync"],[1152,"massa_pos_exports::controller_traits"],[1153,"alloc::boxed"],[1154,"massa_versioning::versioning"],[1155,"massa_execution_exports::channels"],[1156,"massa_wallet"],[1157,"massa_metrics"],[1158,"massa_event_cache::controller"],[1159,"massa_execution_exports::controller_traits"],[1160,"rkyv::with"],[1161,"core::result"],[1162,"massa_models::address"],[1163,"alloc::vec"],[1164,"massa_models::amount"],[1165,"massa_models::bytecode"],[1166,"massa_models::denunciation"],[1167,"massa_models::operation"],[1168,"massa_async_pool::message"],[1169,"massa_models::types"],[1170,"core::option"],[1171,"core::ops::range"],[1172,"core::fmt"],[1173,"massa_models::slot"],[1174,"massa_pos_exports::deferred_credits"],[1175,"massa_hash::hash"],[1176,"tonic::request"],[1177,"core::alloc::layout"],[1178,"core::any"],[1179,"massa_models::block_id"],[1180,"massa_module_cache::controller"],[1181,"massa_execution_exports::error"],[1182,"alloc::string"],[1183,"massa_models::deferred_calls"],[1184,"massa_deferred_calls::call"],[1185,"massa_deferred_calls"],[1186,"massa_models::output_event"],[1187,"alloc::collections::btree::map"],[1188,"alloc::collections::btree::set"],[1189,"rand_xoshiro::xoshiro256plusplus"],[1190,"massa_execution_exports::types"],[1191,"dyn_clone::sealed"],[1192,"massa_models::execution"],[1193,"massa_models::stats"],[1194,"std::collections::hash::map"],[1195,"massa_models::prehash"],[1196,"massa_proto_rs::massa::model::v1"],[1197,"anyhow"],[1198,"massa_sc_runtime::types"],[1199,"massa_sc_runtime::execution"],[1200,"massa_time"],[1201,"parking_lot::mutex"],[1202,"massa_channel::sender"],[1203,"core::ops::function"],[1204,"massa_async_pool::changes"],[1205,"massa_ledger_exports::ledger_changes"],[1206,"massa_deferred_calls::registry_changes"],[1207,"massa_deferred_calls::config"],[1208,"massa_executed_ops::denunciations_changes"],[1209,"massa_executed_ops::ops_changes"],[1210,"core::clone"],[1211,"massa_pos_exports::cycle_info"],[1212,"massa_pos_exports::pos_changes"],[1213,"num_rational"],[1214,"std::path"],[1215,"parking_lot::condvar"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,39,39,0,39,26,39,26,0,26,17,39,26,17,39,17,26,17,39,26,17,39,26,17,39,26,17,39,17,17,17,17,17,17,17,17,39,26,17,39,17,17,17,17,17,26,17,39,26,17,39,26,17,39,26,17,39,26,17,39,17,26,17,39,26,17,39,26,17,39,26,17,39,26,17,39,26,17,39,26,17,39,0,0,52,52,52,52,63,63,52,63,52,52,52,52,52,63,52,63,52,63,52,52,52,52,52,52,52,52,63,52,52,63,52,63,52,63,52,63,52,63,52,52,52,52,63,63,52,63,52,63,52,0,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,63,52,0,52,52,63,52,63,52,52,52,63,52,63,63,52,52,52,52,63,52,63,52,52,52,63,52,52,52,52,52,52,52,52,52,52,52,52,63,52,52,52,63,52,63,52,52,52,63,52,63,52,63,52,63,52,63,52,52,63,52,0,0,0,69,72,72,78,69,72,78,69,69,69,69,69,72,78,69,72,78,69,72,78,69,72,78,69,69,69,72,72,72,78,69,69,69,69,69,69,69,69,69,69,72,78,69,78,69,72,78,69,72,78,69,72,78,69,72,72,72,78,69,69,72,78,72,72,78,69,72,72,78,69,72,78,69,72,78,69,72,78,69,72,78,69,72,78,69,69,72,78,69,0,0,0,82,82,82,82,82,82,82,82,0,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,0,0,0,0,0,0,145,145,87,93,93,93,92,145,93,83,85,87,92,145,93,83,85,87,93,83,85,93,93,93,92,145,93,83,85,87,92,145,93,83,85,87,92,145,93,83,85,87,83,92,145,93,83,85,87,93,93,87,92,145,93,83,85,87,92,92,145,93,83,85,87,92,145,93,83,85,87,92,145,93,83,85,87,92,145,93,83,85,87,92,93,83,85,93,92,145,93,83,85,87,92,83,85,87,87,83,85,85,85,83,85,92,145,93,83,85,87,92,145,93,83,85,87,92,145,93,83,85,87,92,145,93,83,85,87,92,145,93,83,85,87,92,145,93,83,85,87,92,145,93,83,85,87,0,94,94,94,0,0,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,0,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,0,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,0,0,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,0,0,109,110,109,110,109,110,110,109,110,109,110,109,110,109,110,110,109,110,109,110,109,110,109,110,109,110,109,110,110,109,110,110,109,110,109,110,110,110,110,109,109,109,110,109,110,109,110,109,110,109,110,109,110,109,110,0,0,114,113,114,113,114,113,114,114,114,113,114,114,113,114,113,114,113,114,113,114,114,114,113,114,114,114,113,113,113,113,113,113,114,113,114,113,114,113,113,113,113,113,113,114,113,113,114,113,113,113,114,114,113,114,113,114,113,114,113,114,113,114,113,114,113,113,114,0,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,0,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,0,0,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,0,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,0,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,0,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,0,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,0,0,0,140,141,140,141,141,140,141,140,141,140,141,140,141,140,140,141,140,141,140,141,140,141,140,141,140,141,140,141,140,141,142,140,141,140,141,140,141,140,141,140,141,140,141,140,141,140,141,140,141,142,140,141,0,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,0,143,143,143,143,143,143,143,143,143],"f":"``````````````{{b{h{{f{d}}}}{l{j}}nA`{h{{f{Ab}}}}Ad{l{Af}}}{{Al{{l{Ah}}{l{Aj}}}}}}`````````````{{{An{c}}}{{An{e}}}{}{}}00{{{An{B`c}}}{{An{B`e}}}{}{}}00{{}Bb}{Bd{{An{c}}}{}}00{Bd{{An{B`c}}}{}}00{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}00{BdBj}00{{{An{Bb}}{An{Bl}}{An{{C`{Bn}}}}}{{Cd{{Cb{Bn}}}}}}{{{An{Bb}}{An{Bl}}}{{Cd{Cf}}}}{{{An{Bb}}{An{Bl}}}{{Cd{Ch}}}}{{{An{Bb}}{An{Cj}}}{{Cd{Bj}}}}{{{An{Bb}}{An{Cl}}}{{Cd{Bj}}}}{{{An{Bb}}{An{Cn}}D`}{{Cd{{Dd{DbD`}}}}}}{{{An{Bb}}{An{Bl}}}{{Dh{Df}}}}{{{An{Bb}}DfDfBn}{{Al{{Dj{Bd}}DlDl}}}}{{{An{Dn}}{An{B`E`}}}Eb}{cc{}}00{{{An{Bb}}{An{Bl}}{An{Ed}}}{{Dh{Cf}}}}{{{An{Bb}}{An{Ed}}}Ef}{{{An{Bb}}}{{Cd{Eh}}}}{{{An{Bb}}{An{{C`{Cl}}}}}{{Cb{{Dh{Dl}}}}}}{{{An{Bb}}{An{Ed}}Bn}Dn}{{}Bd}00{ce{}{}}00{c{{Ej{e}}}{}{}}00{{}{{Bh{ElEn}}}}00{An}00{{{An{B`Bb}}{An{Ed}}Bn}Bj}{c{{Bh{e}}}{}{}}00000{{{An{c}}}F`{}}00{{{l{c}}}{{l{Fb}}}{}}00{{{An{B`c}}}{{An{B`Fb}}}{}}00{{{An{c}}}{{An{Fb}}}{}}00999``{{bEd{Dh{Fd}}{h{{f{d}}}}{h{{f{Bb}}}}{h{{f{Ff}}}}n}Fh}{{{An{B`Fh}}{An{Bl}}Df}Bj}`{{{An{B`Fh}}{An{Bl}}{Cb{Bn}}{Cb{Bn}}}{{Bh{BjFj}}}}`{{{An{c}}}{{An{e}}}{}{}}0{{{An{B`c}}}{{An{B`e}}}{}{}}0{{{An{B`Fh}}{An{Db}}}{{Dh{{Al{Bl{Bh{CfFl}}}}}}}}{{{An{Fh}}Bl}{{Bh{BjFj}}}}`{{{An{B`Fh}}Ch}{{Bh{BlFj}}}}````````{{{An{B`Fh}}{An{Fn}}Bl}{{Bh{BjFj}}}}{{{An{Fh}}{An{Fn}}}Dl}{{{An{B`Fh}}{An{Fn}}{An{G`}}}{{Dh{{Al{Bl{Bh{CfFl}}}}}}}}{{{An{B`Fh}}G`}{{Bh{FnFj}}}}{{{An{B`Fh}}Ed}Gb}`{{{An{Fh}}EdDfEdDf}{{Bh{CfFj}}}}{{{An{B`Fh}}{An{Bl}}{An{{C`{Bn}}}}}{{Bh{BjFj}}}}{Bd{{An{c}}}{}}0{Bd{{An{B`c}}}{}}0{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}0{BdBj}0`{{{An{Fh}}FlDl}Gd}{{{An{B`Fh}}Gd}Bj}`{{{An{B`Fh}}{An{Ed}}}{{Cb{{Al{Bl{Bh{CfFl}}}}}}}}```{cc{}}0``{{{An{Eh}}{An{Ed}}{Dh{{An{Fd}}}}Dl}Eh}{{{An{Fh}}{An{Bl}}Df}{{Cb{Gf}}}}{{{An{Fh}}{An{Bl}}Bn{Gh{Ed}}}{{Gj{EdCf}}}}{{{An{Fh}}{An{Bl}}}{{Dh{Cf}}}}{{{An{Fh}}{An{Bl}}}{{Dh{Ch}}}}{{{An{Fh}}}{{Cb{Bl}}}}{{{An{Fh}}}{{Bh{BlFj}}}}{{{An{Fh}}}{{Bh{CfFj}}}}{{{An{Fh}}}{{Bh{{Cb{Bl}}Fj}}}}{{{An{Fh}}{An{Bl}}{An{{C`{Bn}}}}}{{Dh{{Cb{Bn}}}}}}{{{An{Fh}}{An{Fn}}}{{Dh{G`}}}}{{{An{Fh}}Ed}{{Gj{FnG`}}}}{{{An{Fh}}{An{Bl}}{An{{C`{Bn}}}}}{{Dh{{Gl{{Cb{Bn}}}}}}}}{{{An{Fh}}}Gn}{{{An{Fh}}{An{Bl}}{An{{C`{Bn}}}}}Dl}{{{An{Fh}}{An{Bl}}}Dl}{{}Bd}0{{{An{Eh}}}H`}{{{An{B`Fh}}{An{Cj}}}Bj}{{{An{B`Fh}}ClDlEd}Bj}{ce{}{}}0{c{{Ej{e}}}{}{}}0{{{An{Fh}}{An{Cj}}}Dl}{{{An{Fh}}{An{Cl}}}Dl}{{}{{Bh{ElEn}}}}0```{{b{h{{f{d}}}}{h{{f{Bb}}}}{h{{f{Ff}}}}nEh}Fh}``{An}0`{{{An{B`Fh}}Db}Bj}`{{bEd{Cb{Hb}}{h{{f{d}}}}{h{{f{Bb}}}}{h{{f{Ff}}}}n}Fh}``{{{An{B`Fh}}GnFj}Bj}{{{An{B`Fh}}{An{Bl}}Ch}{{Bh{BjFj}}}}{{{An{B`Fh}}{An{Bl}}{Cb{Bn}}{Cb{Bn}}}{{Bh{BjFj}}}}{{{An{B`Fh}}{Dh{Hd}}}Hf}`````````{{{An{B`Fh}}DfDf}{{Cb{{Al{CnDb}}}}}}{{{An{B`Fh}}{Dh{Bl}}{Dh{Bl}}CfDl}{{Bh{BjFj}}}}{c{{Bh{e}}}{}{}}000{{{An{B`Fh}}{An{Bl}}Df}{{Bh{BjFj}}}}{{{An{B`Fh}}{An{Bl}}Df}{{Bh{CfFj}}}}{{{An{c}}}F`{}}0``{{{l{c}}}{{l{Fb}}}{}}0{{{An{B`c}}}{{An{B`Fb}}}{}}0{{{An{c}}}{{An{Fb}}}{}}0{{{An{B`Fh}}{An{Bl}}Ed{Dh{Fd}}}Bj}{ce{}{}}0```{{{An{c}}Hh}Bj{}}`{{{An{c}}}{{An{e}}}{}{}}00{{{An{B`c}}}{{An{B`e}}}{}{}}00{{{An{Hj}}}Hj}{{{An{Hj}}}{{l{Aj}}}}{{{An{c}}{An{B`e}}}Bj{}{}}{{{An{c}}}Bj{}}{Bd{{An{c}}}{}}00{Bd{{An{B`c}}}{}}00{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}00{BdBj}00{{{An{Hj}}Hl}{{Bh{HnFj}}}}``{{{An{I`}}{An{B`E`}}}Eb}{cc{}}00{{{An{c}}}c{}}{{{An{Hj}}{An{{C`{Bl}}}}{Gh{Ed}}}{{Cb{Ib}}}}{{{An{Hj}}Df}{{Gj{BlDf}}}}{{{An{Hj}}{An{Cj}}}{{Al{DlDl}}}}{{{An{Hj}}Id}{{Cb{Gd}}}}{{{An{Hj}}{Cb{{Al{Bl{Cb{Bn}}}}}}}{{Cb{{Al{{Dh{{Cb{Bn}}}}{Dh{{Cb{Bn}}}}}}}}}}{{{An{Hj}}{An{{C`{Bl}}}}}{{Cb{{Al{{Dh{Cf}}{Dh{Cf}}}}}}}}{{{An{Hj}}{An{{C`{Cl}}}}}{{Cb{{Al{{Dh{Dl}}{Dh{Dl}}}}}}}}{{{An{Hj}}}If}{{}Bd}00``{ce{}{}}00{c{{Ej{e}}}{}{}}00{{}{{Bh{ElEn}}}}00{bI`}`{An}00{{{An{Hj}}Ih}Ij}`{{{An{B`Il}}}Bj}`{{{An{B`I`}}}I`}`{{{An{c}}}e{}{}}{{{An{c}}}Fl{}}{c{{Bh{e}}}{}{}}00000{{{An{c}}}F`{}}00{{{l{c}}}{{l{Fb}}}{}}00{{{An{B`c}}}{{An{B`Fb}}}{}}00{{{An{c}}}{{An{Fb}}}{}}00{{{An{Hj}}{In{EdFd}}{Dh{{In{EdFd}}}}{Jb{FdJ`}}}Bj}???`````{{{An{B`Jd}}Hf}Bj}0{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}```{{{An{Jd}}{An{Fn}}}{{Dh{G`}}}}{{{An{Jd}}EdDfDf}{{Al{EdDfDlCf}}}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}{{{An{Jd}}Db{Dh{Ch}}}{{Bh{JfFj}}}}{{{An{Jd}}{An{Jh}}Bl}{{Bh{BjFj}}}}{{{An{B`Jd}}{An{Ed}}{Dh{{An{{Al{FdJ`}}}}}}{l{j}}}Bj}{{{An{Jd}}{An{Fn}}G`}{{Bh{JjFj}}}}{{{An{Jd}}{An{Jl}}{An{Ed}}{An{B`Cf}}}{{Bh{JnFj}}}}32{{{An{Jd}}{An{K`}}Ed{An{B`Df}}{An{B`Cf}}}{{Bh{BjFj}}}}{{{An{Jd}}Hl}{{Bh{HnFj}}}}55{{{An{Jd}}{An{Ed}}{Dh{{An{{Al{FdJ`}}}}}}{l{j}}}Hf}6`````{cc{}}{{{An{Jd}}{An{Bl}}}{{Cb{Gf}}}}{{{An{Jd}}{An{Bl}}}{{Al{{Gj{EdCf}}{Gj{EdCf}}}}}}{{{An{Jd}}{An{Bl}}{Gh{Ed}}}{{Gj{EdCf}}}}{{{An{Jd}}Df}{{Gj{BlDf}}}}{{{An{Jd}}Df{Dh{{An{{Kb{Bl}}}}}}}{{Dh{Kd}}}}{{{An{Jd}}Ed}{{Cb{Fn}}}}{{{An{Jd}}{An{Cj}}}{{Al{DlDl}}}}{{{An{Jd}}Id}{{Cb{Gd}}}}{{{An{Jd}}{An{Bl}}}{{Al{{Dh{Ch}}{Dh{Ch}}}}}}{{{An{Jd}}{An{Bl}}{An{{C`{Bn}}}}}{{Al{{Dh{{Cb{Bn}}}}{Dh{{Cb{Bn}}}}}}}}{{{An{Jd}}{An{Bl}}}{{Al{{Dh{Cf}}{Dh{Cf}}}}}}{{{An{Jd}}{An{Bl}}{An{{C`{Bn}}}}}{{Al{{Dh{{Gl{{Cb{Bn}}}}}}{Dh{{Gl{{Cb{Bn}}}}}}}}}}{{{An{Jd}}{An{Bl}}}{{Al{DfDf}}}}{{{An{Jd}}}Eh}{{{An{Jd}}{An{{C`{Cl}}}}}{{Cb{{Al{{Dh{Dl}}{Dh{Dl}}}}}}}}{{{An{Jd}}}If}{{}Bd}{ce{}{}}{c{{Ej{e}}}{}{}}{{}{{Bh{ElEn}}}}```{{b{h{{f{d}}}}n{l{j}}A`{h{{f{Ab}}}}Ad{l{Af}}}Jd}{An}{{{An{Jd}}{An{K`}}Bl}{{Bh{GnFj}}}}``{c{{Bh{e}}}{}{}}0{{{An{c}}}F`{}}{{{l{c}}}{{l{Fb}}}{}}{{{An{B`c}}}{{An{B`Fb}}}{}}{{{An{c}}}{{An{Fb}}}{}}{{{An{B`Jd}}{An{{Dh{Hd}}}}{An{Ed}}}Bj};`````````````{{{An{c}}}{{An{e}}}{}{}}00000{{{An{B`c}}}{{An{B`e}}}{}{}}00000``````{Bd{{An{c}}}{}}00000{Bd{{An{B`c}}}{}}00000{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}00000`{BdBj}00000``{{{An{Jn}}{An{B`E`}}}Eb}{cc{}}00000`{{}Bd}00000{ce{}{}}00000{c{{Ej{e}}}{}{}}00000{{}{{Bh{ElEn}}}}00000{KfKh}{{}Kj}{{}Jf}{{{An{G`}}}Jj}`{An}00000{{{An{B`Kh}}EdKj}Bj}``````````{c{{Bh{e}}}{}{}}00000000000{{{An{c}}}F`{}}00000{{{l{c}}}{{l{Fb}}}{}}00000{{{An{B`c}}}{{An{B`Fb}}}{}}00000{{{An{c}}}{{An{Fb}}}{}}00000======`{{{An{c}}Hh}Bj{}}{{{An{Kl}}{An{Kn}}{An{Kn}}}{{L`{Kn}}}}{{{An{Kl}}{An{Lb}}}{{L`{Fl}}}}{{{An{Kn}}}{{L`{Cf}}}}{{{An{Cf}}}Kn}{{{An{Kl}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}{Dh{Fl}}}{{L`{Bj}}}}{{{An{Kl}}{An{Lb}}}{{L`{{Cb{Bn}}}}}}{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{{{An{Kl}}{An{{C`{Bn}}}}}Fl}{{{An{Kl}}}{{L`{Dl}}}}{{{An{Kl}}}{{L`{Df}}}}{{{An{Kl}}{An{Lb}}}{{L`{Dl}}}}{{{An{Kl}}{An{Kn}}}{{L`{Dl}}}}11{{{An{Kl}}{An{Ld}}{An{Ld}}}{{L`{Ld}}}}{{{An{Kl}}{An{Ld}}{An{Ld}}}{{L`{{Al{DfLd}}}}}}{{{An{Kl}}{An{Ld}}Df}{{L`{Ld}}}}{{{An{Kl}}{An{Ld}}Df}{{L`{{Al{LdLd}}}}}}3{{{An{Kl}}}Kl}{{{An{Kl}}}{{l{Lf}}}}{{{An{c}}{An{B`e}}}Bj{}{}}{{{An{c}}}Bj{}}{{{An{Kl}}{An{Lb}}{An{Lb}}}{{L`{Lh}}}}{{{An{Kl}}{An{Kn}}{An{Kn}}}{{L`{Lh}}}}{{{An{Kl}}{An{Ld}}{An{Ld}}}{{L`{Lh}}}}2```{{{An{Kl}}{An{{C`{Bn}}}}}{{L`{Fl}}}}{{{An{Kl}}}{{L`{Bj}}}}{{{An{Kl}}{An{Lb}}}{{L`{Bj}}}}?{{{An{Kl}}{An{Lb}}{An{Lb}}{Al{DfBn}}Df{An{{C`{Bn}}}}Df}{{L`{Fl}}}}{{{An{Kl}}{An{{C`{Bn}}}}{Dh{Fl}}}{{L`{Bj}}}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{{{An{Kl}}{An{Kn}}{An{Kn}}}{{L`{{Al{DfKn}}}}}}{BdBj}{{{An{Kl}}{An{{C`{Bn}}}}{Dh{Fl}}}{{L`{Dl}}}}{{{An{Kl}}{An{{C`{Bn}}}}}{{L`{{Cb{Bn}}}}}}{{{An{Kl}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}}{{L`{{Cb{Bn}}}}}}{{{An{Kl}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}}{{L`{Dl}}}}<{cc{}}{{{An{c}}}c{}}{{{An{Kl}}Fl}{{L`{Bj}}}}{{{An{Kl}}{Cb{Bn}}}{{L`{Bj}}}}{{{An{Kl}}{An{Lb}}}{{L`{Lj}}}}{{{An{Fh}}{Dh{Fl}}}{{L`{Bl}}}}{{{An{Kl}}{An{Lb}}}{{L`{Df}}}}{{{An{Kl}}}{{L`{Df}}}}1{{{An{Kl}}{Dh{Fl}}}{{L`{Kn}}}}{{{An{Kl}}{Dh{Fl}}}{{L`{{Cb{Bn}}}}}}2{{{An{Kl}}}{{L`{Kn}}}}{{{An{Kl}}}{{L`{{Cb{Fl}}}}}}4{{{An{Kl}}}{{L`{Ll}}}}{{{An{Kl}}}{{L`{Bn}}}}{{{An{Kl}}{Al{DfBn}}DfDf}{{L`{{Al{DlDf}}}}}}{{{An{Kl}}{An{{C`{Bn}}}}{Dh{Fl}}}{{L`{{Gl{{Cb{Bn}}}}}}}}{{{An{Kl}}{An{{C`{Bn}}}}{Dh{Fl}}}{{L`{{Cb{Bn}}}}}}{{{An{Kl}}}{{L`{Kf}}}}{{{An{Kl}}{Dh{{An{{C`{Bn}}}}}}}{{L`{{Gl{{Cb{Bn}}}}}}}}{{{An{Kl}}{An{Lb}}{Dh{{An{{C`{Bn}}}}}}}{{L`{{Gl{{Cb{Bn}}}}}}}}{{{An{Kl}}{An{{C`{Bn}}}}Df}{{L`{Ln}}}}{{{An{Kl}}{An{{C`{Bn}}}}}{{L`{{Cb{Bn}}}}}}{{{An{Kl}}{Dh{{An{{C`{Bn}}}}}}}{{L`{{Cb{{Cb{Bn}}}}}}}}{{{An{Kl}}{An{{C`{Bn}}}}}{{L`{{Cb{{Cb{Bn}}}}}}}}{{{An{Kl}}}{{L`{{Dh{Fl}}}}}}={{{An{Kl}}{An{Lb}}}{{L`{Df}}}}0{{{An{Kl}}}{{L`{Df}}}}6{{{An{Kl}}{An{{C`{Bn}}}}}{{L`{Dl}}}}{{{An{Kl}}{An{Lb}}{An{{C`{Bn}}}}}{{L`{Dl}}}}{{{An{Kl}}{An{{C`{Bn}}}}}{{L`{{M`{Bn}}}}}}000{{{An{Kl}}}{{L`{Bj}}}}{{}Bd}{{{An{Kl}}{An{Lb}}Df}{{L`{{Cb{Bn}}}}}}{{{An{Kl}}{An{Lb}}Kn}{{L`{{Cb{Bn}}}}}}{ce{}{}}{c{{Ej{e}}}{}{}}{{{An{Kl}}{An{Lb}}}{{L`{Dl}}}}{{}{{Bh{ElEn}}}}{{{An{Ld}}}{{L`{Mb}}}}{{{An{Mb}}}Ld}{{{An{Kl}}{An{Lb}}}{{L`{Kn}}}}{{{An{Kl}}{An{Kn}}}{{L`{Fl}}}}{{b{h{{Md{Fh}}}}}Kl}?{An}{{{An{Kl}}{An{Lb}}}{{L`{Bj}}}}{{{An{Kl}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}}{{L`{Bj}}}}{{{An{Kl}}{An{Lb}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}}{{L`{Bj}}}}{{{An{Kl}}{An{{C`{Bn}}}}}{{L`{Bj}}}}{{{An{Kl}}{An{Lb}}{An{{C`{Bn}}}}}{{L`{Bj}}}}{{{An{Kl}}}{{L`{{Cb{Bn}}}}}}{{{An{Kl}}{An{Lb}}}{{L`{{Cb{Bn}}}}}}{{{An{Kl}}{An{{C`{Bn}}}}}{{L`{{Cb{Bn}}}}}}{{{An{Kl}}{An{Lb}}{An{{C`{Bn}}}}}{{L`{{Cb{Bn}}}}}}5476{{{An{Kl}}Df}Bj}{{{An{Kl}}{An{Kn}}Df}{{L`{{Al{KnKn}}}}}}{{{An{Kl}}{An{Kn}}Df}{{L`{Kn}}}}{{{An{Kl}}{An{Lb}}{An{Lb}}{Al{DfBn}}{Al{DfBn}}DfDfDf{An{{C`{Bn}}}}{Dh{{Al{{An{Lb}}{Dh{{An{{C`{Bn}}}}}}}}}}}{{L`{Bj}}}}{{{An{Kl}}{An{{C`{Bn}}}}{Dh{Fl}}}{{L`{Bj}}}}{{{An{Kl}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}{Dh{Fl}}}{{L`{Bj}}}}{{{An{Kl}}{An{{C`{Bn}}}}{An{Lb}}{An{Lb}}}{{L`{Dl}}}}{{{An{Kl}}{An{Kn}}{An{Kn}}}{{L`{Kn}}}}{{{An{c}}}e{}{}}{{{An{Kl}}{An{Lb}}Df}{{L`{Bj}}}}{{{An{Kl}}{An{Lb}}{An{Lb}}Df}{{L`{Bj}}}}{{{An{Kl}}FlKn{Dh{Fl}}}{{L`{Bj}}}}{c{{Bh{e}}}{}{}}0{{{An{c}}}F`{}}{{{An{Kl}}}{{L`{Mf}}}}{{{An{Kl}}}{{L`{Mh}}}}{{{An{Kl}}Df}{{L`{{Cb{Bn}}}}}}{{{l{c}}}{{l{Fb}}}{}}{{{An{B`c}}}{{An{B`Fb}}}{}}{{{An{c}}}{{An{Fb}}}{}}{{{An{Kl}}{An{Lb}}}{{L`{Dl}}}}{ce{}{}}``{{{An{c}}}{{An{e}}}{}{}}0{{{An{B`c}}}{{An{B`e}}}{}{}}0{{{Mj{ce}}Fj}Bj{}{}}{{{An{B`{Ml{ce}}}}Fj}Bj{}{}}{{{An{{Ml{ce}}}}}Bd{}{}}{Bd{{An{c}}}{}}0{Bd{{An{B`c}}}{}}0{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}0{BdBj}0{{{An{B`{Ml{ce}}}}{Ml{ce}}}Bj{}{}}{{{An{{Mj{ce}}}}{An{B`E`}}}EbMnMn}{{{An{{Ml{ce}}}}{An{B`E`}}}EbMnMn}{cc{}}0{{}Bd}0>>{c{{Ej{e}}}{}{}}0{{{Mj{ce}}}{{Al{c{N`{{Bh{eFj}}}}}}}{}{}}{{{An{{Ml{ce}}}}}Dl{}{}}0{{}{{Bh{ElEn}}}}0`{{c{N`{{Bh{eFj}}}}}{{Mj{ce}}}{}{}}{Bd{{Ml{ce}}}{}{}}{An}0{{{An{B`{Ml{ce}}}}}{{Dh{{Mj{ce}}}}}{}{}}{{{An{B`{Ml{ce}}}}{Mj{ce}}}Bj{}{}}```{c{{Bh{e}}}{}{}}000{{{An{c}}}F`{}}0{{{l{c}}}{{l{Fb}}}{}}0{{{An{B`c}}}{{An{B`Fb}}}{}}0{{{An{c}}}{{An{Fb}}}{}}0{ce{}{}}0``{{{An{c}}Hh}Bj{}}{{{An{c}}}{{An{e}}}{}{}}0{{{An{B`c}}}{{An{B`e}}}{}{}}0{{{An{B`Nb}}}Bj}{{{An{Nd}}}Nd}{{{An{c}}{An{B`e}}}Bj{}{}}{{{An{c}}}Bj{}}```{Bd{{An{c}}}{}}0{Bd{{An{B`c}}}{}}0{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}0{BdBj}0`{{{An{Nd}}{An{B`E`}}}Eb}{cc{}}0{{{An{c}}}c{}}{{{An{Nd}}}{{Dh{{An{Fd}}}}}}{{{An{Nb}}}Mb}{{{An{Nb}}{An{Ed}}}{{Dh{{An{Nd}}}}}}{{{An{Nb}}{An{Ed}}}{{Dh{Bd}}}}{{{An{Nb}}}Ed}{{}Bd}{{{An{B`Nb}}{In{EdFd}}{In{EdFd}}{Jb{FdJ`}}}Bj}1{ce{}{}}0{c{{Ej{e}}}{}{}}0{{{An{Nb}}}Dl}````{{}{{Bh{ElEn}}}}0{{bEd}Nb}{An}0{{{An{B`Nb}}e}{{Dh{c}}}{}{{Nh{Dl{An{Ed}}{Dh{{An{{Al{FdJ`}}}}}}}{{Nf{c}}}}}}`{{Ed{Dh{Nd}}Dl{Dh{Fd}}Dl{Dh{Fd}}{An{B`{Jb{FdJ`}}}}Dl}{{Al{NdDl}}}}`{{{An{c}}}e{}{}}{c{{Bh{e}}}{}{}}000{{{An{c}}}F`{}}0{{{l{c}}}{{l{Fb}}}{}}0{{{An{B`c}}}{{An{B`Fb}}}{}}0{{{An{c}}}{{An{Fb}}}{}}0{{{An{B`Nb}}{In{EdFd}}{Dh{{In{EdFd}}}}{Jb{FdJ`}}}Bj}>>``{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}{{{An{B`Nj}}{Cb{{An{Cn}}}}Dl}{{Cb{{Al{CnDb}}}}}}`{cc{}}{{{An{Nj}}}{{Al{Nl{Gj{CnNn}}}}}}{{}Bd}{ce{}{}}{c{{Ej{e}}}{}{}}{{{An{Ed}}{An{Ed}}}Dl}{{{An{Ed}}{An{Ed}}{An{Ed}}}Dl}{{{An{O`}}{An{Ob}}}Dl}{{}{{Bh{ElEn}}}}`{{{h{{f{d}}}}{h{{f{Bb}}}}}Nj}{An}`{{{An{B`Nj}}Db}Bj}{{{An{B`Nj}}{Al{Nl{Gj{CnNn}}}}}Bj}{{{An{B`Nj}}{An{Ed}}{An{Ob}}}{{Cb{{Al{CnDb}}}}}}{{{An{B`Nj}}}Nl}{{{An{B`Nj}}EdDfDf}{{Cb{{Al{CnDb}}}}}}{c{{Bh{e}}}{}{}}0{{{An{c}}}F`{}}{{{l{c}}}{{l{Fb}}}{}}{{{An{B`c}}}{{An{B`Fb}}}{}}{{{An{c}}}{{An{Fb}}}{}}{ce{}{}}```{{{An{B`Od}}Ed}Gb}{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{{{An{B`Od}}{An{Fn}}}{{Bh{{Al{BlCf}}Fj}}}}{{{An{Od}}EdDfEdDf}{{Bh{CfFj}}}}``{{{An{B`Od}}{An{Fn}}Ed}Bj}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}`{cc{}}{{{An{Od}}{An{Fn}}}{{Dh{G`}}}}{{{An{Od}}Ed}Gb}{{{An{Od}}{An{Ed}}}Df}{{{An{Od}}}Of}{{{An{Od}}{An{Ed}}}Cf}{{{An{Od}}}Oh}{{{An{Od}}}Df}{{}Bd}{ce{}{}}{c{{Ej{e}}}{}{}}{{}{{Bh{ElEn}}}}{{{h{{f{d}}}}{h{{f{Bb}}}}Oj}Od}{{OfOfOfOfCf}{{Bh{CfFj}}}}{An}{{{An{B`Od}}FnG`}Bj}{{{An{B`Od}}G`Eh}{{Bh{FnFj}}}}{{{An{B`Od}}Oh}Bj}{{{An{B`Od}}Df}Bj}{{{An{B`Od}}}Oh}{c{{Bh{e}}}{}{}}0{{{An{c}}}F`{}}{{{l{c}}}{{l{Fb}}}{}}{{{An{B`c}}}{{An{B`Fb}}}{}}{{{An{c}}}{{An{Fb}}}{}}?``{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}``{cc{}}{{{An{Ol}}}On}{{}Bd}{{{An{B`Ol}}Cj}Bj}{ce{}{}}{c{{Ej{e}}}{}{}}{{{An{Ol}}{An{Cj}}}Dl}{{}{{Bh{ElEn}}}}{{{h{{f{d}}}}{h{{f{Bb}}}}}Ol}{An}{{{An{B`Ol}}On}Bj}{{{An{B`Ol}}}On}{c{{Bh{e}}}{}{}}0{{{An{c}}}F`{}}{{{l{c}}}{{l{Fb}}}{}}{{{An{B`c}}}{{An{B`Fb}}}{}}{{{An{c}}}{{An{Fb}}}{}}<``{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}``{cc{}}{{{An{A@`}}}A@b}{{}Bd}{{{An{B`A@`}}ClDlEd}Bj}{ce{}{}}{c{{Ej{e}}}{}{}}{{{An{A@`}}{An{Cl}}}Dl}{{}{{Bh{ElEn}}}}{{{h{{f{d}}}}{h{{f{Bb}}}}}A@`}{An}{{{An{B`A@`}}A@b}Bj}{{{An{B`A@`}}}A@b}{c{{Bh{e}}}{}{}}0{{{An{c}}}F`{}}{{{l{c}}}{{l{Fb}}}{}}{{{An{B`c}}}{{An{B`Fb}}}{}}{{{An{c}}}{{An{Fb}}}{}}<```{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{{{An{B`A@d}}{An{Bl}}{Dh{{Al{{An{{C`{Bn}}}}{An{{C`{Bn}}}}}}}}{Dh{{Al{{An{{C`{Bn}}}}{An{{C`{Bn}}}}}}}}}{{Bh{BjFj}}}}{{{An{B`A@d}}BlBlCh}{{Bh{BjFj}}}}{{{An{B`A@d}}{An{Bl}}{An{Bl}}{An{{C`{Bn}}}}}{{Bh{BjFj}}}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}{{{An{A@d}}{An{Bl}}}Dl}`{cc{}}{{{An{A@d}}{An{Bl}}}{{Dh{Cf}}}}{{{An{A@d}}{An{Bl}}}{{Dh{Ch}}}}{{{An{A@d}}{An{Bl}}{An{{C`{Bn}}}}}{{Dh{{Cb{Bn}}}}}}{{{An{A@d}}{An{Bl}}{An{{C`{Bn}}}}}{{Dh{{Gl{{Cb{Bn}}}}}}}}{{{An{A@d}}}Ob}{{{An{A@d}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}}{{Bh{CfFj}}}}{{{An{A@d}}{An{Bl}}{An{{C`{Bn}}}}}Dl}{{}Bd}{ce{}{}}{c{{Ej{e}}}{}{}}{{}{{Bh{ElEn}}}}```{{{h{{f{d}}}}{h{{f{Bb}}}}BnDfDfA@f}A@d}{An}{{{An{B`A@d}}Ob}Bj}{{{An{B`A@d}}{An{Bl}}{An{Bl}}Ch}{{Bh{BjFj}}}}{{{An{B`A@d}}{An{Bl}}{An{Bl}}{Cb{Bn}}{Cb{Bn}}}{{Bh{BjFj}}}}`{{{An{B`A@d}}}Ob}{{{An{B`A@d}}{Dh{Bl}}{Dh{Bl}}Cf}{{Bh{BjFj}}}}{c{{Bh{e}}}{}{}}0{{{An{c}}}F`{}}{{{l{c}}}{{l{Fb}}}{}}{{{An{B`c}}}{{An{B`Fb}}}{}}{{{An{c}}}{{An{Fb}}}{}}>``{{{An{B`A@h}}{An{Bl}}Df}Bj}`{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}`{cc{}}{{{An{A@h}}{An{Bl}}DfEd}{{Cb{Gf}}}}{{{An{A@h}}{An{Bl}}{An{Ed}}}{{Dh{Cf}}}}{{{An{A@h}}{An{Bl}}c}{{Gj{EdCf}}}{{A@j{Ed}}A@l}}{{{An{A@h}}DfDfBn{An{Ed}}}{{Al{{Jb{BlA@n}}Dl}}}}{{{An{A@h}}{An{Bl}}}Df}{{{An{A@h}}}AA`}{{}Bd}{ce{}{}}{c{{Ej{e}}}{}{}}{{}{{Bh{ElEn}}}}{{{h{{f{d}}}}{h{{f{Bb}}}}}A@h}{An}{{{An{B`A@h}}AA`}Bj}{{{An{B`A@h}}{An{Ed}}DfBnCf{AAb{Df}}}{{Cb{{Al{BlCf}}}}}}{{{An{B`A@h}}}AA`}{{{An{B`A@h}}{An{Ed}}}Ef}{c{{Bh{e}}}{}{}}0{{{An{B`A@h}}{An{Bl}}EdDfDfBnCf}{{Bh{BjFj}}}}{{{An{B`A@h}}{An{Ed}}{An{Bl}}{An{Cf}}}Cf}{{{An{B`A@h}}{An{Bl}}Df}{{Bh{DfFj}}}}{{{An{c}}}F`{}}{{{l{c}}}{{l{Fb}}}{}}{{{An{B`c}}}{{An{B`Fb}}}{}}{{{An{c}}}{{An{Fb}}}{}}{{{An{B`A@h}}{An{Bl}}Ed{Dh{Fd}}}Bj}{ce{}{}}`{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}```{cc{}}{{{An{AAd}}EdEd}If}{{}Bd}9{c{{Ej{e}}}{}{}}{{}{{Bh{ElEn}}}}{MbAAd}{An}{{{An{B`AAd}}Mb}Bj}{{{An{B`AAd}}Bd}Bj}00`{c{{Bh{e}}}{}{}}0{{{An{c}}}F`{}}{{{l{c}}}{{l{Fb}}}{}}{{{An{B`c}}}{{An{B`Fb}}}{}}{{{An{c}}}{{An{Fb}}}{}}{ce{}{}}```{{{An{c}}}{{An{e}}}{}{}}0{{{An{B`c}}}{{An{B`e}}}{}{}}0`{Bd{{An{c}}}{}}0{Bd{{An{B`c}}}{}}0{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}0{BdBj}0`{cc{}}0{{}Bd}088{c{{Ej{e}}}{}{}}0{{}{{Bh{ElEn}}}}0``{{AAfDf}AAh}{{AAfDf}AAj}{An}0{{{An{AAl}}{An{Ed}}}{{Dh{{Cb{Bn}}}}}}{{{An{AAh}}{An{Ed}}}{{Dh{{Cb{Bn}}}}}}{{{An{AAj}}{An{Ed}}}{{Dh{{Cb{Bn}}}}}}``{c{{Bh{e}}}{}{}}000{{{An{c}}}F`{}}0{{{l{c}}}{{l{Fb}}}{}}0{{{An{B`c}}}{{An{B`Fb}}}{}}0{{{An{c}}}{{An{Fb}}}{}}0{ce{}{}}0{{{An{B`AAl}}{An{Ed}}{An{{C`{Bn}}}}}Bj}{{{An{B`AAh}}{An{Ed}}{An{{C`{Bn}}}}}Bj}{{{An{B`AAj}}{An{Ed}}{An{{C`{Bn}}}}}Bj}`{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}{{{An{B`AAn}}}Dl}`{cc{}}{{}Bd}`<{c{{Ej{e}}}{}{}}{{}{{Bh{ElEn}}}}{{{An{B`AAn}}}Bj}{{b{h{{Al{AB`{Md{I`}}}}}}{h{{f{Jd}}}}{l{j}}}AAn}{An}```{{b{h{{f{d}}}}{l{j}}nA`{h{{f{Ab}}}}Ad{l{Af}}}{{Al{{l{Ah}}{l{Aj}}}}}}{c{{Bh{e}}}{}{}}0{{{An{c}}}F`{}}{{{l{c}}}{{l{Fb}}}{}}{{{An{B`c}}}{{An{B`Fb}}}{}}{{{An{c}}}{{An{Fb}}}{}}{{{An{B`AAn}}{Ml{HlHn}}}Bj}{ce{}{}}{{{An{B`AAn}}}{{Al{I`Dl}}}}","D":"CMn","p":[[5,"ExecutionConfig",1148],[10,"FinalStateController",1149],[8,"RwLock",1150],[5,"Arc",1151],[10,"SelectorController",1152],[5,"Box",1153],[5,"MipStore",1154],[5,"ExecutionChannels",1155],[5,"Wallet",1156],[5,"MassaMetrics",1157],[10,"EventCacheController",1158],[10,"ExecutionManager",1159],[10,"ExecutionController",1159],[1,"tuple"],[1,"reference"],[0,"mut"],[5,"ActiveHistory",18],[1,"usize"],[5,"With",1160],[6,"Result",1161],[1,"unit"],[6,"Address",1162],[1,"u8"],[1,"slice"],[5,"Vec",1163],[6,"HistorySearchResult",18],[5,"Amount",1164],[5,"Bytecode",1165],[6,"DenunciationIndex",1166],[6,"OperationId",1167],[8,"AsyncMessageId",1168],[5,"AsyncMessageUpdate",1168],[5,"AsyncMessage",1168],[6,"SetUpdateOrDelete",1169],[1,"u64"],[6,"Option",1170],[5,"Range",1171],[1,"bool"],[6,"SlotIndexPosition",18],[5,"Formatter",1172],[8,"Result",1172],[5,"Slot",1173],[5,"DeferredCredits",1174],[5,"Hash",1175],[5,"Request",1176],[5,"Layout",1177],[5,"LayoutError",1177],[5,"TypeId",1178],[10,"Any",1178],[6,"BlockId",1179],[5,"ModuleCache",1180],[5,"ExecutionContext",101],[6,"ExecutionError",1181],[5,"String",1182],[6,"DeferredCallId",1183],[5,"DeferredCall",1184],[5,"DeferredSlotCalls",1185],[5,"SCOutputEvent",1186],[5,"ExecutionAddressCycleInfo",1162],[6,"Bound",1171],[5,"BTreeMap",1187],[5,"BTreeSet",1188],[5,"ExecutionContextSnapshot",101],[5,"Xoshiro256PlusPlus",1189],[5,"ExecutionStackElement",1190],[5,"ExecutedBlockInfo",1190],[5,"ExecutionOutput",1190],[5,"Private",1191],[5,"ExecutionControllerImpl",229],[5,"ReadOnlyExecutionRequest",1190],[5,"ReadOnlyExecutionOutput",1190],[5,"ExecutionInputData",229],[5,"ExecutionAddressInfo",1190],[5,"EventFilter",1192],[5,"ExecutionStats",1193],[5,"ExecutionQueryRequest",1190],[5,"ExecutionQueryResponse",1190],[5,"ExecutionManagerImpl",229],[5,"HashMap",1194],[5,"ExecutionBlockMetadata",1190],[8,"PreHashMap",1195],[5,"ExecutionState",321],[5,"AsyncMessageExecutionResult",395],[6,"OperationType",1167],[5,"DeferredCallExecutionResult",395],[6,"Denunciation",1166],[5,"DenunciationResult",395],[8,"SecureShareOperation",1167],[8,"PreHashSet",1195],[5,"ExecutionQueryCycleInfos",1190],[1,"u32"],[5,"ExecutionInfo",395],[5,"ExecutionInfoForSlot",395],[5,"InterfaceImpl",548],[5,"NativeAmount",1196],[8,"Result",1197],[1,"str"],[5,"NativeTime",1196],[10,"Interface",1198],[6,"ComparisonResult",1196],[6,"AddressCategory",1196],[5,"Slot",1196],[6,"RuntimeModule",1199],[1,"array"],[5,"MassaTime",1200],[8,"Mutex",1201],[1,"i64"],[1,"f64"],[5,"RequestWithResponseSender",687],[5,"RequestQueue",687],[10,"Debug",1172],[5,"MassaSender",1202],[5,"SlotSequencer",744],[5,"SlotInfo",744],[17,"Output"],[10,"Fn",1203],[5,"SpeculativeAsyncPool",813],[5,"AsyncPoolChanges",1204],[5,"AsyncMessageInfo",1168],[5,"AsyncMessageTrigger",1168],[5,"LedgerChanges",1205],[5,"SpeculativeDeferredCallRegistry",848],[1,"u128"],[5,"DeferredCallRegistryChanges",1206],[5,"DeferredCallsConfig",1207],[5,"SpeculativeExecutedDenunciations",891],[8,"ExecutedDenunciationsChanges",1208],[5,"SpeculativeExecutedOps",920],[8,"ExecutedOpsChanges",1209],[5,"SpeculativeLedger",949],[5,"StorageCostsConstants",1148],[5,"SpeculativeRollState",993],[10,"RangeBounds",1171],[10,"Clone",1210],[5,"ProductionStats",1211],[5,"PoSChanges",1212],[5,"Ratio",1213],[5,"ExecutionStatsCounter",1032],[5,"PathBuf",1214],[5,"FileStorageBackend",1062],[5,"RocksDBStorageBackend",1062],[10,"StorageBackend",1062],[5,"ExecutionThread",1117],[5,"Condvar",1215],[6,"OperationInfo",395]],"r":[[14,1117]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAI0CmAABAAAABQAAAA4AAAATAAAAGQAAABsAAAAdABIAOAAAAEEAAgBHAAgAUQAUAG0AAwCAAAEAhQAHAKkAAQCwAAEAtAABALwAAQDTAAMA2QABAN0ABQDkAAEA6QAAAOsABgDzAA0ABAEAAAgBAAARAQIAGQEFACEBAgAqARMAPwEDAEUBAQBJAQMATgEFAFcBAABhAQQAZwEAAGwBAAB3AQAAeQEBAHwBAQB/AQAAgQEHAIoBAwCPAQQAlQEAAJcBDAClAQIAqQEcAMwBBgDZARYA8QEBAPUBLwAmAgAALAIDADECAQA0AgcAPQIFAEcCAABMAgIAUAIAAFcCAABaAgAAXAIAAHECAABzAgEAfQIBAIACAACCAgIAiwIAAJ4CAAChAgAApQICAKsCBACyAgMAuQIHAMICAQDGAgEAygIBAM8CAQDUAgEA2wINAOsCBADxAgIA9wIHAAADAAADAwAACQMAAAsDAAAOAwEAFQMBABgDAQAeAwwALAMLADoDAAA8AwAAQAMBAEMDAQBKAwkAVQMBAFkDBwBiAwQAaAMBAGsDAQBuAwEAcwMAAHUDBgB+AwUAiAMAAIsDAACNAwAAjwMAAJIDBgCbAwUApQMAAKgDAACqAwAArAMAAK8DBgC5AwEAvgMDAMwDAADOAwEA1AMAANsDBgDmAwUA9AMAAPYDAQD5AwAA/gMBAAMEAwAIBAAACgQFABUEAAAXBAEAGgQAACAEBgAqBA0AOgQBAD4EBQBGBAEASQQRAFwEAQBfBAUAZgQAAGgEAQBrBAEAbwQAAHIEAAB0BAUAewQAAA=="}],\ +["massa_execution_exports",{"t":"PPPPPPPPPPPPPPPPPPPPPPPFPPPPPPPPPPPPPFPPPFPFFFFKGKFFGGFGFGFFPPPPFPPPPPPPPPPFFFGPPPPPGFPPPNNOOOOOOOOOOONNNNOOOOOOOOOOOOOCONNMNNNNOOOCOOOONNOOONNNNNNNNOCOOOCOMOOOOOONNNNNNOOOONMMMMMMMMOONNNNNNOOOONNOOOOCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOONNOMOOOOOOCOOOOOOOMOOOOOOONNNNNNNNCCNNNNNNMNNOOOOOOOOOOOOOOOOOOFNNNNNNNNNNNNNNNNNONNNNNNNNKKMMMMMMMMMMMMMPPPPGGPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHHHHFFNNOOOONNNNOOOOONNNNNNNOOOONNNNNNNNOOOONNNNNNOOOONNNNNNONNOOOOOOOOOOOOOOOOOOOOONNOOOOOOOONNNNNNNNNNNNNNNNPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPFPFFFFGFGFGFFPPPPPPFFFGPGNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNOOOONNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOO","n":["AddressBalanceCandidate","AddressBalanceFinal","AddressBytecodeCandidate","AddressBytecodeFinal","AddressDatastoreKeysCandidate","AddressDatastoreKeysFinal","AddressDatastoreValueCandidate","AddressDatastoreValueFinal","AddressDeferredCreditsCandidate","AddressDeferredCreditsFinal","AddressExistsCandidate","AddressExistsFinal","AddressRollsCandidate","AddressRollsFinal","AlreadyExecutedWithFailure","AlreadyExecutedWithSuccess","Amount","BlockGasError","Boolean","Bytecode","BytecodeExecution","CacheError","ChannelError","CondomLimits","CycleInfos","CycleInfos","DatastoreValue","DeferredCallInfo","DeferredCallInfo","DeferredCallQuote","DeferredCallQuote","DeferredCallsBySlot","DeferredCallsBySlot","DeferredCallsError","DeferredCredits","DenunciationExecutionStatusCandidate","DenunciationExecutionStatusFinal","EventStore","Events","Events","ExecutableOrExpired","ExecutedBlockInfo","ExecutedSlot","ExecutionAddressInfo","ExecutionBlockMetadata","ExecutionChannels","ExecutionConfig","ExecutionController","ExecutionError","ExecutionManager","ExecutionOutput","ExecutionQueryCycleInfos","ExecutionQueryError","ExecutionQueryExecutionStatus","ExecutionQueryRequest","ExecutionQueryRequestItem","ExecutionQueryResponse","ExecutionQueryResponseItem","ExecutionQueryStakerInfo","ExecutionStackElement","ExecutionStatus","FactoryError","FinalizedSlot","FunctionCall","GasCosts","IncludeDenunciationError","IncludeOperationError","InvalidSlotRange","KeyList","MassaHashError","ModelsError","NotEnoughGas","NotFound","OpExecutionStatusCandidate","OpExecutionStatusFinal","ReadOnlyCallRequest","ReadOnlyExecutionOutput","ReadOnlyExecutionRequest","ReadOnlyExecutionTarget","RollBuyError","RollCount","RollSellError","RuntimeError","SlashError","SlotExecutionOutput","StorageCostsConstants","TooMuchGas","TransactionError","VMError","__clone_box","__clone_box","abi_costs","active_rolls","address","announced_version","async_msg_cst_gas_cost","auto_sell_execution","base_operation_gas_cost","block_dump_folder_path","block_id","block_info","block_reward","borrow","borrow","borrow_mut","borrow_mut","broadcast_enabled","broadcast_slot_execution_output_channel_capacity","broadcast_slot_execution_traces_channel_capacity","broadcast_traces_enabled","call_result","call_stack","call_stack","cancel_async_message_execution","candidate_balance","candidate_cursor","candidate_datastore_keys","candidate_roll_count","chain_id","channels","cl_compilation_cost","clone","clone","clone_box","clone_into","clone_into","clone_to_uninit","clone_to_uninit","coins","coins","condom_limits","controller_traits","current_version","cursor_delay","cycle","cycle_infos","default","default","deferred_calls_config","deferred_credits_execution","denunciation_expire_periods","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","endorsement_count","error","event_cache_path","event_cache_size","event_snip_amount","event_store","events","execute_readonly_request","fee","final_balance","final_cursor","final_datastore_keys","final_roll_count","final_state_fingerprint","fmt","fmt","from","from","from_ref","from_ref","future_deferred_credits","gas_cost","gas_costs","genesis_timestamp","get_abi_costs","get_addresses_infos","get_cycle_active_rolls","get_denunciation_execution_status","get_filtered_sc_output_event","get_final_and_active_data_entry","get_final_and_candidate_balance","get_ops_exec_status","get_stats","hd_cache_path","hd_cache_size","init","init","into","into","into_request","into_request","is_final","is_final","last_start_period","launch_cost","layout_raw","layout_raw","ledger_cost_per_byte","ledger_entry_base_cost","ledger_entry_datastore_base_cost","lru_cache_size","mapping_grpc","max_async_gas","max_bytecode_size","max_custom_sections_data_len","max_custom_sections_len","max_datastore_key_length","max_datastore_value_size","max_event_per_operation","max_event_size_v0","max_event_size_v1","max_execution_traces_slot_limit","max_exports","max_final_events","max_function_length","max_function_names_len","max_functions","max_gas","max_gas","max_gas_per_block","max_global_initializers_len","max_globals_len","max_imports_len","max_instance_cost","max_memories_len","max_miss_ratio","max_name_len","max_parameter_length","max_passive_data_len","max_passive_elements_len","max_read_only_gas","max_recursive_calls_depth","max_signature_len","max_table_initializers_len","max_tables_count","new","operation_datastore","operation_validity_period","operator_cost","out","owned_addresses","parameter","periods_per_cycle","pointer_metadata","pointer_metadata","production_stats","query_state","readonly_queue_length","requests","responses","roll_count_to_slash_on_denunciation","roll_price","same_thread_parent_creator","settings","slot","slot_execution_output_sender","snip_amount","sp_compilation_cost","staker_infos","state_changes","stats_time_window_duration","stop","storage","storage_costs_constants","t0","target","target_addr","target_func","thread_count","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","types","types_trace_info","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","update_blockclique_status","vzip","vzip","context","error","addr","addr","addr","addr","cycle","key","key","max_gas_request","params_size","prefix","prefix","restrict_to_addresses","target_slot","parameter","target_addr","target_func","ExecutionChannels","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","from","from_ref","init","into","into_request","layout_raw","pointer_metadata","slot_execution_output_sender","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","ExecutionController","ExecutionManager","clone_box","execute_readonly_request","get_addresses_infos","get_cycle_active_rolls","get_denunciation_execution_status","get_filtered_sc_output_event","get_final_and_active_data_entry","get_final_and_candidate_balance","get_ops_exec_status","get_stats","query_state","stop","update_blockclique_status","BlockGasError","CacheError","ChannelError","DeferredCallsError","ExecutionError","ExecutionQueryError","FactoryError","IncludeDenunciationError","IncludeOperationError","InvalidSlotRange","MassaHashError","ModelsError","NotEnoughGas","NotFound","RollBuyError","RollSellError","RuntimeError","SlashError","TooMuchGas","TransactionError","VMError","__clone_box","__clone_box","as_error","as_error","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_ref","from_ref","init","init","into","into","into_request","into_request","layout_raw","layout_raw","pointer_metadata","pointer_metadata","source","to_owned","to_owned","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","vzip","vzip","context","error","EventStore","__clone_box","borrow","borrow_mut","clear","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","extend","finalize","fmt","from","from_ref","get_filtered_sc_output_events","get_filtered_sc_output_events_iter","init","into","into_request","layout_raw","pointer_metadata","prune","push","serialize","take","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","to_cycle_info","to_event_filter","to_execution_query_response","to_execution_query_result","to_execution_query_staker_info","to_querystate_filter","ExecutionConfig","StorageCostsConstants","__clone_box","__clone_box","async_msg_cst_gas_cost","base_operation_gas_cost","block_dump_folder_path","block_reward","borrow","borrow","borrow_mut","borrow_mut","broadcast_enabled","broadcast_slot_execution_output_channel_capacity","broadcast_slot_execution_traces_channel_capacity","broadcast_traces_enabled","chain_id","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","condom_limits","cursor_delay","deferred_calls_config","denunciation_expire_periods","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","endorsement_count","event_cache_path","event_cache_size","event_snip_amount","fmt","fmt","from","from","from_ref","from_ref","gas_costs","genesis_timestamp","hd_cache_path","hd_cache_size","init","init","into","into","into_request","into_request","last_start_period","layout_raw","layout_raw","ledger_cost_per_byte","ledger_entry_base_cost","ledger_entry_datastore_base_cost","lru_cache_size","max_async_gas","max_bytecode_size","max_datastore_key_length","max_datastore_value_size","max_event_per_operation","max_event_size_v0","max_event_size_v1","max_execution_traces_slot_limit","max_final_events","max_function_length","max_gas_per_block","max_miss_ratio","max_parameter_length","max_read_only_gas","max_recursive_calls_depth","operation_validity_period","periods_per_cycle","pointer_metadata","pointer_metadata","readonly_queue_length","roll_count_to_slash_on_denunciation","roll_price","snip_amount","stats_time_window_duration","storage_costs_constants","t0","thread_count","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","vzip","vzip","AddressBalanceCandidate","AddressBalanceFinal","AddressBytecodeCandidate","AddressBytecodeFinal","AddressDatastoreKeysCandidate","AddressDatastoreKeysFinal","AddressDatastoreValueCandidate","AddressDatastoreValueFinal","AddressDeferredCreditsCandidate","AddressDeferredCreditsFinal","AddressExistsCandidate","AddressExistsFinal","AddressRollsCandidate","AddressRollsFinal","AlreadyExecutedWithFailure","AlreadyExecutedWithSuccess","Amount","Boolean","Bytecode","BytecodeExecution","CycleInfos","CycleInfos","DatastoreValue","DeferredCallInfo","DeferredCallInfo","DeferredCallQuote","DeferredCallQuote","DeferredCallsBySlot","DeferredCallsBySlot","DeferredCredits","DenunciationExecutionStatusCandidate","DenunciationExecutionStatusFinal","Events","Events","ExecutableOrExpired","ExecutedBlockInfo","ExecutedSlot","ExecutionAddressInfo","ExecutionBlockMetadata","ExecutionOutput","ExecutionQueryCycleInfos","ExecutionQueryExecutionStatus","ExecutionQueryRequest","ExecutionQueryRequestItem","ExecutionQueryResponse","ExecutionQueryResponseItem","ExecutionQueryStakerInfo","ExecutionStackElement","ExecutionStatus","FinalizedSlot","FunctionCall","KeyList","OpExecutionStatusCandidate","OpExecutionStatusFinal","ReadOnlyCallRequest","ReadOnlyExecutionOutput","ReadOnlyExecutionRequest","ReadOnlyExecutionTarget","RollCount","SlotExecutionOutput","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","active_rolls","address","announced_version","auto_sell_execution","block_id","block_info","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call_result","call_stack","call_stack","cancel_async_message_execution","candidate_balance","candidate_cursor","candidate_datastore_keys","candidate_roll_count","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","coins","coins","current_version","cycle","cycle_infos","deferred_credits_execution","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","events","fee","final_balance","final_cursor","final_datastore_keys","final_roll_count","final_state_fingerprint","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","future_deferred_credits","gas_cost","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","is_final","is_final","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","max_gas","max_gas","operation_datastore","out","owned_addresses","parameter","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","production_stats","requests","responses","same_thread_parent_creator","serialize","serialize","slot","staker_infos","state_changes","storage","target","target_addr","target_func","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","addr","addr","addr","addr","cycle","key","key","max_gas_request","params_size","prefix","prefix","restrict_to_addresses","target_slot","parameter","target_addr","target_func"],"q":[[0,"massa_execution_exports"],[287,"massa_execution_exports::ExecutionError"],[289,"massa_execution_exports::ExecutionQueryRequestItem"],[302,"massa_execution_exports::ReadOnlyExecutionTarget"],[305,"massa_execution_exports::channels"],[332,"massa_execution_exports::controller_traits"],[347,"massa_execution_exports::error"],[431,"massa_execution_exports::error::ExecutionError"],[433,"massa_execution_exports::event_store"],[470,"massa_execution_exports::mapping_grpc"],[476,"massa_execution_exports::settings"],[582,"massa_execution_exports::types"],[1085,"massa_execution_exports::types::ExecutionQueryRequestItem"],[1098,"massa_execution_exports::types::ReadOnlyExecutionTarget"],[1101,"dyn_clone::sealed"],[1102,"massa_sc_runtime::types"],[1103,"alloc::boxed"],[1104,"rkyv::with"],[1105,"core::result"],[1106,"core::fmt"],[1107,"alloc::string"],[1108,"std::collections::hash::map"],[1109,"massa_models::address"],[1110,"massa_models::slot"],[1111,"core::ops::range"],[1112,"alloc::vec"],[1113,"alloc::collections::btree::map"],[1114,"massa_models::denunciation"],[1115,"massa_models::execution"],[1116,"massa_models::output_event"],[1117,"core::option"],[1118,"massa_models::amount"],[1119,"massa_models::operation"],[1120,"massa_models::stats"],[1121,"tonic::request"],[1122,"core::alloc::layout"],[1123,"std::path"],[1124,"anyhow"],[1125,"core::any"],[1126,"massa_models::block_id"],[1127,"massa_models::prehash"],[1128,"core::error"],[1129,"massa_versioning::versioning_factory"],[1130,"massa_models::error"],[1131,"massa_module_cache::error"],[1132,"massa_hash::error"],[1133,"alloc::collections::vec_deque"],[1134,"core::iter::traits::iterator"],[1135,"serde::ser"],[1136,"massa_proto_rs::massa::api::v1"]],"i":[73,73,73,73,73,73,73,73,73,73,73,73,73,73,82,82,66,14,66,66,79,14,14,0,73,66,66,73,66,73,66,73,66,14,66,73,73,0,73,66,82,0,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,14,76,79,0,14,14,14,66,14,14,14,52,73,73,0,0,0,0,14,66,14,14,14,0,0,14,14,14,5,6,6,69,81,77,75,78,75,75,77,78,75,5,6,5,6,75,75,75,75,13,12,80,78,24,43,24,24,75,0,6,5,6,7,5,6,5,6,12,81,75,0,77,75,63,24,5,6,75,78,75,5,6,5,6,5,6,5,6,75,0,75,75,75,0,78,7,12,24,43,24,24,43,5,6,5,6,5,6,24,13,75,75,6,7,7,7,7,7,7,7,7,75,75,5,6,5,6,5,6,63,80,75,6,5,6,74,74,74,75,0,75,75,5,5,75,75,75,75,75,75,5,75,75,5,5,12,80,75,5,5,5,6,5,75,5,75,5,5,75,75,5,5,5,6,81,75,6,13,81,80,75,5,6,69,7,75,42,43,75,75,48,0,78,50,75,6,63,78,75,44,48,75,75,12,80,80,75,5,6,5,6,5,6,5,6,0,0,5,6,5,6,5,6,7,5,6,83,83,84,85,86,87,88,86,87,89,89,84,85,88,89,90,90,90,0,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,0,0,7,7,7,7,7,7,7,7,7,7,7,44,7,14,14,14,14,0,0,14,14,14,14,14,14,14,52,14,14,14,14,14,14,14,14,52,14,52,14,52,14,52,14,52,14,52,14,52,14,52,14,52,14,52,14,52,14,14,52,52,14,14,14,14,14,52,14,52,14,52,14,52,14,52,14,52,14,52,14,14,52,14,52,14,52,14,52,14,52,14,52,14,52,14,52,14,52,83,83,0,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,0,0,0,0,0,0,0,0,74,75,75,75,75,75,74,75,74,75,75,75,75,75,75,74,75,74,75,74,74,75,75,75,75,75,74,75,74,75,74,75,74,75,75,75,75,75,74,75,74,75,74,75,75,75,75,75,74,75,74,75,74,75,75,74,75,74,74,74,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,74,75,75,75,75,75,75,75,75,75,74,75,74,75,74,75,74,75,74,75,74,75,74,75,74,75,73,73,73,73,73,73,73,73,73,73,73,73,73,73,82,82,66,66,66,79,73,66,66,73,66,73,66,73,66,66,73,73,73,66,82,0,76,0,0,0,0,0,0,0,0,0,0,0,66,76,79,66,73,73,0,0,0,0,66,0,48,24,76,77,78,13,12,79,80,81,69,81,77,78,77,78,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,13,12,80,78,24,43,24,24,48,24,76,77,78,13,12,79,80,81,48,24,76,77,78,13,12,79,80,81,48,24,76,77,78,13,12,79,80,81,12,81,77,63,24,78,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,78,12,24,43,24,24,43,48,24,76,77,78,13,12,79,80,81,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,48,24,76,77,78,13,12,79,80,81,24,13,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,63,80,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,12,80,81,13,81,80,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,69,42,43,48,77,78,78,63,78,48,12,80,80,48,24,76,77,78,13,12,79,80,81,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,42,43,73,66,82,63,69,48,24,76,77,78,13,12,79,80,81,84,85,86,87,88,86,87,89,89,84,85,88,89,90,90,90],"f":"`````````````````````````````````````````````````````````````````````````````````````````{{{b{c}}d}f{}}0```````````{{{b{c}}}{{b{e}}}{}{}}0{{{b{hc}}}{{b{he}}}{}{}}0```````````````{{{b{j}}}j}{{{b{l}}}l}{{{b{n}}}{{A`{n}}}}{{{b{c}}{b{he}}}f{}{}}0{{{b{c}}}f{}}0````````{{}j}{{}l}```{Ab{{b{c}}}{}}0{Ab{{b{hc}}}{}}0{{{b{c}}{b{he}}}{{Af{{Ad{gi}}}}}{}{}{}{}}0{Abf}0```````{{{b{n}}Ah}{{Af{AjAl}}}}``````{{{b{j}}{b{hAn}}}{{Af{fB`}}}}{{{b{l}}{b{hAn}}}{{Af{fB`}}}}{cc{}}0{{{b{c}}}c{}}0````{{{b{l}}}{{b{{Bf{BbBd}}}}}}{{{b{n}}{b{{Bj{Bh}}}}{Bn{Bl}}}{{Cb{C`}}}}{{{b{n}}Bd}{{Cd{BhBd}}}}{{{b{n}}{b{Cf}}}{{Cj{ChCh}}}}{{{b{n}}Cl}{{Cb{Cn}}}}{{{b{n}}{Cb{{Cj{Bh{Cb{D`}}}}}}}{{Cb{{Cj{{Db{{Cb{D`}}}}{Db{{Cb{D`}}}}}}}}}}{{{b{n}}{b{{Bj{Bh}}}}}{{Cb{{Cj{{Db{Dd}}{Db{Dd}}}}}}}}{{{b{n}}{b{{Bj{Df}}}}}{{Cb{{Cj{{Db{Ch}}{Db{Ch}}}}}}}}{{{b{n}}}Dh}``{{}Ab}0{ce{}{}}0{c{{Dj{e}}}{}{}}0````{{}{{Af{DlDn}}}}0``````````````````````````````````````{E`{{Af{lEb}}}}```````{b}0`{{{b{n}}Ed}Ef}``````````````{{{b{hEh}}}f}```````{{{b{c}}}e{}{}}0{c{{Af{e}}}{}{}}000{{{b{c}}}Ej{}}0``{{{A`{c}}}{{A`{El}}}{}}0{{{b{hc}}}{{b{hEl}}}{}}0{{{b{c}}}{{b{El}}}{}}0{{{b{n}}{Bf{BlEn}}{Db{{Bf{BlEn}}}}{Fb{EnF`}}}f}==```````````````````{{{b{c}}d}f{}}{{{b{c}}}{{b{e}}}{}{}}{{{b{hc}}}{{b{he}}}{}{}}{{{b{Fd}}}Fd}{{{b{c}}{b{he}}}f{}{}}{{{b{c}}}f{}}{Ab{{b{c}}}{}}{Ab{{b{hc}}}{}}{{{b{c}}{b{he}}}{{Af{{Ad{gi}}}}}{}{}{}{}}{Abf}{cc{}}{{{b{c}}}c{}}{{}Ab}{ce{}{}}{c{{Dj{e}}}{}{}}{{}{{Af{DlDn}}}}{b}`{{{b{c}}}e{}{}}{c{{Af{e}}}{}{}}0{{{b{c}}}Ej{}}{{{A`{c}}}{{A`{El}}}{}}{{{b{hc}}}{{b{hEl}}}{}}{{{b{c}}}{{b{El}}}{}}9``{{{b{n}}}{{A`{n}}}}{{{b{n}}Ah}{{Af{AjAl}}}}{{{b{n}}{b{{Bj{Bh}}}}{Bn{Bl}}}{{Cb{C`}}}}{{{b{n}}Bd}{{Cd{BhBd}}}}{{{b{n}}{b{Cf}}}{{Cj{ChCh}}}}{{{b{n}}Cl}{{Cb{Cn}}}}{{{b{n}}{Cb{{Cj{Bh{Cb{D`}}}}}}}{{Cb{{Cj{{Db{{Cb{D`}}}}{Db{{Cb{D`}}}}}}}}}}{{{b{n}}{b{{Bj{Bh}}}}}{{Cb{{Cj{{Db{Dd}}{Db{Dd}}}}}}}}{{{b{n}}{b{{Bj{Df}}}}}{{Cb{{Cj{{Db{Ch}}{Db{Ch}}}}}}}}{{{b{n}}}Dh}{{{b{n}}Ed}Ef}{{{b{hEh}}}f}{{{b{n}}{Bf{BlEn}}{Db{{Bf{BlEn}}}}{Fb{EnF`}}}f}`````````````````````{{{b{c}}d}f{}}0{{{b{c}}}{{b{Ff}}}{}}0{{{b{c}}}{{b{e}}}{}{}}0{{{b{hc}}}{{b{he}}}{}{}}0{{{b{Al}}}Al}{{{b{Fh}}}Fh}{{{b{c}}{b{he}}}f{}{}}0{{{b{c}}}f{}}0{Ab{{b{c}}}{}}0{Ab{{b{hc}}}{}}0{{{b{c}}{b{he}}}{{Af{{Ad{gi}}}}}{}{}{}{}}0{Abf}0{{{b{Al}}{b{hAn}}}Fj}0{{{b{Fh}}{b{hAn}}}Fj}0{cc{}}{FlAl}{FnAl}{G`Al}{GbAl}4{{{b{c}}}c{}}0{{}Ab}0{ce{}{}}0{c{{Dj{e}}}{}{}}0{{}{{Af{DlDn}}}}0{b}0{{{b{Al}}}{{Db{{b{Ff}}}}}}{{{b{c}}}e{}{}}0{{{b{c}}}Bb{}}0{c{{Af{e}}}{}{}}000{{{b{c}}}Ej{}}0{{{A`{c}}}{{A`{El}}}{}}0{{{b{hc}}}{{b{hEl}}}{}}0{{{b{c}}}{{b{El}}}{}}0;;```{{{b{c}}d}f{}}{{{b{c}}}{{b{e}}}{}{}}{{{b{hc}}}{{b{he}}}{}{}}{{{b{hGd}}}f}{{{b{Gd}}}Gd}{{{b{c}}{b{he}}}f{}{}}{{{b{c}}}f{}}{{}Gd}{Ab{{b{c}}}{}}{Ab{{b{hc}}}{}}{{{b{c}}{b{he}}}{{Af{{Ad{gi}}}}}{}{}{}{}}{Abf}{{{b{hGd}}Gd}f}9{{{b{Gd}}{b{hAn}}}Fj}{cc{}}{{{b{c}}}c{}}{{{b{Gd}}{b{Cl}}}{{Gf{Cn}}}}{{{b{Gd}}{b{Cl}}}{{`{{Gj{}{{Gh{{b{Cn}}}}}}}}}}{{}Ab}{ce{}{}}{c{{Dj{e}}}{}{}}{{}{{Af{DlDn}}}}{b}{{{b{hGd}}Ab}f}{{{b{hGd}}Cn}f}{{{b{Gd}}c}AfGl}{{{b{hGd}}}{{Gf{Cn}}}}{{{b{c}}}e{}{}}{c{{Af{e}}}{}{}}0{{{b{c}}}Ej{}}{{{A`{c}}}{{A`{El}}}{}}{{{b{hc}}}{{b{hEl}}}{}}{{{b{c}}}{{b{El}}}{}}={GnH`}{{{Cb{Hb}}}{{Af{ClFn}}}}{{{Af{HdFh}}}Hf}{HdHh}{{BhHj}Hl}{{HnI`}{{Af{IbFn}}}}``{{{b{c}}d}f{}}0````{{{b{c}}}{{b{e}}}{}{}}0{{{b{hc}}}{{b{he}}}{}{}}0`````{{{b{Id}}}Id}{{{b{If}}}If}{{{b{c}}{b{he}}}f{}{}}0{{{b{c}}}f{}}00````{Ab{{b{c}}}{}}0{Ab{{b{hc}}}{}}0{{{b{c}}{b{he}}}{{Af{{Ad{gi}}}}}{}{}{}{}}0{Abf}0````{{{b{Id}}{b{hAn}}}Fj}{{{b{If}}{b{hAn}}}Fj}{cc{}}0{{{b{c}}}c{}}0````{{}Ab}0{ce{}{}}0{c{{Dj{e}}}{}{}}0`{{}{{Af{DlDn}}}}0`````````````````````{b}0````````{{{b{c}}}e{}{}}0{c{{Af{e}}}{}{}}000{{{b{c}}}Ej{}}0{{{A`{c}}}{{A`{El}}}{}}0{{{b{hc}}}{{b{hEl}}}{}}0{{{b{c}}}{{b{El}}}{}}099````````````````````````````````````````````````````````````{{{b{c}}d}f{}}000000000``````{{{b{c}}}{{b{e}}}{}{}}0000000000000000{{{b{hc}}}{{b{he}}}{}{}}0000000000000000````````{{{b{F`}}}F`}{{{b{C`}}}C`}{{{b{Ih}}}Ih}{{{b{Ij}}}Ij}{{{b{Il}}}Il}{{{b{Aj}}}Aj}{{{b{Ah}}}Ah}{{{b{In}}}In}{{{b{J`}}}J`}{{{b{Jb}}}Jb}{{{b{c}}{b{he}}}f{}{}}000000000{{{b{c}}}f{}}000000000``````{Ab{{b{c}}}{}}0000000000000000{Ab{{b{hc}}}{}}0000000000000000{{{b{c}}{b{he}}}{{Af{{Ad{gi}}}}}{}{}{}{}}0000000000000000{Abf}0000000000000000```````{{{b{F`}}{b{hAn}}}Fj}{{{b{C`}}{b{hAn}}}Fj}{{{b{Ih}}{b{hAn}}}Fj}{{{b{Ij}}{b{hAn}}}Fj}{{{b{Il}}{b{hAn}}}Fj}{{{b{Aj}}{b{hAn}}}Fj}{{{b{Ah}}{b{hAn}}}Fj}{{{b{In}}{b{hAn}}}Fj}{{{b{J`}}{b{hAn}}}Fj}{{{b{Jb}}{b{hAn}}}Fj}{cc{}}0000000000000000{{{b{c}}}c{}}000000000``{{}Ab}0000000000000000{ce{}{}}0000000000000000{c{{Dj{e}}}{}{}}0000000000000000``{{}{{Af{DlDn}}}}0000000000000000``````{b}0000000000000000````{{{b{Ij}}c}AfGl}{{{b{Il}}c}AfGl}```````{{{b{c}}}e{}{}}000000000{c{{Af{e}}}{}{}}000000000000000000000000000000000{{{b{c}}}Ej{}}0000000000000000{{{A`{c}}}{{A`{El}}}{}}0000000000000000{{{b{hc}}}{{b{hEl}}}{}}0000000000000000{{{b{c}}}{{b{El}}}{}}0000000000000000;;;;;;;;;;;;;;;;;````````````````","D":"COb","p":[[1,"reference"],[5,"Private",1101],[1,"unit"],[0,"mut"],[5,"CondomLimits",0,1102],[5,"GasCosts",0,1102],[10,"ExecutionController",332],[5,"Box",1103],[1,"usize"],[5,"With",1104],[6,"Result",1105],[5,"ReadOnlyExecutionRequest",582],[5,"ReadOnlyExecutionOutput",582],[6,"ExecutionError",347],[5,"Formatter",1106],[5,"Error",1106],[5,"String",1107],[1,"u64"],[5,"HashMap",1108],[6,"Address",1109],[1,"slice"],[5,"Slot",1110],[6,"Bound",1111],[5,"ExecutionAddressInfo",582],[5,"Vec",1112],[5,"BTreeMap",1113],[6,"DenunciationIndex",1114],[1,"bool"],[1,"tuple"],[5,"EventFilter",1115],[5,"SCOutputEvent",1116],[1,"u8"],[6,"Option",1117],[5,"Amount",1118],[6,"OperationId",1119],[5,"ExecutionStats",1120],[5,"Request",1121],[5,"Layout",1122],[5,"LayoutError",1122],[5,"PathBuf",1123],[5,"Error",1124],[5,"ExecutionQueryRequest",582],[5,"ExecutionQueryResponse",582],[10,"ExecutionManager",332],[5,"TypeId",1125],[10,"Any",1125],[6,"BlockId",1126],[5,"ExecutionBlockMetadata",582],[8,"PreHashMap",1127],[5,"ExecutionChannels",305],[10,"Error",1128],[6,"ExecutionQueryError",347],[8,"Result",1106],[6,"FactoryError",1129],[6,"ModelsError",1130],[6,"CacheError",1131],[6,"MassaHashError",1132],[5,"EventStore",433],[5,"VecDeque",1133],[17,"Item"],[10,"Iterator",1134],[10,"Serializer",1135],[5,"ExecutionQueryCycleInfos",582],[5,"ExecutionQueryCycleInfos",1136],[5,"ScExecutionEventsFilter",1136],[6,"ExecutionQueryResponseItem",582],[5,"ExecutionQueryResponse",1136],[5,"ExecutionQueryResponseItem",1136],[5,"ExecutionQueryStakerInfo",582],[5,"ExecutionQueryStakerInfoEntry",1136],[5,"ExecutionQueryRequestItem",1136],[1,"u32"],[6,"ExecutionQueryRequestItem",582],[5,"StorageCostsConstants",476],[5,"ExecutionConfig",476],[6,"SlotExecutionOutput",582],[5,"ExecutedBlockInfo",582],[5,"ExecutionOutput",582],[6,"ReadOnlyExecutionTarget",582],[5,"ReadOnlyCallRequest",582],[5,"ExecutionStackElement",582],[6,"ExecutionQueryExecutionStatus",582],[15,"VMError",431],[15,"AddressDatastoreKeysCandidate",1085],[15,"AddressDatastoreKeysFinal",1085],[15,"AddressDatastoreValueCandidate",1085],[15,"AddressDatastoreValueFinal",1085],[15,"CycleInfos",1085],[15,"DeferredCallQuote",1085],[15,"FunctionCall",1098]],"r":[[23,1102],[37,433],[41,582],[43,582],[44,582],[45,305],[46,476],[47,332],[48,347],[49,332],[50,582],[51,582],[52,347],[53,582],[54,582],[55,582],[56,582],[57,582],[58,582],[59,582],[64,1102],[75,582],[76,582],[77,582],[78,582],[84,582],[85,476]],"b":[[390,"impl-Display-for-ExecutionError"],[391,"impl-Debug-for-ExecutionError"],[392,"impl-Display-for-ExecutionQueryError"],[393,"impl-Debug-for-ExecutionQueryError"],[395,"impl-From%3CFactoryError%3E-for-ExecutionError"],[396,"impl-From%3CModelsError%3E-for-ExecutionError"],[397,"impl-From%3CCacheError%3E-for-ExecutionError"],[398,"impl-From%3CMassaHashError%3E-for-ExecutionError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFQCQwAYAAAAQQAAAFoAAgBnAAMAeAADAH0AAwCJAAEAjgAHAKQAAQCoAAEArgAAALkAAQC9AAEAwgACAMwAAQDUAAAA1wABANwABADiAAAA5AABAOgAAwDuAAAA8wABAAEBAAANAQcAFwEFAB4BAQAzAQkAPgEBAEEBAgBFAQcAcQEZAIwBAwCRAQMAlwEYALMBAgC3AQcAwQEAAMMBAADGAQAAyAECAM0BAADPAQgA2gEBAN8BAQDlAQMA7gEGAPkBBwAFAgEACQIBAA8CAQATAgEAFgIBAC0CAQA3Ag8AgwIJAJMCIQC9Ah0A4QJDACwDCQBHAwkAUwMQAHUDEACIAxAAnwMQALQDAQC9A4AA"}],\ +["massa_execution_worker",{"t":"CCCCCCCCCCCCCCHCCCPFPPGPPPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNONONNNNNNONOOOOOOOONNNNNONNNNNNNNNNONNONOOOONNOOHNNNNNNNNNNNNNNNNNNHNNNNNNNNNNOOONOONNONONOONNNNNNOOOOOOOOONNNNNNNNNNNNNOONNNNNNNNNFFFNONNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNNNNNNNONNNNONONONNNNNNNNNNNNNNNNNNNNNNNNIIFOONNNNOOQNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNOOONNNOONNNNNNNNOFFFFFGPPOOOONNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNNONNNNNNOONNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNHHNNNNNNNNNNNNNNNNNNNNNNNNOOQNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNOOONNNNNNNNNNNNNNFFNNNNNNNNNOOONNNNNNNNONNNNNNNNNNNNNNNNNOOOONNNNNNONONNNNNNNNNNNNNNNNFONNNNNNNONNNNNNNNHNONNONNNNNNNNNNNNFSONNNNNOONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNFONNNNNNOONNNNNNNNNNNNNNNNNNNFONNNNNNOONNNNNNNNNNNNNNNNNNNFOONNNNNNNNNNONNNNNNNNNNNNOOONNNNNONNNNNNNNNFONONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNOOONNNNNNNNNNNNONNNNNNNFFKNNNNONNNNNNNNONNNNNNNNNNOONNNNMNNOONNNNNNNNNNNNNNMNNFNNNNNNNONNONNNNNNOOOHNNNNNNNNN","n":["active_history","context","controller","execution","execution_info","interface_impl","request_queue","slot_sequencer","speculative_async_pool","speculative_deferred_calls","speculative_executed_denunciations","speculative_executed_ops","speculative_ledger","speculative_roll_state","start_execution_worker","stats","storage_backend","worker","Absent","ActiveHistory","Found","Future","HistorySearchResult","NoHistory","NoInfo","Past","Present","SlotIndexPosition","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","fetch_active_history_data_entry","fetch_balance","fetch_bytecode","fetch_executed_denunciation","fetch_executed_op","fetch_message","fetch_roll_count","find_cycle_indices","fmt","from","from","from","get_address_deferred_credit_for","get_all_deferred_credits_until","get_execution_trail_hash","get_ops_exec_status","get_slot_index","init","init","init","into","into","into","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","pointer_metadata","pointer_metadata","pointer_metadata","truncate_from","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","vzip","vzip","vzip","ExecutionContext","ExecutionContextSnapshot","active_slot","add_rolls","address_factory","append_data_entry","async_pool_changes","borrow","borrow","borrow_mut","borrow_mut","cancel_async_message","check_target_sc_address","config","create_new_sc_address","created_addr_index","created_addr_index","created_event_index","created_event_index","created_message_index","created_message_index","creator_address","creator_min_balance","deferred_call_cancel","deferred_call_exists","deferred_call_fail_exec","deferred_call_register","deferred_calls_advance_slot","deferred_calls_changes","deferred_calls_compute_call_fee","delete_data_entry","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","event_count","event_create","event_emit","events","execute_deferred_credits","executed_denunciations","executed_ops","execution_component_version","execution_trail_hash","from","from","gas_remaining_before_subexecution","gas_remaining_before_subexecution","generate_execution_trail_hash","get_address_cycle_infos","get_address_future_deferred_credits","get_balance","get_bytecode","get_call_stack","get_condom_limits","get_current_address","get_current_call_coins","get_current_owned_addresses","get_data_entry","get_deferred_call","get_deferred_calls_by_slot","get_keys","get_snapshot","has_data_entry","has_write_rights_on","init","init","init_prng","insert_executed_denunciation","insert_executed_op","into","into","into_request","into_request","is_denunciation_executed","is_op_executed","layout_raw","layout_raw","ledger_changes","message_infos","module_cache","new","opt_block_id","origin_operation_id","pointer_metadata","pointer_metadata","pos_changes","push_new_message","read_only","readonly","recursion_counter","recursion_counter","reset_to_snapshot","set_bytecode","set_data_entry","settle_slot","settle_slot_v0","settle_slot_with_fixed_ledger_change_handling","slot","speculative_async_pool","speculative_deferred_calls","speculative_executed_denunciations","speculative_executed_ops","speculative_ledger","speculative_roll_state","stack","stack","take_async_batch_v0","take_async_batch_v1","transfer_coins","try_from","try_from","try_into","try_into","try_sell_rolls","try_slash_rolls","try_slash_rolls_v0","try_slash_rolls_v1","type_id","type_id","unsafe_rng","unsafe_rng","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","update_production_stats","vzip","vzip","ExecutionControllerImpl","ExecutionInputData","ExecutionManagerImpl","__clone_box","block_metadata","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_box","clone_into","clone_to_uninit","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","execute_readonly_request","execution_state","finalized_blocks","fmt","from","from","from","from_ref","get_addresses_infos","get_cycle_active_rolls","get_denunciation_execution_status","get_filtered_sc_output_event","get_final_and_active_data_entry","get_final_and_candidate_balance","get_ops_exec_status","get_stats","init","init","init","input_data","input_data","into","into","into","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","new","new_blockclique","pointer_metadata","pointer_metadata","pointer_metadata","query_state","readonly_requests","stop","stop","take","thread_handle","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","update_blockclique_status","vzip","vzip","vzip","ExecutionResult","ExecutionResultInner","ExecutionState","active_cursor","active_history","apply_active_execution_output","apply_final_execution_output","borrow","borrow_mut","channels","config","context_guard","deferred_call_info","deferred_call_quote","deref","deref_mut","deserialize","drop","execute_async_message","execute_callsc_op","execute_candidate_slot","execute_deferred_call","execute_denunciation","execute_executesc_op","execute_final_slot","execute_operation","execute_readonly_request","execute_roll_buy_op","execute_roll_sell_op","execute_slot","execute_transaction_op","execution_context","execution_interface","final_cursor","final_events_cache","final_state","from","get_address_cycle_infos","get_address_deferred_credits","get_address_future_deferred_credits","get_cycle_active_rolls","get_cycle_infos","get_deferred_calls_by_slot","get_denunciation_execution_status","get_filtered_sc_output_event","get_final_and_active_bytecode","get_final_and_active_data_entry","get_final_and_candidate_balance","get_final_and_candidate_datastore_keys","get_final_and_candidate_rolls","get_final_state_fingerprint","get_ops_exec_status","get_stats","init","into","into_request","layout_raw","massa_metrics","mip_store","module_cache","new","pointer_metadata","prepare_operation_for_execution","selector","stats_counter","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","update_versioning_stats","vzip","wallet","AsyncMessageExecutionResult","DeferredCallExecutionResult","DenunciationResult","ExecutionInfo","ExecutionInfoForSlot","OperationInfo","RollBuy","RollSell","address_denounced","async_messages","auto_sell_execution","block_producer_reward","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cancel_async_message_execution","coins","coins","deferred_calls_messages","deferred_credits_execution","denunciations","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destination","drop","drop","drop","drop","drop","drop","endorsement_creator_rewards","endorsement_target_reward","fmt","from","from","from","from","from","from","info_per_slot","init","init","init","init","init","init","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","new","new","new","new","operations","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","save_for_slot","sender","sender","slashed","slot","success","success","target_address","target_function","traces","traces","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","vzip","vzip","vzip","vzip","vzip","vzip","InterfaceImpl","__clone_box","add_native_amount_wasmv1","address_from_public_key","amount_from_native_amount","amount_to_native_amount","append_ds_value_wasmv1","base58_check_to_bytes_wasmv1","borrow","borrow_mut","bytes_to_base58_check_wasmv1","caller_has_write_access","chain_id","check_address_wasmv1","check_native_amount_wasmv1","check_pubkey_wasmv1","check_signature_wasmv1","checked_add_native_time_wasmv1","checked_div_native_time_wasmv1","checked_mul_native_time_wasmv1","checked_scalar_div_native_time_wasmv1","checked_sub_native_time_wasmv1","clone","clone_box","clone_into","clone_to_uninit","compare_address_wasmv1","compare_native_amount_wasmv1","compare_native_time_wasmv1","compare_pub_key_wasmv1","config","context","context_guard","create_module","decrement_recursion_counter","deferred_call_cancel","deferred_call_exists","deferred_call_register","delete_ds_entry_wasmv1","deref","deref_mut","deserialize","div_rem_native_amount_wasmv1","drop","ds_entry_exists_wasmv1","evm_get_address_from_pubkey","evm_get_pubkey_from_signature","evm_signature_verify","finish_call","from","from_ref","generate_event","generate_event_wasmv1","get_address_category_wasmv1","get_address_from_opt_or_context","get_address_version_wasmv1","get_balance","get_balance_for","get_balance_wasmv1","get_bytecode_wasmv1","get_call_coins","get_call_coins_wasmv1","get_call_stack","get_current_period","get_current_slot","get_current_thread","get_deferred_call_quote","get_ds_keys_wasmv1","get_ds_value_wasmv1","get_interface_version","get_keys","get_keys_for","get_module","get_op_data","get_op_keys","get_op_keys_wasmv1","get_origin_operation_id","get_owned_addresses","get_pubkey_version_wasmv1","get_signature_version_wasmv1","get_time","get_tmp_module","has_data","has_data_for","hash","hash_blake3","hash_keccak256","hash_sha256","increment_recursion_counter","init","init_call","init_call_wasmv1","into","into_request","is_address_eoa","layout_raw","massa_time_from_native_time","massa_time_to_native_time","native_amount_from_str_wasmv1","native_amount_to_string_wasmv1","new","op_entry_exists","pointer_metadata","print","raw_append_data","raw_append_data_for","raw_delete_data","raw_delete_data_for","raw_get_bytecode","raw_get_bytecode_for","raw_get_data","raw_get_data_for","raw_set_bytecode","raw_set_bytecode_for","raw_set_data","raw_set_data_for","save_gas_remaining_before_subexecution","scalar_div_rem_native_amount_wasmv1","scalar_mul_native_amount_wasmv1","send_message","set_bytecode_wasmv1","set_ds_value_wasmv1","signature_verify","sub_native_amount_wasmv1","to_owned","transfer_coins","transfer_coins_for","transfer_coins_wasmv1","try_from","try_into","type_id","unsafe_random","unsafe_random_f64","unsafe_random_wasmv1","upcast_any_box","upcast_any_mut","upcast_any_ref","validate_address","vzip","RequestQueue","RequestWithResponseSender","borrow","borrow","borrow_mut","borrow_mut","cancel","cancel","capacity","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","extend","fmt","fmt","from","from","init","init","into","into","into_request","into_request","into_request_sender_pair","is_empty","is_full","layout_raw","layout_raw","max_items","new","new","pointer_metadata","pointer_metadata","pop","push","queue","request","response_tx","try_from","try_from","try_into","try_into","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","vzip","vzip","SlotInfo","SlotSequencer","__clone_box","borrow","borrow","borrow_mut","borrow_mut","cleanup_sequence","clone","clone_into","clone_to_uninit","config","consensus_final","content","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","execution_final","fmt","from","from","from_ref","get_block_id","get_next_slot_deadline","get_slot","get_slot_index","get_time_cursor","init","init","init","into","into","into_request","into_request","is_task_available","latest_consensus_final_slots","latest_executed_candidate_slot","latest_executed_final_slot","latest_execution_final_slot","layout_raw","layout_raw","new","pointer_metadata","pointer_metadata","run_task_with","sequence","sequence_build_step","slot","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","update","vzip","vzip","SpeculativeAsyncPool","active_history","borrow","borrow_mut","deref","deref_mut","deserialize","drop","fetch_msgs","final_state","from","get_execution_component_version","get_snapshot","init","into","into_request","is_message_expired","is_message_ready_to_execute","is_triggered","layout_raw","message_infos","new","pointer_metadata","pool_changes","push_new_message","reset_to_snapshot","settle_slot","take","take_batch_to_execute","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","SpeculativeDeferredCallRegistry","TARGET_BOOKING","active_history","advance_slot","borrow","borrow_mut","cancel_call","compute_call_fee","config","deferred_calls_changes","delete_call","deref","deref_mut","deserialize","drop","final_state","from","get_call","get_calls_by_slot","get_effective_slot_gas","get_effective_total_gas","get_slot_base_fee","get_snapshot","get_total_calls_registered","init","into","into_request","layout_raw","new","overbooking_fee","pointer_metadata","push_new_call","register_call","reset_to_snapshot","set_total_calls_registered","take","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","SpeculativeExecutedDenunciations","active_history","borrow","borrow_mut","deref","deref_mut","deserialize","drop","executed_denunciations","final_state","from","get_snapshot","init","insert_executed_denunciation","into","into_request","is_denunciation_executed","layout_raw","new","pointer_metadata","reset_to_snapshot","take","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","SpeculativeExecutedOps","active_history","borrow","borrow_mut","deref","deref_mut","deserialize","drop","executed_ops","final_state","from","get_snapshot","init","insert_executed_op","into","into_request","is_op_executed","layout_raw","new","pointer_metadata","reset_to_snapshot","take","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","SpeculativeLedger","active_history","added_changes","borrow","borrow_mut","charge_datastore_entry_change_storage","create_new_sc_address","delete_data_entry","deref","deref_mut","deserialize","drop","entry_exists","final_state","from","get_balance","get_bytecode","get_data_entry","get_keys","get_snapshot","get_storage_cost_datastore_entry","has_data_entry","init","into","into_request","layout_raw","max_bytecode_size","max_datastore_key_length","max_datastore_value_size","new","pointer_metadata","reset_to_snapshot","set_bytecode","set_data_entry","storage_costs_constants","take","transfer_coins","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","SpeculativeRollState","active_history","add_rolls","added_changes","borrow","borrow_mut","deref","deref_mut","deserialize","drop","final_state","from","get_address_cycle_infos","get_address_deferred_credit_for_slot","get_address_deferred_credits","get_production_stats_at_cycle","get_rolls","get_snapshot","init","into","into_request","layout_raw","new","pointer_metadata","reset_to_snapshot","settle_production_stats","take","take_unexecuted_deferred_credits","try_from","try_into","try_sell_rolls","try_slash_deferred_credits","try_slash_rolls","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","update_production_stats","vzip","ExecutionStatsCounter","borrow","borrow_mut","deref","deref_mut","deserialize","drop","final_blocks","final_executed_denunciations","final_executed_ops","from","get_stats","init","into","into_request","layout_raw","new","pointer_metadata","refresh","register_final_blocks","register_final_executed_denunciations","register_final_executed_operations","time_window_duration","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","FileStorageBackend","RocksDBStorageBackend","StorageBackend","borrow","borrow","borrow_mut","borrow_mut","db","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","folder","from","from","init","init","into","into","into_request","into_request","layout_raw","layout_raw","max_blocks","max_blocks","new","new","pointer_metadata","pointer_metadata","read","read","read","slots_saved","slots_saved","try_from","try_from","try_into","try_into","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","vzip","vzip","write","write","write","ExecutionThread","borrow","borrow_mut","deref","deref_mut","deserialize","drop","execute_one_readonly_request","execution_state","from","init","input_data","into","into_request","layout_raw","main_loop","new","pointer_metadata","readonly_requests","selector","slot_sequencer","start_execution_worker","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","update_readonly_requests","vzip","wait_loop_event"],"q":[[0,"massa_execution_worker"],[18,"massa_execution_worker::active_history"],[101,"massa_execution_worker::context"],[236,"massa_execution_worker::controller"],[328,"massa_execution_worker::execution"],[402,"massa_execution_worker::execution_info"],[555,"massa_execution_worker::interface_impl"],[694,"massa_execution_worker::request_queue"],[751,"massa_execution_worker::slot_sequencer"],[820,"massa_execution_worker::speculative_async_pool"],[856,"massa_execution_worker::speculative_deferred_calls"],[899,"massa_execution_worker::speculative_executed_denunciations"],[928,"massa_execution_worker::speculative_executed_ops"],[957,"massa_execution_worker::speculative_ledger"],[1001,"massa_execution_worker::speculative_roll_state"],[1040,"massa_execution_worker::stats"],[1070,"massa_execution_worker::storage_backend"],[1125,"massa_execution_worker::worker"],[1156,"massa_execution_exports::settings"],[1157,"massa_final_state::controller_trait"],[1158,"parking_lot::rwlock"],[1159,"alloc::sync"],[1160,"massa_pos_exports::controller_traits"],[1161,"alloc::boxed"],[1162,"massa_versioning::versioning"],[1163,"massa_execution_exports::channels"],[1164,"massa_wallet"],[1165,"massa_metrics"],[1166,"massa_event_cache::controller"],[1167,"massa_execution_exports::controller_traits"],[1168,"rkyv::with"],[1169,"core::result"],[1170,"massa_models::address"],[1171,"alloc::vec"],[1172,"massa_models::amount"],[1173,"massa_models::bytecode"],[1174,"massa_models::denunciation"],[1175,"massa_models::operation"],[1176,"massa_async_pool::message"],[1177,"massa_models::types"],[1178,"core::option"],[1179,"core::ops::range"],[1180,"core::fmt"],[1181,"massa_models::slot"],[1182,"massa_pos_exports::deferred_credits"],[1183,"massa_hash::hash"],[1184,"tonic::request"],[1185,"core::alloc::layout"],[1186,"core::any"],[1187,"massa_models::block_id"],[1188,"massa_module_cache::controller"],[1189,"massa_execution_exports::error"],[1190,"alloc::string"],[1191,"massa_models::deferred_calls"],[1192,"massa_deferred_calls::call"],[1193,"massa_deferred_calls"],[1194,"massa_models::output_event"],[1195,"alloc::collections::btree::map"],[1196,"massa_sc_runtime::types"],[1197,"alloc::collections::btree::set"],[1198,"rand_xoshiro::xoshiro256plusplus"],[1199,"massa_execution_exports::types"],[1200,"dyn_clone::sealed"],[1201,"massa_models::execution"],[1202,"massa_models::stats"],[1203,"std::collections::hash::map"],[1204,"massa_models::prehash"],[1205,"massa_proto_rs::massa::model::v1"],[1206,"anyhow"],[1207,"massa_sc_runtime::execution"],[1208,"massa_time"],[1209,"parking_lot::mutex"],[1210,"massa_channel::sender"],[1211,"core::ops::function"],[1212,"massa_async_pool::changes"],[1213,"massa_ledger_exports::ledger_changes"],[1214,"massa_deferred_calls::registry_changes"],[1215,"massa_deferred_calls::config"],[1216,"massa_executed_ops::denunciations_changes"],[1217,"massa_executed_ops::ops_changes"],[1218,"core::clone"],[1219,"massa_pos_exports::cycle_info"],[1220,"massa_pos_exports::pos_changes"],[1221,"num_rational"],[1222,"std::path"],[1223,"parking_lot::condvar"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,40,40,0,40,26,40,26,0,26,17,40,26,17,40,17,26,17,40,26,17,40,26,17,40,26,17,40,17,17,17,17,17,17,17,17,40,26,17,40,17,17,17,17,17,26,17,40,26,17,40,26,17,40,26,17,40,26,17,40,17,26,17,40,26,17,40,26,17,40,26,17,40,26,17,40,26,17,40,26,17,40,0,0,53,53,53,53,65,65,53,65,53,53,53,53,53,65,53,65,53,65,53,53,53,53,53,53,53,53,65,53,53,65,53,65,53,65,53,65,53,65,53,53,53,53,65,65,53,53,65,53,65,53,0,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,65,53,0,53,53,65,53,65,53,53,53,65,53,65,65,53,53,53,53,65,53,65,53,53,53,65,53,53,53,53,53,53,53,53,53,53,53,53,53,53,65,53,53,53,53,65,53,65,53,53,53,53,53,65,53,65,53,65,53,65,53,65,53,53,65,53,0,0,0,71,74,74,80,71,74,80,71,71,71,71,71,74,80,71,74,80,71,74,80,71,74,80,71,71,71,74,74,74,80,71,71,71,71,71,71,71,71,71,71,74,80,71,80,71,74,80,71,74,80,71,74,80,71,74,74,74,80,71,71,74,80,74,74,80,71,74,74,80,71,74,80,71,74,80,71,74,80,71,74,80,71,74,80,71,71,74,80,71,0,0,0,84,84,84,84,84,84,84,84,0,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,0,0,0,0,0,0,146,146,89,94,94,94,93,146,94,85,87,89,93,146,94,85,87,89,94,85,87,94,94,94,93,146,94,85,87,89,93,146,94,85,87,89,93,146,94,85,87,89,85,93,146,94,85,87,89,94,94,89,93,146,94,85,87,89,93,93,146,94,85,87,89,93,146,94,85,87,89,93,146,94,85,87,89,93,146,94,85,87,89,93,94,85,87,94,93,146,94,85,87,89,93,85,87,89,89,85,87,87,87,85,87,93,146,94,85,87,89,93,146,94,85,87,89,93,146,94,85,87,89,93,146,94,85,87,89,93,146,94,85,87,89,93,146,94,85,87,89,93,146,94,85,87,89,0,95,95,95,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,110,111,110,111,110,111,111,110,111,110,111,110,111,110,111,111,110,111,110,111,110,111,110,111,110,111,110,111,111,110,111,111,110,111,110,111,111,111,111,110,110,110,111,110,111,110,111,110,111,110,111,110,111,110,111,0,0,115,114,115,114,115,114,115,115,115,114,115,115,114,115,114,115,114,115,114,115,115,115,114,115,115,115,114,114,114,114,114,114,115,114,115,114,115,114,114,114,114,114,114,115,114,114,115,114,114,114,115,115,114,115,114,115,114,115,114,115,114,115,114,115,114,114,115,0,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,0,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,0,0,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,0,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,0,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,0,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,0,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,0,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,0,0,0,141,142,141,142,142,141,142,141,142,141,142,141,142,141,141,142,141,142,141,142,141,142,141,142,141,142,141,142,141,142,143,141,142,141,142,141,142,141,142,141,142,141,142,141,142,141,142,141,142,143,141,142,0,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,0,144,144,144,144,144,144,144,144,144],"f":"``````````````{{b{h{{f{d}}}}{l{j}}nA`{h{{f{Ab}}}}Ad{l{Af}}}{{Al{{l{Ah}}{l{Aj}}}}}}`````````````{{{An{c}}}{{An{e}}}{}{}}00{{{An{B`c}}}{{An{B`e}}}{}{}}00{{}Bb}{Bd{{An{c}}}{}}00{Bd{{An{B`c}}}{}}00{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}00{BdBj}00{{{An{Bb}}{An{Bl}}{An{{C`{Bn}}}}}{{Cd{{Cb{Bn}}}}}}{{{An{Bb}}{An{Bl}}}{{Cd{Cf}}}}{{{An{Bb}}{An{Bl}}}{{Cd{Ch}}}}{{{An{Bb}}{An{Cj}}}{{Cd{Bj}}}}{{{An{Bb}}{An{Cl}}}{{Cd{Bj}}}}{{{An{Bb}}{An{Cn}}D`Db}{{Cd{{Df{DdD`}}}}}}{{{An{Bb}}{An{Bl}}}{{Dj{Dh}}}}{{{An{Bb}}DhDhBn}{{Al{{Dl{Bd}}DnDn}}}}{{{An{E`}}{An{B`Eb}}}Ed}{cc{}}00{{{An{Bb}}{An{Bl}}{An{Ef}}}{{Dj{Cf}}}}{{{An{Bb}}{An{Ef}}}Eh}{{{An{Bb}}}{{Cd{Ej}}}}{{{An{Bb}}{An{{C`{Cl}}}}}{{Cb{{Dj{Dn}}}}}}{{{An{Bb}}{An{Ef}}Bn}E`}{{}Bd}00{ce{}{}}00{c{{El{e}}}{}{}}00{{}{{Bh{EnF`}}}}00{An}00{{{An{B`Bb}}{An{Ef}}Bn}Bj}{c{{Bh{e}}}{}{}}00000{{{An{c}}}Fb{}}00{{{l{c}}}{{l{Fd}}}{}}00{{{An{B`c}}}{{An{B`Fd}}}{}}00{{{An{c}}}{{An{Fd}}}{}}00999``{{bEf{Dj{Ff}}{h{{f{d}}}}{h{{f{Bb}}}}{h{{f{Fh}}}}n}Fj}{{{An{B`Fj}}{An{Bl}}Dh}Bj}`{{{An{B`Fj}}{An{Bl}}{Cb{Bn}}{Cb{Bn}}}{{Bh{BjFl}}}}`{{{An{c}}}{{An{e}}}{}{}}0{{{An{B`c}}}{{An{B`e}}}{}{}}0{{{An{B`Fj}}{An{Dd}}}{{Dj{{Al{Bl{Bh{CfFn}}}}}}}}{{{An{Fj}}Bl}{{Bh{BjFl}}}}`{{{An{B`Fj}}Ch}{{Bh{BlFl}}}}````````{{{An{B`Fj}}{An{G`}}Bl}{{Bh{BjFl}}}}{{{An{Fj}}{An{G`}}}Dn}{{{An{B`Fj}}{An{G`}}{An{Gb}}}{{Dj{{Al{Bl{Bh{CfFn}}}}}}}}{{{An{B`Fj}}Gb}{{Bh{G`Fl}}}}{{{An{B`Fj}}Ef}Gd}`{{{An{Fj}}EfDhEfDh}{{Bh{CfFl}}}}{{{An{B`Fj}}{An{Bl}}{An{{C`{Bn}}}}}{{Bh{BjFl}}}}{Bd{{An{c}}}{}}0{Bd{{An{B`c}}}{}}0{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}0{BdBj}0`{{{An{Fj}}FnDn}Gf}{{{An{B`Fj}}Gf}Bj}`{{{An{B`Fj}}{An{Ef}}}{{Cb{{Al{Bl{Bh{CfFn}}}}}}}}````{cc{}}0``{{{An{Ej}}{An{Ef}}{Dj{{An{Ff}}}}Dn}Ej}{{{An{Fj}}{An{Bl}}Dh}{{Cb{Gh}}}}{{{An{Fj}}{An{Bl}}Bn{Gj{Ef}}}{{Gl{EfCf}}}}{{{An{Fj}}{An{Bl}}}{{Dj{Cf}}}}{{{An{Fj}}{An{Bl}}}{{Dj{Ch}}}}{{{An{Fj}}}{{Cb{Bl}}}}{{{An{Fj}}}Gn}{{{An{Fj}}}{{Bh{BlFl}}}}{{{An{Fj}}}{{Bh{CfFl}}}}{{{An{Fj}}}{{Bh{{Cb{Bl}}Fl}}}}{{{An{Fj}}{An{Bl}}{An{{C`{Bn}}}}}{{Dj{{Cb{Bn}}}}}}{{{An{Fj}}{An{G`}}}{{Dj{Gb}}}}{{{An{Fj}}Ef}{{Gl{G`Gb}}}}{{{An{Fj}}{An{Bl}}{An{{C`{Bn}}}}}{{Dj{{H`{{Cb{Bn}}}}}}}}{{{An{Fj}}}Hb}{{{An{Fj}}{An{Bl}}{An{{C`{Bn}}}}}Dn}{{{An{Fj}}{An{Bl}}}Dn}{{}Bd}0{{{An{Ej}}}Hd}{{{An{B`Fj}}{An{Cj}}}Bj}{{{An{B`Fj}}ClDnEf}Bj}{ce{}{}}0{c{{El{e}}}{}{}}0{{{An{Fj}}{An{Cj}}}Dn}{{{An{Fj}}{An{Cl}}}Dn}{{}{{Bh{EnF`}}}}0```{{b{h{{f{d}}}}{h{{f{Bb}}}}{h{{f{Fh}}}}nEj}Fj}``{An}0`{{{An{B`Fj}}Dd}Bj}`{{bEf{Cb{Hf}}{h{{f{d}}}}{h{{f{Bb}}}}{h{{f{Fh}}}}n}Fj}``{{{An{B`Fj}}HbFl}Bj}{{{An{B`Fj}}{An{Bl}}Ch}{{Bh{BjFl}}}}{{{An{B`Fj}}{An{Bl}}{Cb{Bn}}{Cb{Bn}}}{{Bh{BjFl}}}}{{{An{B`Fj}}{Dj{Hh}}}Hj}00`````````{{{An{B`Fj}}DhDh}{{Cb{{Al{{Dj{Ch}}Dd}}}}}}{{{An{B`Fj}}DhDh}{{Cb{{Al{CnDd}}}}}}{{{An{B`Fj}}{Dj{Bl}}{Dj{Bl}}CfDn}{{Bh{BjFl}}}}{c{{Bh{e}}}{}{}}000{{{An{B`Fj}}{An{Bl}}Dh}{{Bh{BjFl}}}}{{{An{B`Fj}}{An{Bl}}Dh}{{Bh{CfFl}}}}00{{{An{c}}}Fb{}}0``{{{l{c}}}{{l{Fd}}}{}}0{{{An{B`c}}}{{An{B`Fd}}}{}}0{{{An{c}}}{{An{Fd}}}{}}0{{{An{B`Fj}}{An{Bl}}Ef{Dj{Ff}}}Bj}{ce{}{}}0```{{{An{c}}Hl}Bj{}}`{{{An{c}}}{{An{e}}}{}{}}00{{{An{B`c}}}{{An{B`e}}}{}{}}00{{{An{Hn}}}Hn}{{{An{Hn}}}{{l{Aj}}}}{{{An{c}}{An{B`e}}}Bj{}{}}{{{An{c}}}Bj{}}{Bd{{An{c}}}{}}00{Bd{{An{B`c}}}{}}00{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}00{BdBj}00{{{An{Hn}}I`}{{Bh{IbFl}}}}``{{{An{Id}}{An{B`Eb}}}Ed}{cc{}}00{{{An{c}}}c{}}{{{An{Hn}}{An{{C`{Bl}}}}{Gj{Ef}}}{{Cb{If}}}}{{{An{Hn}}Dh}{{Gl{BlDh}}}}{{{An{Hn}}{An{Cj}}}{{Al{DnDn}}}}{{{An{Hn}}Ih}{{Cb{Gf}}}}{{{An{Hn}}{Cb{{Al{Bl{Cb{Bn}}}}}}}{{Cb{{Al{{Dj{{Cb{Bn}}}}{Dj{{Cb{Bn}}}}}}}}}}{{{An{Hn}}{An{{C`{Bl}}}}}{{Cb{{Al{{Dj{Cf}}{Dj{Cf}}}}}}}}{{{An{Hn}}{An{{C`{Cl}}}}}{{Cb{{Al{{Dj{Dn}}{Dj{Dn}}}}}}}}{{{An{Hn}}}Ij}{{}Bd}00``{ce{}{}}00{c{{El{e}}}{}{}}00{{}{{Bh{EnF`}}}}00{bId}`{An}00{{{An{Hn}}Il}In}`{{{An{B`J`}}}Bj}`{{{An{B`Id}}}Id}`{{{An{c}}}e{}{}}{{{An{c}}}Fn{}}{c{{Bh{e}}}{}{}}00000{{{An{c}}}Fb{}}00{{{l{c}}}{{l{Fd}}}{}}00{{{An{B`c}}}{{An{B`Fd}}}{}}00{{{An{c}}}{{An{Fd}}}{}}00{{{An{Hn}}{Jb{EfFf}}{Dj{{Jb{EfFf}}}}{Jf{FfJd}}}Bj}???`````{{{An{B`Jh}}Hj}Bj}0{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}```{{{An{Jh}}{An{G`}}}{{Dj{Gb}}}}{{{An{Jh}}EfDhDh}{{Al{EfDhDnCf}}}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}{{{An{Jh}}Dd{Dj{Ch}}Db}{{Bh{JjFl}}}}{{{An{Jh}}{An{Jl}}Bl}{{Bh{BjFl}}}}{{{An{B`Jh}}{An{Ef}}{Dj{{An{{Al{FfJd}}}}}}{l{j}}}Bj}{{{An{Jh}}{An{G`}}Gb}{{Bh{JnFl}}}}{{{An{Jh}}{An{K`}}{An{Ef}}{An{B`Cf}}}{{Bh{KbFl}}}}32{{{An{Jh}}{An{Kd}}Ef{An{B`Dh}}{An{B`Cf}}}{{Bh{BjFl}}}}{{{An{Jh}}I`}{{Bh{IbFl}}}}55{{{An{Jh}}{An{Ef}}{Dj{{An{{Al{FfJd}}}}}}{l{j}}}Hj}6`````{cc{}}{{{An{Jh}}{An{Bl}}}{{Cb{Gh}}}}{{{An{Jh}}{An{Bl}}}{{Al{{Gl{EfCf}}{Gl{EfCf}}}}}}{{{An{Jh}}{An{Bl}}{Gj{Ef}}}{{Gl{EfCf}}}}{{{An{Jh}}Dh}{{Gl{BlDh}}}}{{{An{Jh}}Dh{Dj{{An{{Kf{Bl}}}}}}}{{Dj{Kh}}}}{{{An{Jh}}Ef}{{Cb{G`}}}}{{{An{Jh}}{An{Cj}}}{{Al{DnDn}}}}{{{An{Jh}}Ih}{{Cb{Gf}}}}{{{An{Jh}}{An{Bl}}}{{Al{{Dj{Ch}}{Dj{Ch}}}}}}{{{An{Jh}}{An{Bl}}{An{{C`{Bn}}}}}{{Al{{Dj{{Cb{Bn}}}}{Dj{{Cb{Bn}}}}}}}}{{{An{Jh}}{An{Bl}}}{{Al{{Dj{Cf}}{Dj{Cf}}}}}}{{{An{Jh}}{An{Bl}}{An{{C`{Bn}}}}}{{Al{{Dj{{H`{{Cb{Bn}}}}}}{Dj{{H`{{Cb{Bn}}}}}}}}}}{{{An{Jh}}{An{Bl}}}{{Al{DhDh}}}}{{{An{Jh}}}Ej}{{{An{Jh}}{An{{C`{Cl}}}}}{{Cb{{Al{{Dj{Dn}}{Dj{Dn}}}}}}}}{{{An{Jh}}}Ij}{{}Bd}{ce{}{}}{c{{El{e}}}{}{}}{{}{{Bh{EnF`}}}}```{{b{h{{f{d}}}}n{l{j}}A`{h{{f{Ab}}}}Ad{l{Af}}}Jh}{An}{{{An{Jh}}{An{Kd}}Bl}{{Bh{HbFl}}}}``{c{{Bh{e}}}{}{}}0{{{An{c}}}Fb{}}{{{l{c}}}{{l{Fd}}}{}}{{{An{B`c}}}{{An{B`Fd}}}{}}{{{An{c}}}{{An{Fd}}}{}}{{{An{B`Jh}}{An{{Dj{Hh}}}}{An{Ef}}}Bj};`````````````{{{An{c}}}{{An{e}}}{}{}}00000{{{An{B`c}}}{{An{B`e}}}{}{}}00000``````{Bd{{An{c}}}{}}00000{Bd{{An{B`c}}}{}}00000{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}00000`{BdBj}00000``{{{An{Kb}}{An{B`Eb}}}Ed}{cc{}}00000`{{}Bd}00000{ce{}{}}00000{c{{El{e}}}{}{}}00000{{}{{Bh{EnF`}}}}00000{DbKj}{{}Kl}{{}Jj}{{{An{Gb}}}Jn}`{An}00000{{{An{B`Kj}}EfKl}Bj}``````````{c{{Bh{e}}}{}{}}00000000000{{{An{c}}}Fb{}}00000{{{l{c}}}{{l{Fd}}}{}}00000{{{An{B`c}}}{{An{B`Fd}}}{}}00000{{{An{c}}}{{An{Fd}}}{}}00000======`{{{An{c}}Hl}Bj{}}{{{An{Kn}}{An{L`}}{An{L`}}}{{Lb{L`}}}}{{{An{Kn}}{An{Ld}}}{{Lb{Fn}}}}{{{An{L`}}}{{Lb{Cf}}}}{{{An{Cf}}}L`}{{{An{Kn}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}{Dj{Fn}}}{{Lb{Bj}}}}{{{An{Kn}}{An{Ld}}}{{Lb{{Cb{Bn}}}}}}{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{{{An{Kn}}{An{{C`{Bn}}}}}Fn}{{{An{Kn}}}{{Lb{Dn}}}}{{{An{Kn}}}{{Lb{Dh}}}}{{{An{Kn}}{An{Ld}}}{{Lb{Dn}}}}{{{An{Kn}}{An{L`}}}{{Lb{Dn}}}}11{{{An{Kn}}{An{Lf}}{An{Lf}}}{{Lb{Lf}}}}{{{An{Kn}}{An{Lf}}{An{Lf}}}{{Lb{{Al{DhLf}}}}}}{{{An{Kn}}{An{Lf}}Dh}{{Lb{Lf}}}}{{{An{Kn}}{An{Lf}}Dh}{{Lb{{Al{LfLf}}}}}}3{{{An{Kn}}}Kn}{{{An{Kn}}}{{l{Lh}}}}{{{An{c}}{An{B`e}}}Bj{}{}}{{{An{c}}}Bj{}}{{{An{Kn}}{An{Ld}}{An{Ld}}}{{Lb{Lj}}}}{{{An{Kn}}{An{L`}}{An{L`}}}{{Lb{Lj}}}}{{{An{Kn}}{An{Lf}}{An{Lf}}}{{Lb{Lj}}}}2```{{{An{Kn}}{An{{C`{Bn}}}}}{{Lb{Fn}}}}{{{An{Kn}}}{{Lb{Bj}}}}{{{An{Kn}}{An{Ld}}}{{Lb{Bj}}}}?{{{An{Kn}}{An{Ld}}{An{Ld}}{Al{DhBn}}Dh{An{{C`{Bn}}}}Dh}{{Lb{Fn}}}}{{{An{Kn}}{An{{C`{Bn}}}}{Dj{Fn}}}{{Lb{Bj}}}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{{{An{Kn}}{An{L`}}{An{L`}}}{{Lb{{Al{DhL`}}}}}}{BdBj}{{{An{Kn}}{An{{C`{Bn}}}}{Dj{Fn}}}{{Lb{Dn}}}}{{{An{Kn}}{An{{C`{Bn}}}}}{{Lb{{Cb{Bn}}}}}}{{{An{Kn}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}}{{Lb{{Cb{Bn}}}}}}{{{An{Kn}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}}{{Lb{Dn}}}}<{cc{}}{{{An{c}}}c{}}{{{An{Kn}}Fn}{{Lb{Bj}}}}{{{An{Kn}}{Cb{Bn}}}{{Lb{Bj}}}}{{{An{Kn}}{An{Ld}}}{{Lb{Ll}}}}{{{An{Fj}}{Dj{Fn}}}{{Lb{Bl}}}}{{{An{Kn}}{An{Ld}}}{{Lb{Dh}}}}{{{An{Kn}}}{{Lb{Dh}}}}1{{{An{Kn}}{Dj{Fn}}}{{Lb{L`}}}}{{{An{Kn}}{Dj{Fn}}}{{Lb{{Cb{Bn}}}}}}2{{{An{Kn}}}{{Lb{L`}}}}{{{An{Kn}}}{{Lb{{Cb{Fn}}}}}}4{{{An{Kn}}}{{Lb{Ln}}}}{{{An{Kn}}}{{Lb{Bn}}}}{{{An{Kn}}{Al{DhBn}}DhDh}{{Lb{{Al{DnDh}}}}}}{{{An{Kn}}{An{{C`{Bn}}}}{Dj{Fn}}}{{Lb{{H`{{Cb{Bn}}}}}}}}{{{An{Kn}}{An{{C`{Bn}}}}{Dj{Fn}}}{{Lb{{Cb{Bn}}}}}}{{{An{Kn}}}{{Lb{Db}}}}{{{An{Kn}}{Dj{{An{{C`{Bn}}}}}}}{{Lb{{H`{{Cb{Bn}}}}}}}}{{{An{Kn}}{An{Ld}}{Dj{{An{{C`{Bn}}}}}}}{{Lb{{H`{{Cb{Bn}}}}}}}}{{{An{Kn}}{An{{C`{Bn}}}}Dh}{{Lb{M`}}}}{{{An{Kn}}{An{{C`{Bn}}}}}{{Lb{{Cb{Bn}}}}}}{{{An{Kn}}{Dj{{An{{C`{Bn}}}}}}}{{Lb{{Cb{{Cb{Bn}}}}}}}}{{{An{Kn}}{An{{C`{Bn}}}}}{{Lb{{Cb{{Cb{Bn}}}}}}}}{{{An{Kn}}}{{Lb{{Dj{Fn}}}}}}={{{An{Kn}}{An{Ld}}}{{Lb{Dh}}}}0{{{An{Kn}}}{{Lb{Dh}}}}6{{{An{Kn}}{An{{C`{Bn}}}}}{{Lb{Dn}}}}{{{An{Kn}}{An{Ld}}{An{{C`{Bn}}}}}{{Lb{Dn}}}}{{{An{Kn}}{An{{C`{Bn}}}}}{{Lb{{Mb{Bn}}}}}}000{{{An{Kn}}}{{Lb{Bj}}}}{{}Bd}{{{An{Kn}}{An{Ld}}Dh}{{Lb{{Cb{Bn}}}}}}{{{An{Kn}}{An{Ld}}L`}{{Lb{{Cb{Bn}}}}}}{ce{}{}}{c{{El{e}}}{}{}}{{{An{Kn}}{An{Ld}}}{{Lb{Dn}}}}{{}{{Bh{EnF`}}}}{{{An{Lf}}}{{Lb{Md}}}}{{{An{Md}}}Lf}{{{An{Kn}}{An{Ld}}}{{Lb{L`}}}}{{{An{Kn}}{An{L`}}}{{Lb{Fn}}}}{{b{h{{Mf{Fj}}}}}Kn}?{An}{{{An{Kn}}{An{Ld}}}{{Lb{Bj}}}}{{{An{Kn}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}}{{Lb{Bj}}}}{{{An{Kn}}{An{Ld}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}}{{Lb{Bj}}}}{{{An{Kn}}{An{{C`{Bn}}}}}{{Lb{Bj}}}}{{{An{Kn}}{An{Ld}}{An{{C`{Bn}}}}}{{Lb{Bj}}}}{{{An{Kn}}}{{Lb{{Cb{Bn}}}}}}{{{An{Kn}}{An{Ld}}}{{Lb{{Cb{Bn}}}}}}{{{An{Kn}}{An{{C`{Bn}}}}}{{Lb{{Cb{Bn}}}}}}{{{An{Kn}}{An{Ld}}{An{{C`{Bn}}}}}{{Lb{{Cb{Bn}}}}}}5476{{{An{Kn}}Dh}Bj}{{{An{Kn}}{An{L`}}Dh}{{Lb{{Al{L`L`}}}}}}{{{An{Kn}}{An{L`}}Dh}{{Lb{L`}}}}{{{An{Kn}}{An{Ld}}{An{Ld}}{Al{DhBn}}{Al{DhBn}}DhDhDh{An{{C`{Bn}}}}{Dj{{Al{{An{Ld}}{Dj{{An{{C`{Bn}}}}}}}}}}}{{Lb{Bj}}}}{{{An{Kn}}{An{{C`{Bn}}}}{Dj{Fn}}}{{Lb{Bj}}}}{{{An{Kn}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}{Dj{Fn}}}{{Lb{Bj}}}}{{{An{Kn}}{An{{C`{Bn}}}}{An{Ld}}{An{Ld}}}{{Lb{Dn}}}}{{{An{Kn}}{An{L`}}{An{L`}}}{{Lb{L`}}}}{{{An{c}}}e{}{}}{{{An{Kn}}{An{Ld}}Dh}{{Lb{Bj}}}}{{{An{Kn}}{An{Ld}}{An{Ld}}Dh}{{Lb{Bj}}}}{{{An{Kn}}FnL`{Dj{Fn}}}{{Lb{Bj}}}}{c{{Bh{e}}}{}{}}0{{{An{c}}}Fb{}}{{{An{Kn}}}{{Lb{Mh}}}}{{{An{Kn}}}{{Lb{Mj}}}}{{{An{Kn}}Dh}{{Lb{{Cb{Bn}}}}}}{{{l{c}}}{{l{Fd}}}{}}{{{An{B`c}}}{{An{B`Fd}}}{}}{{{An{c}}}{{An{Fd}}}{}}{{{An{Kn}}{An{Ld}}}{{Lb{Dn}}}}{ce{}{}}``{{{An{c}}}{{An{e}}}{}{}}0{{{An{B`c}}}{{An{B`e}}}{}{}}0{{{Ml{ce}}Fl}Bj{}{}}{{{An{B`{Mn{ce}}}}Fl}Bj{}{}}{{{An{{Mn{ce}}}}}Bd{}{}}{Bd{{An{c}}}{}}0{Bd{{An{B`c}}}{}}0{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}0{BdBj}0{{{An{B`{Mn{ce}}}}{Mn{ce}}}Bj{}{}}{{{An{{Ml{ce}}}}{An{B`Eb}}}EdN`N`}{{{An{{Mn{ce}}}}{An{B`Eb}}}EdN`N`}{cc{}}0{{}Bd}0>>{c{{El{e}}}{}{}}0{{{Ml{ce}}}{{Al{c{Nb{{Bh{eFl}}}}}}}{}{}}{{{An{{Mn{ce}}}}}Dn{}{}}0{{}{{Bh{EnF`}}}}0`{{c{Nb{{Bh{eFl}}}}}{{Ml{ce}}}{}{}}{Bd{{Mn{ce}}}{}{}}{An}0{{{An{B`{Mn{ce}}}}}{{Dj{{Ml{ce}}}}}{}{}}{{{An{B`{Mn{ce}}}}{Ml{ce}}}Bj{}{}}```{c{{Bh{e}}}{}{}}000{{{An{c}}}Fb{}}0{{{l{c}}}{{l{Fd}}}{}}0{{{An{B`c}}}{{An{B`Fd}}}{}}0{{{An{c}}}{{An{Fd}}}{}}0{ce{}{}}0``{{{An{c}}Hl}Bj{}}{{{An{c}}}{{An{e}}}{}{}}0{{{An{B`c}}}{{An{B`e}}}{}{}}0{{{An{B`Nd}}}Bj}{{{An{Nf}}}Nf}{{{An{c}}{An{B`e}}}Bj{}{}}{{{An{c}}}Bj{}}```{Bd{{An{c}}}{}}0{Bd{{An{B`c}}}{}}0{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}0{BdBj}0`{{{An{Nf}}{An{B`Eb}}}Ed}{cc{}}0{{{An{c}}}c{}}{{{An{Nf}}}{{Dj{{An{Ff}}}}}}{{{An{Nd}}}Md}{{{An{Nd}}{An{Ef}}}{{Dj{{An{Nf}}}}}}{{{An{Nd}}{An{Ef}}}{{Dj{Bd}}}}{{{An{Nd}}}Ef}{{{An{B`Nd}}{Jb{EfFf}}{Jb{EfFf}}{Jf{FfJd}}}Bj}{{}Bd}0{ce{}{}}0{c{{El{e}}}{}{}}0{{{An{Nd}}}Dn}````{{}{{Bh{EnF`}}}}0{{bEf}Nd}{An}0{{{An{B`Nd}}e}{{Dj{c}}}{}{{Nj{Dn{An{Ef}}{Dj{{An{{Al{FfJd}}}}}}}{{Nh{c}}}}}}`{{Ef{Dj{Nf}}Dn{Dj{Ff}}Dn{Dj{Ff}}{An{B`{Jf{FfJd}}}}Dn}{{Al{NfDn}}}}`{{{An{c}}}e{}{}}{c{{Bh{e}}}{}{}}000{{{An{c}}}Fb{}}0{{{l{c}}}{{l{Fd}}}{}}0{{{An{B`c}}}{{An{B`Fd}}}{}}0{{{An{c}}}{{An{Fd}}}{}}0{{{An{B`Nd}}{Jb{EfFf}}{Dj{{Jb{EfFf}}}}{Jf{FfJd}}}Bj}>>``{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}{{{An{B`Nl}}{Cb{{An{Cn}}}}DnDb}{{Cb{{Al{CnDd}}}}}}`{cc{}}{{{An{Nl}}{An{Ef}}}Db}{{{An{Nl}}}{{Al{Nn{Gl{CnO`}}}}}}{{}Bd}{ce{}{}}{c{{El{e}}}{}{}}{{{An{Ef}}{An{Ef}}Db}Dn}{{{An{Ef}}{An{Ef}}{An{Ef}}Db}Dn}{{{An{Ob}}{An{Od}}}Dn}{{}{{Bh{EnF`}}}}`{{{h{{f{d}}}}{h{{f{Bb}}}}}Nl}{An}`{{{An{B`Nl}}Dd}Bj}{{{An{B`Nl}}{Al{Nn{Gl{CnO`}}}}}Bj}{{{An{B`Nl}}{An{Ef}}{An{Od}}Dn}{{Cb{{Al{CnDd}}}}}}{{{An{B`Nl}}}Nn}{{{An{B`Nl}}EfDhDh}{{Cb{{Al{CnDd}}}}}}{c{{Bh{e}}}{}{}}0{{{An{c}}}Fb{}}{{{l{c}}}{{l{Fd}}}{}}{{{An{B`c}}}{{An{B`Fd}}}{}}{{{An{c}}}{{An{Fd}}}{}}{ce{}{}}```{{{An{B`Of}}Ef}Gd}{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{{{An{B`Of}}{An{G`}}}{{Bh{{Al{BlCf}}Fl}}}}{{{An{Of}}EfDhEfDh}{{Bh{CfFl}}}}``{{{An{B`Of}}{An{G`}}Ef}Bj}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}`{cc{}}{{{An{Of}}{An{G`}}}{{Dj{Gb}}}}{{{An{Of}}Ef}Gd}{{{An{Of}}{An{Ef}}}Dh}{{{An{Of}}}Oh}{{{An{Of}}{An{Ef}}}Cf}{{{An{Of}}}Oj}{{{An{Of}}}Dh}{{}Bd}{ce{}{}}{c{{El{e}}}{}{}}{{}{{Bh{EnF`}}}}{{{h{{f{d}}}}{h{{f{Bb}}}}Ol}Of}{{OhOhOhOhCf}{{Bh{CfFl}}}}{An}{{{An{B`Of}}G`Gb}Bj}{{{An{B`Of}}GbEj}{{Bh{G`Fl}}}}{{{An{B`Of}}Oj}Bj}{{{An{B`Of}}Dh}Bj}{{{An{B`Of}}}Oj}{c{{Bh{e}}}{}{}}0{{{An{c}}}Fb{}}{{{l{c}}}{{l{Fd}}}{}}{{{An{B`c}}}{{An{B`Fd}}}{}}{{{An{c}}}{{An{Fd}}}{}}?``{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}``{cc{}}{{{An{On}}}A@`}{{}Bd}{{{An{B`On}}Cj}Bj}{ce{}{}}{c{{El{e}}}{}{}}{{{An{On}}{An{Cj}}}Dn}{{}{{Bh{EnF`}}}}{{{h{{f{d}}}}{h{{f{Bb}}}}}On}{An}{{{An{B`On}}A@`}Bj}{{{An{B`On}}}A@`}{c{{Bh{e}}}{}{}}0{{{An{c}}}Fb{}}{{{l{c}}}{{l{Fd}}}{}}{{{An{B`c}}}{{An{B`Fd}}}{}}{{{An{c}}}{{An{Fd}}}{}}<``{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}``{cc{}}{{{An{A@b}}}A@d}{{}Bd}{{{An{B`A@b}}ClDnEf}Bj}{ce{}{}}{c{{El{e}}}{}{}}{{{An{A@b}}{An{Cl}}}Dn}{{}{{Bh{EnF`}}}}{{{h{{f{d}}}}{h{{f{Bb}}}}}A@b}{An}{{{An{B`A@b}}A@d}Bj}{{{An{B`A@b}}}A@d}{c{{Bh{e}}}{}{}}0{{{An{c}}}Fb{}}{{{l{c}}}{{l{Fd}}}{}}{{{An{B`c}}}{{An{B`Fd}}}{}}{{{An{c}}}{{An{Fd}}}{}}<```{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{{{An{B`A@f}}{An{Bl}}{Dj{{Al{{An{{C`{Bn}}}}{An{{C`{Bn}}}}}}}}{Dj{{Al{{An{{C`{Bn}}}}{An{{C`{Bn}}}}}}}}Db}{{Bh{BjFl}}}}{{{An{B`A@f}}BlBlChDb}{{Bh{BjFl}}}}{{{An{B`A@f}}{An{Bl}}{An{Bl}}{An{{C`{Bn}}}}Db}{{Bh{BjFl}}}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}{{{An{A@f}}{An{Bl}}}Dn}`{cc{}}{{{An{A@f}}{An{Bl}}}{{Dj{Cf}}}}{{{An{A@f}}{An{Bl}}}{{Dj{Ch}}}}{{{An{A@f}}{An{Bl}}{An{{C`{Bn}}}}}{{Dj{{Cb{Bn}}}}}}{{{An{A@f}}{An{Bl}}{An{{C`{Bn}}}}}{{Dj{{H`{{Cb{Bn}}}}}}}}{{{An{A@f}}}Od}{{{An{A@f}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}}{{Bh{CfFl}}}}{{{An{A@f}}{An{Bl}}{An{{C`{Bn}}}}}Dn}{{}Bd}{ce{}{}}{c{{El{e}}}{}{}}{{}{{Bh{EnF`}}}}```{{{h{{f{d}}}}{h{{f{Bb}}}}BnDhDhA@h}A@f}{An}{{{An{B`A@f}}Od}Bj}{{{An{B`A@f}}{An{Bl}}{An{Bl}}ChDb}{{Bh{BjFl}}}}{{{An{B`A@f}}{An{Bl}}{An{Bl}}{Cb{Bn}}{Cb{Bn}}Db}{{Bh{BjFl}}}}`{{{An{B`A@f}}}Od}{{{An{B`A@f}}{Dj{Bl}}{Dj{Bl}}CfDb}{{Bh{BjFl}}}}{c{{Bh{e}}}{}{}}0{{{An{c}}}Fb{}}{{{l{c}}}{{l{Fd}}}{}}{{{An{B`c}}}{{An{B`Fd}}}{}}{{{An{c}}}{{An{Fd}}}{}}>``{{{An{B`A@j}}{An{Bl}}Dh}Bj}`{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}`{cc{}}{{{An{A@j}}{An{Bl}}DhEf}{{Cb{Gh}}}}{{{An{A@j}}{An{Bl}}{An{Ef}}}{{Dj{Cf}}}}{{{An{A@j}}{An{Bl}}c}{{Gl{EfCf}}}{{A@l{Ef}}A@n}}{{{An{A@j}}DhDhBn{An{Ef}}}{{Al{{Jf{BlAA`}}Dn}}}}{{{An{A@j}}{An{Bl}}}Dh}{{{An{A@j}}}AAb}{{}Bd}{ce{}{}}{c{{El{e}}}{}{}}{{}{{Bh{EnF`}}}}{{{h{{f{d}}}}{h{{f{Bb}}}}}A@j}{An}{{{An{B`A@j}}AAb}Bj}{{{An{B`A@j}}{An{Ef}}DhBnCf{AAd{Dh}}}{{Cb{{Al{BlCf}}}}}}{{{An{B`A@j}}}AAb}{{{An{B`A@j}}{An{Ef}}}Eh}{c{{Bh{e}}}{}{}}0{{{An{B`A@j}}{An{Bl}}EfDhDhBnCf}{{Bh{BjFl}}}}{{{An{B`A@j}}{An{Ef}}{An{Bl}}{An{Cf}}}Cf}{{{An{B`A@j}}{An{Bl}}Dh}{{Bh{DhFl}}}}{{{An{c}}}Fb{}}{{{l{c}}}{{l{Fd}}}{}}{{{An{B`c}}}{{An{B`Fd}}}{}}{{{An{c}}}{{An{Fd}}}{}}{{{An{B`A@j}}{An{Bl}}Ef{Dj{Ff}}}Bj}{ce{}{}}`{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}```{cc{}}{{{An{AAf}}EfEf}Ij}{{}Bd}9{c{{El{e}}}{}{}}{{}{{Bh{EnF`}}}}{MdAAf}{An}{{{An{B`AAf}}Md}Bj}{{{An{B`AAf}}Bd}Bj}00`{c{{Bh{e}}}{}{}}0{{{An{c}}}Fb{}}{{{l{c}}}{{l{Fd}}}{}}{{{An{B`c}}}{{An{B`Fd}}}{}}{{{An{c}}}{{An{Fd}}}{}}{ce{}{}}```{{{An{c}}}{{An{e}}}{}{}}0{{{An{B`c}}}{{An{B`e}}}{}{}}0`{Bd{{An{c}}}{}}0{Bd{{An{B`c}}}{}}0{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}0{BdBj}0`{cc{}}0{{}Bd}088{c{{El{e}}}{}{}}0{{}{{Bh{EnF`}}}}0``{{AAhDh}AAj}{{AAhDh}AAl}{An}0{{{An{AAn}}{An{Ef}}}{{Dj{{Cb{Bn}}}}}}{{{An{AAj}}{An{Ef}}}{{Dj{{Cb{Bn}}}}}}{{{An{AAl}}{An{Ef}}}{{Dj{{Cb{Bn}}}}}}``{c{{Bh{e}}}{}{}}000{{{An{c}}}Fb{}}0{{{l{c}}}{{l{Fd}}}{}}0{{{An{B`c}}}{{An{B`Fd}}}{}}0{{{An{c}}}{{An{Fd}}}{}}0{ce{}{}}0{{{An{B`AAn}}{An{Ef}}{An{{C`{Bn}}}}}Bj}{{{An{B`AAj}}{An{Ef}}{An{{C`{Bn}}}}}Bj}{{{An{B`AAl}}{An{Ef}}{An{{C`{Bn}}}}}Bj}`{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}{{{An{B`AB`}}}Dn}`{cc{}}{{}Bd}`<{c{{El{e}}}{}{}}{{}{{Bh{EnF`}}}}{{{An{B`AB`}}}Bj}{{b{h{{Al{ABb{Mf{Id}}}}}}{h{{f{Jh}}}}{l{j}}}AB`}{An}```{{b{h{{f{d}}}}{l{j}}nA`{h{{f{Ab}}}}Ad{l{Af}}}{{Al{{l{Ah}}{l{Aj}}}}}}{c{{Bh{e}}}{}{}}0{{{An{c}}}Fb{}}{{{l{c}}}{{l{Fd}}}{}}{{{An{B`c}}}{{An{B`Fd}}}{}}{{{An{c}}}{{An{Fd}}}{}}{{{An{B`AB`}}{Mn{I`Ib}}}Bj}{ce{}{}}{{{An{B`AB`}}}{{Al{IdDn}}}}","D":"CN`","p":[[5,"ExecutionConfig",1156],[10,"FinalStateController",1157],[8,"RwLock",1158],[5,"Arc",1159],[10,"SelectorController",1160],[5,"Box",1161],[5,"MipStore",1162],[5,"ExecutionChannels",1163],[5,"Wallet",1164],[5,"MassaMetrics",1165],[10,"EventCacheController",1166],[10,"ExecutionManager",1167],[10,"ExecutionController",1167],[1,"tuple"],[1,"reference"],[0,"mut"],[5,"ActiveHistory",18],[1,"usize"],[5,"With",1168],[6,"Result",1169],[1,"unit"],[6,"Address",1170],[1,"u8"],[1,"slice"],[5,"Vec",1171],[6,"HistorySearchResult",18],[5,"Amount",1172],[5,"Bytecode",1173],[6,"DenunciationIndex",1174],[6,"OperationId",1175],[8,"AsyncMessageId",1176],[5,"AsyncMessageUpdate",1176],[1,"u32"],[5,"AsyncMessage",1176],[6,"SetUpdateOrDelete",1177],[1,"u64"],[6,"Option",1178],[5,"Range",1179],[1,"bool"],[6,"SlotIndexPosition",18],[5,"Formatter",1180],[8,"Result",1180],[5,"Slot",1181],[5,"DeferredCredits",1182],[5,"Hash",1183],[5,"Request",1184],[5,"Layout",1185],[5,"LayoutError",1185],[5,"TypeId",1186],[10,"Any",1186],[6,"BlockId",1187],[5,"ModuleCache",1188],[5,"ExecutionContext",101],[6,"ExecutionError",1189],[5,"String",1190],[6,"DeferredCallId",1191],[5,"DeferredCall",1192],[5,"DeferredSlotCalls",1193],[5,"SCOutputEvent",1194],[5,"ExecutionAddressCycleInfo",1170],[6,"Bound",1179],[5,"BTreeMap",1195],[5,"CondomLimits",1196],[5,"BTreeSet",1197],[5,"ExecutionContextSnapshot",101],[5,"Xoshiro256PlusPlus",1198],[5,"ExecutionStackElement",1199],[5,"ExecutedBlockInfo",1199],[5,"ExecutionOutput",1199],[5,"Private",1200],[5,"ExecutionControllerImpl",236],[5,"ReadOnlyExecutionRequest",1199],[5,"ReadOnlyExecutionOutput",1199],[5,"ExecutionInputData",236],[5,"ExecutionAddressInfo",1199],[5,"EventFilter",1201],[5,"ExecutionStats",1202],[5,"ExecutionQueryRequest",1199],[5,"ExecutionQueryResponse",1199],[5,"ExecutionManagerImpl",236],[5,"HashMap",1203],[5,"ExecutionBlockMetadata",1199],[8,"PreHashMap",1204],[5,"ExecutionState",328],[5,"AsyncMessageExecutionResult",402],[6,"OperationType",1175],[5,"DeferredCallExecutionResult",402],[6,"Denunciation",1174],[5,"DenunciationResult",402],[8,"SecureShareOperation",1175],[8,"PreHashSet",1204],[5,"ExecutionQueryCycleInfos",1199],[5,"ExecutionInfo",402],[5,"ExecutionInfoForSlot",402],[5,"InterfaceImpl",555],[5,"NativeAmount",1205],[8,"Result",1206],[1,"str"],[5,"NativeTime",1205],[10,"Interface",1196],[6,"ComparisonResult",1205],[6,"AddressCategory",1205],[5,"Slot",1205],[6,"RuntimeModule",1207],[1,"array"],[5,"MassaTime",1208],[8,"Mutex",1209],[1,"i64"],[1,"f64"],[5,"RequestWithResponseSender",694],[5,"RequestQueue",694],[10,"Debug",1180],[5,"MassaSender",1210],[5,"SlotSequencer",751],[5,"SlotInfo",751],[17,"Output"],[10,"Fn",1211],[5,"SpeculativeAsyncPool",820],[5,"AsyncPoolChanges",1212],[5,"AsyncMessageInfo",1176],[5,"AsyncMessageTrigger",1176],[5,"LedgerChanges",1213],[5,"SpeculativeDeferredCallRegistry",856],[1,"u128"],[5,"DeferredCallRegistryChanges",1214],[5,"DeferredCallsConfig",1215],[5,"SpeculativeExecutedDenunciations",899],[8,"ExecutedDenunciationsChanges",1216],[5,"SpeculativeExecutedOps",928],[8,"ExecutedOpsChanges",1217],[5,"SpeculativeLedger",957],[5,"StorageCostsConstants",1156],[5,"SpeculativeRollState",1001],[10,"RangeBounds",1179],[10,"Clone",1218],[5,"ProductionStats",1219],[5,"PoSChanges",1220],[5,"Ratio",1221],[5,"ExecutionStatsCounter",1040],[5,"PathBuf",1222],[5,"FileStorageBackend",1070],[5,"RocksDBStorageBackend",1070],[10,"StorageBackend",1070],[5,"ExecutionThread",1125],[5,"Condvar",1223],[6,"OperationInfo",402]],"r":[[14,1125]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJQCmwABAAAABQAAAA4AAAATAAAAGQAAABsAAAAdABIAOAAAAEEAAgBHAAgAUQAUAG0AAwCAAAEAhQAHAKsAAQCyAAEAtgABAL4AAQDKAAEA1gAAANgAAwDeAAMA5AAFAOsAAQDwAAAA8gAGAPoADQALAQAADwEAABgBAgAgAQUAKAECADEBEwBGAQMATAEBAFABAwBVAQUAXgEAAGgBBABuAQAAcwEAAH4BAACAAQEAgwEBAIYBAACIAQcAkQEDAJYBBACcAQAAngEMAKwBAgCwARwA0wEGAOABFgD4AQEA/AEvAC0CAAAzAgMAOAIBADsCBwBEAgUATgIAAFMCAgBXAgAAXgIAAGECAABjAgAAcQIAAHgCAAB6AgEAhAIBAIcCAACJAgIAkgIAAKUCAACoAgAArAICALICBAC5AgMAwAIHAMkCAQDNAgEA0QIBANYCAQDbAgEA4gINAPICBAD4AgIA/gIHAAcDAAAKAwAAEQMBABUDAQAcAwEAHwMBACUDDAAzAwsAQAMAAEIDAABEAwAASAMBAEsDAQBSAwkAXQMBAGEDBwBqAwQAcAMBAHMDAQB2AwEAewMAAH0DBgCGAwUAkAMAAJMDAACVAwAAlwMAAJoDBgCjAwUArQMAALADAACyAwAAtAMAALcDBgDBAwEAxgMDANQDAADWAwEA3AMAAOMDBgDuAwUA/AMAAP4DAQABBAAABgQBAAsEAwAQBAAAEgQFAB0EAAAfBAEAIgQAACgEBgAyBA0AQgQBAEYEBQBOBAEAUQQRAGQEAQBnBAUAbgQAAHAEAQBzBAEAdwQAAHoEAAB8BAUAgwQAAA=="}],\ ["massa_factory_exports",{"t":"PFFGKIPPIOCOCOCOOOOOOOOOOMOOOOCFNNNONNNONNNNNNNONONNONOOOONOOONNNNNNNNKMPGIPPNNNNNNNNNNNNNNNNNNNNNNNFINNNNNNONNNNNNNNNNNOOOONNNNNNNN","n":["Err","FactoryChannels","FactoryConfig","FactoryError","FactoryManager","FactoryResult","GenericError","Ok","ProductionHistory","chain_id","config","consensus","controller_traits","denunciation_expire_periods","error","genesis_timestamp","initial_delay","last_start_period","max_block_gas","max_block_size","max_operations_per_block","periods_per_cycle","pool","protocol","selector","stop","stop_production_when_zero_connections","storage","t0","thread_count","types","FactoryConfig","__clone_box","borrow","borrow_mut","chain_id","clone","clone_into","clone_to_uninit","denunciation_expire_periods","deref","deref_mut","deserialize","drop","fmt","from","from_ref","genesis_timestamp","init","initial_delay","into","into_request","last_start_period","layout_raw","max_block_gas","max_block_size","max_operations_per_block","periods_per_cycle","pointer_metadata","stop_production_when_zero_connections","t0","thread_count","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","FactoryManager","stop","Err","FactoryError","FactoryResult","GenericError","Ok","as_error","borrow","borrow_mut","deref","deref_mut","deserialize","drop","fmt","fmt","from","init","into","into_request","layout_raw","pointer_metadata","to_string","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","FactoryChannels","ProductionHistory","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","consensus","deref","deref_mut","deserialize","drop","from","from_ref","init","into","into_request","layout_raw","pointer_metadata","pool","protocol","selector","storage","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip"],"q":[[0,"massa_factory_exports"],[31,"massa_factory_exports::config"],[70,"massa_factory_exports::controller_traits"],[72,"massa_factory_exports::error"],[100,"massa_factory_exports::types"],[132,"dyn_clone::sealed"],[133,"rkyv::with"],[134,"core::result"],[135,"core::fmt"],[136,"tonic::request"],[137,"core::alloc::layout"],[138,"core::any"],[139,"alloc::boxed"],[140,"core::error"],[141,"alloc::string"]],"i":[22,0,0,0,0,0,19,22,0,6,0,21,0,6,0,6,6,6,6,6,6,6,21,21,21,2,6,21,6,6,0,0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,2,22,0,0,19,22,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,0,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21],"f":"`````````````````````````{{{f{bd}}}h}``````{{{f{c}}j}h{}}{{{f{c}}}{{f{e}}}{}{}}{{{f{bc}}}{{f{be}}}{}{}}`{{{f{l}}}l}{{{f{c}}{f{be}}}h{}{}}{{{f{c}}}h{}}`{n{{f{c}}}{}}{n{{f{bc}}}{}}{{{f{c}}{f{be}}}{{Ab{{A`{gi}}}}}{}{}{}{}}{nh}{{{f{l}}{f{bAd}}}Af}{cc{}}{{{f{c}}}c{}}`{{}n}`{ce{}{}}{c{{Ah{e}}}{}{}}`{{}{{Ab{AjAl}}}}````{f}```{{{f{c}}}e{}{}}{c{{Ab{e}}}{}{}}0{{{f{c}}}An{}}{{{B`{c}}}{{B`{Bb}}}{}}{{{f{bc}}}{{f{bBb}}}{}}{{{f{c}}}{{f{Bb}}}{}}9`{{{f{bd}}}h}`````{{{f{c}}}{{f{Bd}}}{}}{{{f{c}}}{{f{e}}}{}{}}{{{f{bc}}}{{f{be}}}{}{}}{n{{f{c}}}{}}{n{{f{bc}}}{}}{{{f{c}}{f{be}}}{{Ab{{A`{gi}}}}}{}{}{}{}}{nh}{{{f{Bf}}{f{bAd}}}Af}0{cc{}}{{}n}{ce{}{}}{c{{Ah{e}}}{}{}}{{}{{Ab{AjAl}}}}{f}{{{f{c}}}Bh{}}{c{{Ab{e}}}{}{}}0{{{f{c}}}An{}}{{{B`{c}}}{{B`{Bb}}}{}}{{{f{bc}}}{{f{bBb}}}{}}{{{f{c}}}{{f{Bb}}}{}}9``{{{f{c}}j}h{}}{{{f{c}}}{{f{e}}}{}{}}{{{f{bc}}}{{f{be}}}{}{}}{{{f{Bj}}}Bj}{{{f{c}}{f{be}}}h{}{}}{{{f{c}}}h{}}`{n{{f{c}}}{}}{n{{f{bc}}}{}}{{{f{c}}{f{be}}}{{Ab{{A`{gi}}}}}{}{}{}{}}{nh}{cc{}}{{{f{c}}}c{}}{{}n}{ce{}{}}{c{{Ah{e}}}{}{}}{{}{{Ab{AjAl}}}}{f}````{{{f{c}}}e{}{}}{c{{Ab{e}}}{}{}}0{{{f{c}}}An{}}{{{B`{c}}}{{B`{Bb}}}{}}{{{f{bc}}}{{f{bBb}}}{}}{{{f{c}}}{{f{Bb}}}{}}9","D":"Gn","p":[[0,"mut"],[10,"FactoryManager",70],[1,"reference"],[1,"unit"],[5,"Private",132],[5,"FactoryConfig",31],[1,"usize"],[5,"With",133],[6,"Result",134],[5,"Formatter",135],[8,"Result",135],[5,"Request",136],[5,"Layout",137],[5,"LayoutError",137],[5,"TypeId",138],[5,"Box",139],[10,"Any",138],[10,"Error",140],[6,"FactoryError",72],[5,"String",141],[5,"FactoryChannels",100],[8,"FactoryResult",72]],"r":[[1,100],[2,31],[3,72],[4,70],[5,72],[8,100]],"b":[[84,"impl-Display-for-FactoryError"],[85,"impl-Debug-for-FactoryError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEUAEwAPAAAAHwAAACEAAgAlAAIAKQAEAC8AAAAxAAAANAAAADYAAAA7AAAAPwAHAE4ACABYAAAAWgAKAGcABQBuAAMAcwABAHYAAgB9AAcA"}],\ ["massa_factory_worker",{"t":"CCCCHFNNOONNNNONNNNNNNOONNNNNNNNNNNOFNNOONNNNOONNONNNNNNNNNNNNNNNNOFONNNNNNONNNNNNNNNNNNNNH","n":["block_factory","endorsement_factory","manager","run","start_factory","BlockFactoryWorker","borrow","borrow_mut","cfg","channels","deref","deref_mut","deserialize","drop","factory_receiver","from","get_next_slot","init","interruptible_wait_until","into","into_request","layout_raw","mip_store","op_id_serializer","pointer_metadata","process_slot","run","spawn","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","wallet","EndorsementFactoryWorker","borrow","borrow_mut","cfg","channels","deref","deref_mut","deserialize","drop","endorsement_serializer","factory_receiver","from","get_next_slot","half_t0","init","interruptible_wait_until","into","into_request","layout_raw","pointer_metadata","process_slot","run","spawn","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","wallet","FactoryManagerImpl","block_worker","borrow","borrow_mut","deref","deref_mut","deserialize","drop","endorsement_worker","from","init","into","into_request","layout_raw","pointer_metadata","stop","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","start_factory"],"q":[[0,"massa_factory_worker"],[5,"massa_factory_worker::block_factory"],[36,"massa_factory_worker::endorsement_factory"],[67,"massa_factory_worker::manager"],[90,"massa_factory_worker::run"],[91,"massa_factory_exports::config"],[92,"massa_wallet"],[93,"parking_lot::rwlock"],[94,"alloc::sync"],[95,"massa_factory_exports::types"],[96,"massa_versioning::versioning"],[97,"massa_factory_exports::controller_traits"],[98,"alloc::boxed"],[99,"rkyv::with"],[100,"core::result"],[101,"massa_models::slot"],[102,"core::option"],[103,"std::time"],[104,"tonic::request"],[105,"core::alloc::layout"],[106,"massa_channel::receiver"],[107,"std::thread"],[108,"core::any"]],"i":[0,0,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,0,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,0],"f":"````{{b{h{{f{d}}}}jl}{{A`{n}}}}`{{{Ab{c}}}{{Ab{e}}}{}{}}{{{Ab{Adc}}}{{Ab{Ade}}}{}{}}``{Af{{Ab{c}}}{}}{Af{{Ab{Adc}}}{}}{{{Ab{c}}{Ab{Ade}}}{{Aj{{Ah{gi}}}}}{}{}{}{}}{AfAl}`{cc{}}{{{Ab{An}}{Bb{B`}}}{{Bf{B`Bd}}}}{{}Af}{{{Ab{An}}Bd}Bh}{ce{}{}}{c{{Bj{e}}}{}{}}{{}{{Aj{BlBn}}}}``{Ab}{{{Ab{AdAn}}B`}Al}{{{Ab{AdAn}}}Al}{{b{h{{f{d}}}}j{C`{Al}}l}{{Cb{Al}}}}{c{{Aj{e}}}{}{}}0{{{Ab{c}}}Cd{}}{{{A`{c}}}{{A`{Cf}}}{}}{{{Ab{Adc}}}{{Ab{AdCf}}}{}}{{{Ab{c}}}{{Ab{Cf}}}{}};``{{{Ab{c}}}{{Ab{e}}}{}{}}{{{Ab{Adc}}}{{Ab{Ade}}}{}{}}``{Af{{Ab{c}}}{}}{Af{{Ab{Adc}}}{}}{{{Ab{c}}{Ab{Ade}}}{{Aj{{Ah{gi}}}}}{}{}{}{}}{AfAl}``{cc{}}{{{Ab{Ch}}{Bb{B`}}}{{Bf{B`Bd}}}}`{{}Af}{{{Ab{Ch}}Bd}Bh}{ce{}{}}{c{{Bj{e}}}{}{}}{{}{{Aj{BlBn}}}}{Ab}{{{Ab{AdCh}}B`}Al}{{{Ab{AdCh}}}Al}{{b{h{{f{d}}}}j{C`{Al}}}{{Cb{Al}}}}{c{{Aj{e}}}{}{}}0{{{Ab{c}}}Cd{}}{{{A`{c}}}{{A`{Cf}}}{}}{{{Ab{Adc}}}{{Ab{AdCf}}}{}}{{{Ab{c}}}{{Ab{Cf}}}{}};```{{{Ab{c}}}{{Ab{e}}}{}{}}{{{Ab{Adc}}}{{Ab{Ade}}}{}{}}{Af{{Ab{c}}}{}}{Af{{Ab{Adc}}}{}}{{{Ab{c}}{Ab{Ade}}}{{Aj{{Ah{gi}}}}}{}{}{}{}}{AfAl}`{cc{}}{{}Af}{ce{}{}}{c{{Bj{e}}}{}{}}{{}{{Aj{BlBn}}}}{Ab}{{{Ab{AdCj}}}Al}{c{{Aj{e}}}{}{}}0{{{Ab{c}}}Cd{}}{{{A`{c}}}{{A`{Cf}}}{}}{{{Ab{Adc}}}{{Ab{AdCf}}}{}}{{{Ab{c}}}{{Ab{Cf}}}{}}9{{b{h{{f{d}}}}jl}{{A`{n}}}}","D":"Ch","p":[[5,"FactoryConfig",91],[5,"Wallet",92],[8,"RwLock",93],[5,"Arc",94],[5,"FactoryChannels",95],[5,"MipStore",96],[10,"FactoryManager",97],[5,"Box",98],[1,"reference"],[0,"mut"],[1,"usize"],[5,"With",99],[6,"Result",100],[1,"unit"],[5,"BlockFactoryWorker",5],[5,"Slot",101],[6,"Option",102],[5,"Instant",103],[1,"tuple"],[1,"bool"],[5,"Request",104],[5,"Layout",105],[5,"LayoutError",105],[5,"MassaReceiver",106],[5,"JoinHandle",107],[5,"TypeId",108],[10,"Any",108],[5,"EndorsementFactoryWorker",36],[5,"FactoryManagerImpl",67]],"r":[[4,90]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAD8ADQACAAAABwAIABIAAAAVAAQAHQAHACYACQAyAAEANgACADwABwBGAAUATgAAAFAAAgBUAAYA"}],\ ["massa_final_state",{"t":"PFFKGPPPPPFFFOOOOOMCOCOOOOOOOOOCOOOOOOMOOOOCMOMMMMMMMMMMMMMMMMMOOMOOOOOOOOCOOOOOOOOOOOMMMMCOOFONNNNNOOOOONNNOOONNOOOOOOOONNNNNKMMMMMMMMMMMMMMMMMMMMMMMMMPGPPPPPNNNNNNNNNNNNNNNFNNONNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNONNNNNNNNHFFFNOOONNNNNNNNNOONNOOONNOOOOONNNNNNNNNNNOOONNOOOOONNNNNNNNNNNNNNN","n":["ExtendFromDbError","FinalState","FinalStateConfig","FinalStateController","FinalStateError","InvalidSlot","LedgerError","NonConsistentWithShutdownPeriodError","PosError","SnapshotError","StateChanges","StateChangesDeserializer","StateChangesSerializer","async_pool","async_pool_changes","async_pool_changes_deserializer","async_pool_changes_serializer","async_pool_config","compute_initial_draws","config","config","controller_trait","db","de_changes_deserializer","de_changes_serializer","deferred_call_changes","deferred_call_changes_deserializer","deferred_call_changes_serializer","deferred_call_registry","deferred_calls_config","endorsement_count","error","executed_denunciations","executed_denunciations_changes","executed_denunciations_config","executed_ops","executed_ops_changes","executed_ops_config","executed_ops_contains","execution_trail_hash_change","execution_trail_hash_change_deserializer","execution_trail_hash_change_serializer","final_history_length","final_state","finalize","genesis_timestamp","get_async_pool","get_database","get_deferred_call_registry","get_executed_denunciations","get_execution_trail_hash","get_fingerprint","get_last_slot_before_downtime","get_last_start_period","get_ledger","get_ledger_mut","get_mip_store","get_mip_store_mut","get_ops_exec_status","get_pos_state","get_pos_state_mut","get_slot","init_execution_trail_hash_to_batch","initial_rolls_path","initial_seed_string","is_db_valid","last_slot_before_downtime","last_start_period","ledger","ledger_backup_periods_interval","ledger_changes","ledger_changes_deserializer","ledger_changes_serializer","ledger_config","mapping_grpc","max_denunciations_per_block_header","max_executed_denunciations_length","mip_store","ops_changes_deserializer","ops_changes_serializer","periods_per_cycle","pos_changes","pos_changes_deserializer","pos_changes_serializer","pos_config","pos_state","recompute_caches","reset","set_last_slot_before_downtime","set_last_start_period","state_changes","t0","thread_count","FinalStateConfig","async_pool_config","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deferred_calls_config","endorsement_count","executed_denunciations_config","executed_ops_config","final_history_length","fmt","from","from_ref","genesis_timestamp","initial_rolls_path","initial_seed_string","into","into_request","ledger_backup_periods_interval","ledger_config","max_denunciations_per_block_header","max_executed_denunciations_length","periods_per_cycle","pos_config","t0","thread_count","to_owned","try_from","try_into","type_id","vzip","FinalStateController","compute_initial_draws","executed_ops_contains","finalize","get_async_pool","get_database","get_deferred_call_registry","get_executed_denunciations","get_execution_trail_hash","get_fingerprint","get_last_slot_before_downtime","get_last_start_period","get_ledger","get_ledger_mut","get_mip_store","get_mip_store_mut","get_ops_exec_status","get_pos_state","get_pos_state_mut","get_slot","init_execution_trail_hash_to_batch","is_db_valid","recompute_caches","reset","set_last_slot_before_downtime","set_last_start_period","ExtendFromDbError","FinalStateError","InvalidSlot","LedgerError","NonConsistentWithShutdownPeriodError","PosError","SnapshotError","borrow","borrow_mut","fmt","fmt","from","from","from","into","into_request","source","to_string","try_from","try_into","type_id","vzip","FinalState","_finalize","_is_db_valid","async_pool","borrow","borrow_mut","compute_initial_draws","config","db","deferred_call_registry","executed_denunciations","executed_ops","executed_ops_contains","feed_cycle_hash_and_selector_for_interpolation","finalize","from","get_async_pool","get_database","get_deferred_call_registry","get_executed_denunciations","get_execution_trail_hash","get_fingerprint","get_last_slot_before_downtime","get_last_start_period","get_ledger","get_ledger_mut","get_mip_store","get_mip_store_mut","get_ops_exec_status","get_pos_state","get_pos_state_mut","get_slot","init_execution_trail_hash_to_batch","interpolate_downtime","interpolate_multiple_cycles","interpolate_single_cycle","into","into_request","is_db_valid","last_slot_before_downtime","last_start_period","ledger","mip_store","new","new_derived_from_snapshot","pos_state","recompute_caches","reset","set_last_slot_before_downtime","set_last_start_period","try_from","try_into","type_id","vzip","async_msg_id_to_string","StateChanges","StateChangesDeserializer","StateChangesSerializer","apply","async_pool_changes","async_pool_changes_deserializer","async_pool_changes_serializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","de_changes_deserializer","de_changes_serializer","default","default","deferred_call_changes","deferred_call_changes_deserializer","deferred_call_changes_serializer","deserialize","deserialize","executed_denunciations_changes","executed_ops_changes","execution_trail_hash_change","execution_trail_hash_change_deserializer","execution_trail_hash_change_serializer","fmt","from","from","from","from_ref","into","into","into","into_request","into_request","into_request","ledger_changes","ledger_changes_deserializer","ledger_changes_serializer","new","new","ops_changes_deserializer","ops_changes_serializer","pos_changes","pos_changes_deserializer","pos_changes_serializer","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip"],"q":[[0,"massa_final_state"],[93,"massa_final_state::config"],[126,"massa_final_state::controller_trait"],[152,"massa_final_state::error"],[174,"massa_final_state::final_state"],[228,"massa_final_state::mapping_grpc"],[229,"massa_final_state::state_changes"],[295,"core::result"],[296,"massa_models::operation"],[297,"massa_models::slot"],[298,"massa_async_pool::pool"],[299,"massa_db_exports::controller"],[300,"massa_deferred_calls"],[301,"massa_executed_ops::executed_denunciations"],[302,"massa_hash::hash"],[303,"core::option"],[304,"massa_ledger_exports::controller"],[305,"alloc::boxed"],[306,"massa_versioning::versioning"],[307,"alloc::vec"],[308,"massa_pos_exports::pos_final_state"],[309,"massa_db_exports::db_batch"],[310,"core::fmt"],[311,"tonic::request"],[312,"core::any"],[313,"core::error"],[314,"alloc::string"],[315,"anyhow"],[316,"massa_pos_exports::controller_traits"],[317,"massa_async_pool::message"],[318,"nom::internal"],[319,"nom::error"],[320,"serde::de"],[321,"massa_deferred_calls::config"],[322,"massa_serialization"],[323,"serde::ser"]],"i":[5,0,0,0,0,5,5,5,5,5,0,0,0,34,10,39,38,25,2,0,34,0,34,39,38,10,39,38,34,25,25,0,34,10,25,34,10,25,2,10,39,38,25,0,2,25,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,25,25,2,34,34,34,25,10,39,38,25,0,25,25,34,39,38,25,10,39,38,25,34,2,2,2,2,0,25,25,0,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,10,10,39,38,38,39,10,38,39,10,10,10,10,39,38,38,10,10,39,38,39,10,10,10,10,39,38,10,38,39,10,10,38,39,10,38,39,10,10,39,38,38,39,39,38,10,39,38,38,10,10,38,39,10,38,39,10,38,39,10,38,39,10],"f":"``````````````````{{{f{bd}}}{{l{hj}}}}```````````````````{{{f{d}}{f{n}}}A`}`````{{{f{bd}}AbAd}h}`{{{f{d}}}{{f{Af}}}}{{{f{d}}}{{f{Ah}}}}{{{f{d}}}{{f{Aj}}}}{{{f{d}}}{{f{Al}}}}{{{f{d}}}An}0{{{f{d}}}{{f{{B`{Ab}}}}}}{{{f{d}}}Bb}{{{f{d}}}{{f{{Bf{Bd}}}}}}{{{f{bd}}}{{f{b{Bf{Bd}}}}}}{{{f{d}}}{{f{Bh}}}}{{{f{bd}}}{{f{bBh}}}}{{{f{d}}{f{{Bj{n}}}}}{{Bl{{B`{A`}}}}}}{{{f{d}}}{{f{Bn}}}}{{{f{bd}}}{{f{bBn}}}}{{{f{d}}}Ab}{{{f{bd}}{f{bC`}}}h}``{{{f{d}}}A`}````````````````````{{{f{bd}}}h}0{{{f{bd}}{B`{Ab}}}h}{{{f{bd}}Bb}h}`````{{{f{c}}}{{f{e}}}{}{}}{{{f{bc}}}{{f{be}}}{}{}}{{{f{Cb}}}Cb}{{{f{c}}{f{be}}}h{}{}}{{{f{c}}}h{}}`````{{{f{Cb}}{f{bCd}}}Cf}{cc{}}{{{f{c}}}c{}}```{ce{}{}}{c{{Ch{e}}}{}{}}````````{{{f{c}}}e{}{}}{c{{l{e}}}{}{}}0{{{f{c}}}Cj{}}4`{{{f{bd}}}{{l{hj}}}}{{{f{d}}{f{n}}}A`}{{{f{bd}}AbAd}h}{{{f{d}}}{{f{Af}}}}{{{f{d}}}{{f{Ah}}}}{{{f{d}}}{{f{Aj}}}}{{{f{d}}}{{f{Al}}}}{{{f{d}}}An}0{{{f{d}}}{{f{{B`{Ab}}}}}}{{{f{d}}}Bb}{{{f{d}}}{{f{{Bf{Bd}}}}}}{{{f{bd}}}{{f{b{Bf{Bd}}}}}}{{{f{d}}}{{f{Bh}}}}{{{f{bd}}}{{f{bBh}}}}{{{f{d}}{f{{Bj{n}}}}}{{Bl{{B`{A`}}}}}}{{{f{d}}}{{f{Bn}}}}{{{f{bd}}}{{f{bBn}}}}{{{f{d}}}Ab}{{{f{bd}}{f{bC`}}}h}{{{f{d}}}A`}{{{f{bd}}}h}0{{{f{bd}}{B`{Ab}}}h}{{{f{bd}}Bb}h}```````{{{f{c}}}{{f{e}}}{}{}}{{{f{bc}}}{{f{be}}}{}{}}{{{f{j}}{f{bCd}}}Cf}0{Clj}{cc{}}{Cnj}{ce{}{}}{c{{Ch{e}}}{}{}}{{{f{j}}}{{B`{{f{D`}}}}}}{{{f{c}}}Db{}}{c{{l{e}}}{}{}}0{{{f{c}}}Cj{}}5`{{{f{bDd}}AbAd}{{Df{h}}}}{{{f{Dd}}}{{Df{h}}}}`=<{{{f{bDd}}}{{l{hj}}}}`````{{{f{Dd}}{f{n}}}A`}{{{f{bDd}}Bb}{{l{hj}}}}{{{f{bDd}}AbAd}h}={{{f{Dd}}}{{f{Af}}}}{{{f{Dd}}}{{f{Ah}}}}{{{f{Dd}}}{{f{Aj}}}}{{{f{Dd}}}{{f{Al}}}}{{{f{Dd}}}An}0{{{f{Dd}}}{{f{{B`{Ab}}}}}}{{{f{Dd}}}Bb}{{{f{Dd}}}{{f{{Bf{Bd}}}}}}{{{f{bDd}}}{{f{b{Bf{Bd}}}}}}{{{f{Dd}}}{{f{Bh}}}}{{{f{bDd}}}{{f{bBh}}}}{{{f{Dd}}{f{{Bj{n}}}}}{{Bl{{B`{A`}}}}}}{{{f{Dd}}}{{f{Bn}}}}{{{f{bDd}}}{{f{bBn}}}}{{{f{Dd}}}Ab}{{{f{bDd}}{f{bC`}}}h}{{{f{bDd}}}{{l{hj}}}}{{{f{bDd}}AbAbBbBb}{{l{hj}}}}{{{f{bDd}}AbAb}{{l{hj}}}}{ce{}{}}{c{{Ch{e}}}{}{}}{{{f{Dd}}}A`}````{{AhCb{Bf{Bd}}{Bf{Dh}}BhA`}{{l{Ddj}}}}{{AhCb{Bf{Bd}}{Bf{Dh}}BhBb}{{l{Ddj}}}}`{{{f{bDd}}}h}0{{{f{bDd}}{B`{Ab}}}h}{{{f{bDd}}Bb}h}{c{{l{e}}}{}{}}0{{{f{c}}}Cj{}}9{DjDb}```{{{f{bAd}}Ad}h}```{{{f{c}}}{{f{e}}}{}{}}00{{{f{bc}}}{{f{be}}}{}{}}00{{{f{Ad}}}Ad}{{{f{c}}{f{be}}}h{}{}}{{{f{c}}}h{}}``{{}Dl}{{}Ad}```{{{f{Dn}}{f{{Bj{E`}}}}}{{Eb{{f{{Bj{E`}}}}Adc}}}{{Ed{{f{{Bj{E`}}}}}}{Ef{{f{{Bj{E`}}}}}}}}{c{{l{Ad}}}Eh}`````{{{f{Ad}}{f{bCd}}}Cf}{cc{}}00{{{f{c}}}c{}}{ce{}{}}00{c{{Ch{e}}}{}{}}00```8{{E`BbEjBbBbE`BbBbBbBbBbBbElBbEn}Dn}`````{{{f{Dl}}{f{Ad}}{f{b{Bl{E`}}}}}{{l{hF`}}}}{{{f{Ad}}c}lFb}{{{f{c}}}e{}{}}{c{{l{e}}}{}{}}00000{{{f{c}}}Cj{}}00777","D":"AEj","p":[[0,"mut"],[10,"FinalStateController",126],[1,"reference"],[1,"unit"],[6,"FinalStateError",152],[6,"Result",295],[6,"OperationId",296],[1,"bool"],[5,"Slot",297],[5,"StateChanges",229],[5,"AsyncPool",298],[8,"ShareableMassaDBController",299],[5,"DeferredCallRegistry",300],[5,"ExecutedDenunciations",301],[5,"Hash",302],[6,"Option",303],[1,"u64"],[10,"LedgerController",304],[5,"Box",305],[5,"MipStore",306],[1,"slice"],[5,"Vec",307],[5,"PoSFinalState",308],[8,"DBBatch",309],[5,"FinalStateConfig",93],[5,"Formatter",310],[8,"Result",310],[5,"Request",311],[5,"TypeId",312],[6,"ExtendFromDbError",306],[6,"IsConsistentWithShutdownPeriodError",306],[10,"Error",313],[5,"String",314],[5,"FinalState",174],[8,"Result",315],[10,"SelectorController",316],[8,"AsyncMessageId",317],[5,"StateChangesSerializer",229],[5,"StateChangesDeserializer",229],[1,"u8"],[8,"IResult",318],[10,"ParseError",319],[10,"ContextError",319],[10,"Deserializer",320],[1,"u16"],[1,"u32"],[5,"DeferredCallsConfig",321],[6,"SerializeError",322],[10,"Serializer",323]],"r":[[1,174],[2,93],[3,126],[4,152],[10,229],[11,229],[12,229]],"b":[[161,"impl-Display-for-FinalStateError"],[162,"impl-Debug-for-FinalStateError"],[163,"impl-From%3CExtendFromDbError%3E-for-FinalStateError"],[165,"impl-From%3CIsConsistentWithShutdownPeriodError%3E-for-FinalStateError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHoAIAAQAAEAFgAAABgAAQAbAAEAKQABAEgAAQBLAAAATwABAFMAAQBgAAQAagAAAGwAAABxAAAAegAEAKAABACmAAAAqAAGALAAAACzAAIAuwAAAL0AAAC/ABAA1AABAN0ACADrAA4A+wADAAIBAgAIAQAADAECABABAQAUAQEAFwEQAA=="}],\ ["massa_grpc",{"t":"FFFNNNONNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNCNNNONNNNNNNNNNNNNNNCOCCOOCNNNNNNNNNNNNNNNNNNNNNNNNFFPPGNNNOOONNNNNNOOOOONNNNNNNNNONNNNNNNNNNNNONNNOOOOOOONNNNNNNNNOOOOONNNOONNNNNNOONNNOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNPPPGPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHFFFNNNNNNNNNNNNNNNONNNNNNOOONNNNNNNNNNNNNOOONNNNNHNNNNNNNNNNNNNNNNNNOONNNNNNNNNONNNHONNNNNNNOOONNNOOOOOOONNNNNNNNONNNHNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNOONNNCCCCCCCCCCCFINOONNNNNNNNNNNNHNNNNHNHONNNNNNNNFIOONNNNNNONNHNNNNHNHNNNNNNNFINOONNNNNNNNNNNNHNNNNHNHONNNNNNNNFIONNNNNNNNHNNNNHOONHNNNNNNNIFNNNNNNNNNNNNNNNNHNONNNNNNNNFFFFFFINNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOHHNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNOHOOOOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIIHHIHHIHHSIH","n":["EndorsementDraw","SlotDraw","SlotRange","__clone_box","__clone_box","__clone_box","block_producer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","check","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","config","default","default","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","end_slot","endorsement_draws","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error","fmt","fmt","fmt","from","from","from","from_ref","from_ref","from_ref","get_hash","get_hash","get_hash","handler","hash","hash","hash","index","init","init","init","into","into","into","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","pointer_metadata","pointer_metadata","pointer_metadata","private","producer","public","server","slot","start_slot","stream","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","vzip","vzip","vzip","GrpcApiConfig","GrpcConfig","Private","Public","ServiceName","__clone_box","__clone_box","__clone_box","accept_compressed","accept_http1","bind","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","certificate_authority_root_path","chain_id","client_certificate_authority_root_path","client_certificate_path","client_private_key_path","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","concurrency_limit_per_connection","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","draw_lookahead_period_count","drop","drop","drop","enable_cors","enable_health","enable_mtls","enable_reflection","enable_tls","enabled","endorsement_count","fmt","fmt","fmt","from","from","from","from_ref","from_ref","from_ref","generate_self_signed_certificates","genesis_timestamp","http2_adaptive_window","http2_keepalive_interval","http2_keepalive_timeout","init","init","init","initial_connection_window_size","initial_stream_window_size","into","into","into","into_request","into_request","into_request","keypair","last_start_period","layout_raw","layout_raw","layout_raw","max_addresses_per_request","max_arguments","max_block_ids_per_request","max_channel_size","max_concurrent_streams","max_datastore_entries_per_request","max_datastore_value_length","max_decoding_message_size","max_denunciations_per_block_header","max_encoding_message_size","max_endorsement_ids_per_request","max_endorsements_per_message","max_filters_per_request","max_frame_size","max_function_name_length","max_gas_per_block","max_op_datastore_entry_count","max_op_datastore_key_length","max_op_datastore_value_length","max_operation_ids_per_request","max_operations_per_block","max_operations_per_message","max_parameter_size","max_query_items_per_request","max_slot_ranges_per_request","minimal_fees","name","periods_per_cycle","pointer_metadata","pointer_metadata","pointer_metadata","private","public","send_compressed","server_certificate_path","server_private_key_path","subject_alt_names","t0","tcp_keepalive","tcp_nodelay","thread_count","timeout","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","vzip","vzip","vzip","ConsensusError","ExecutionError","FactoryError","GrpcError","InternalServerError","InvalidArgument","MassaHashError","MassaSignatureError","ModelsError","ProtocolError","ReflectionError","TimeError","Unimplemented","WalletError","as_error","borrow","borrow_mut","deref","deref_mut","deserialize","drop","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","init","into","into_request","layout_raw","match_for_io_error","pointer_metadata","source","to_string","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","add_staking_secret_keys","add_to_bootstrap_blacklist","add_to_bootstrap_whitelist","add_to_peers_whitelist","allow_everyone_to_bootstrap","ban_nodes_by_ids","ban_nodes_by_ips","get_bootstrap_blacklist","get_bootstrap_whitelist","get_mip_status","get_node_status","get_peers_whitelist","remove_from_bootstrap_blacklist","remove_from_bootstrap_whitelist","remove_from_peers_whitelist","remove_staking_addresses","shutdown_gracefully","sign_messages","unban_nodes_by_ids","unban_nodes_by_ips","execute_read_only_call","get_blocks","get_datastore_entries","get_endorsements","get_next_block_best_parents","get_operations","get_sc_execution_events","get_selector_draws","get_stakers","get_status","get_transactions_throughput","query_state","search_blocks","search_endorsements","search_operations","MassaPrivateGrpc","MassaPublicGrpc","StopHandle","__clone_box","__clone_box","add_staking_secret_keys","add_to_bootstrap_blacklist","add_to_bootstrap_whitelist","add_to_peers_whitelist","allow_everyone_to_bootstrap","ban_nodes_by_ids","ban_nodes_by_ips","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","bs_white_black_list","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","consensus_broadcasts","consensus_controller","consensus_controller","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","execute_read_only_call","execution_channels","execution_controller","execution_controller","from","from","from","from_ref","from_ref","generate_self_signed_certificates","get_blocks","get_bootstrap_blacklist","get_bootstrap_whitelist","get_datastore_entries","get_endorsements","get_mip_status","get_next_block_best_parents","get_node_status","get_operation_abi_call_stacks","get_operations","get_peers_whitelist","get_sc_execution_events","get_selector_draws","get_slot_abi_call_stacks","get_slot_transfers","get_stakers","get_status","get_transactions_throughput","grpc_config","grpc_config","init","init","init","into","into","into","into_request","into_request","into_request","keypair_factory","layout_raw","layout_raw","layout_raw","massa_service_status","mip_store","new_blocks","new_endorsements","new_filled_blocks","new_operations","new_slot_abi_call_stacks","new_slot_execution_outputs","new_slot_transfers","node_id","node_id","node_wallet","pointer_metadata","pointer_metadata","pointer_metadata","pool_broadcasts","pool_controller","pool_controller","protocol_config","protocol_config","protocol_controller","protocol_controller","query_state","remove_from_bootstrap_blacklist","remove_from_bootstrap_whitelist","remove_from_peers_whitelist","remove_staking_addresses","search_blocks","search_endorsements","search_operations","selector_controller","send_blocks","send_endorsements","send_operations","serve","serve","serve","shutdown_gracefully","sign_messages","stop","stop_cmd_sender","stop_cv","storage","to_owned","to_owned","transactions_throughput","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unban_nodes_by_ids","unban_nodes_by_ips","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","version","version","vzip","vzip","vzip","new_blocks","new_endorsements","new_filled_blocks","new_operations","new_slot_abi_call_stacks","new_slot_execution_outputs","new_slot_transfers","send_blocks","send_endorsements","send_operations","tx_throughput","Filter","NewBlocksStreamType","__clone_box","addresses","block_ids","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","fmt","from","from_ref","get_filter","init","into","into_request","layout_raw","new_blocks","pointer_metadata","should_send","slot_ranges","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","Filter","NewEndorsementsStreamType","addresses","block_ids","borrow","borrow_mut","deref","deref_mut","deserialize","drop","endorsement_ids","fmt","from","get_filter","init","into","into_request","layout_raw","new_endorsements","pointer_metadata","should_send","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","Filter","NewFilledBlocksStreamType","__clone_box","addresses","block_ids","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","fmt","from","from_ref","get_filter","init","into","into_request","layout_raw","new_filled_blocks","pointer_metadata","should_send","slot_ranges","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","Filter","NewOperationsStreamType","addresses","borrow","borrow_mut","deref","deref_mut","deserialize","drop","fmt","from","get_filter","init","into","into_request","layout_raw","new_operations","operation_ids","operation_types","pointer_metadata","should_send","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","NewSlotABICallStacksStreamType","SlotAbiCallStack","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","from","from_ref","init","into","into_request","layout_raw","new_slot_abi_call_stacks","pointer_metadata","slot","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","AsyncPoolChangesFilter","ExecutedDenounciationFilter","ExecutedOpsChangesFilter","ExecutionEventFilter","Filter","LedgerChangesFilter","NewSlotExecutionOutputsStreamType","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","async_pool_changes_filter","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","default","default","default","default","default","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","executed_denounciation_filter","executed_ops_changes_filter","execution_event_filter","filter_map","filter_map_exec_output","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","get_filter","init","init","init","init","init","init","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","ledger_changes_filter","new_slot_execution_outputs","none","none","none","none","none","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","slot_ranges_filter","status_filter","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","vzip","vzip","vzip","vzip","vzip","vzip","NewSlotTransfersStreamType","SendBlocksStreamType","report_error","send_blocks","SendEndorsementsStreamType","report_error","send_endorsements","SendOperationsStreamType","report_error","send_operations","DEFAULT_THROUGHPUT_INTERVAL","TransactionsThroughputStreamType","transactions_throughput"],"q":[[0,"massa_grpc"],[126,"massa_grpc::config"],[277,"massa_grpc::error"],[326,"massa_grpc::private"],[346,"massa_grpc::public"],[361,"massa_grpc::server"],[515,"massa_grpc::stream"],[526,"massa_grpc::stream::new_blocks"],[560,"massa_grpc::stream::new_endorsements"],[588,"massa_grpc::stream::new_filled_blocks"],[622,"massa_grpc::stream::new_operations"],[650,"massa_grpc::stream::new_slot_abi_call_stacks"],[679,"massa_grpc::stream::new_slot_execution_outputs"],[864,"massa_grpc::stream::new_slot_transfers"],[865,"massa_grpc::stream::send_blocks"],[868,"massa_grpc::stream::send_endorsements"],[871,"massa_grpc::stream::send_operations"],[874,"massa_grpc::stream::tx_throughput"],[877,"dyn_clone::sealed"],[878,"core::result"],[879,"rkyv::with"],[880,"core::fmt"],[881,"core::hash"],[882,"core::marker"],[883,"tonic::request"],[884,"core::alloc::layout"],[885,"core::any"],[886,"alloc::boxed"],[887,"serde::de"],[888,"core::error"],[889,"massa_signature::error"],[890,"tonic_reflection::server"],[891,"massa_protocol_exports::error"],[892,"massa_time::error"],[893,"massa_models::error"],[894,"massa_hash::error"],[895,"massa_execution_exports::error"],[896,"massa_wallet::error"],[897,"massa_consensus_exports::error"],[898,"massa_versioning::versioning_factory"],[899,"tonic::status"],[900,"std::io::error"],[901,"core::option"],[902,"alloc::string"],[903,"massa_proto_rs::massa::api::v1"],[904,"core::future::future"],[905,"core::pin"],[906,"tonic_health::server"],[907,"tonic::codec::decode"],[908,"tonic::body"],[909,"http::request"],[910,"http::response"],[911,"core::convert"],[912,"tower_service"],[913,"tonic::server"],[914,"core::clone"],[915,"massa_models::block"],[916,"massa_models::endorsement"],[917,"massa_models::block_header"],[918,"massa_models::block_id"],[919,"massa_models::secure_share"],[920,"massa_models::operation"],[921,"massa_execution_exports::types"],[922,"tokio::sync::mpsc::bounded"]],"i":[0,0,0,5,8,9,8,5,8,9,5,8,9,5,5,8,9,5,8,9,5,8,9,0,5,8,9,5,8,9,5,8,9,5,8,9,5,8,9,5,8,5,8,9,5,5,5,5,5,5,8,8,8,8,8,8,9,9,9,9,9,9,0,5,8,9,5,8,9,5,8,9,5,8,9,0,5,8,9,9,5,8,9,5,8,9,5,8,9,5,8,9,5,8,9,0,9,0,0,8,5,0,5,8,9,5,8,9,5,8,9,5,8,9,5,8,9,5,8,9,5,8,9,5,8,9,0,0,28,28,0,26,27,28,26,26,26,26,27,28,26,27,28,26,26,26,26,26,26,27,28,26,27,28,26,27,28,26,26,27,28,26,27,28,26,26,27,27,28,28,26,26,27,28,26,26,26,26,26,26,26,26,27,28,26,27,28,26,27,28,26,26,26,26,26,26,27,28,26,26,26,27,28,26,27,28,26,26,26,27,28,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,28,27,27,26,26,26,26,26,26,26,26,26,26,27,28,26,27,28,26,27,28,26,27,28,26,27,28,26,27,28,26,27,28,26,27,28,6,6,6,0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,86,45,45,45,45,45,45,45,134,45,86,134,45,86,45,45,86,45,86,45,86,86,45,86,134,45,86,134,45,86,134,45,86,134,45,86,86,86,45,86,134,45,86,45,86,0,86,45,45,86,86,45,86,45,86,86,45,86,86,86,86,86,86,86,45,86,134,45,86,134,45,86,134,45,86,86,134,45,86,0,45,86,86,86,86,86,86,86,45,86,45,134,45,86,86,45,86,45,86,45,86,86,45,45,45,45,86,86,86,86,86,86,86,0,45,86,45,45,134,134,45,86,45,86,86,134,45,86,134,45,86,134,45,86,45,45,134,45,86,134,45,86,134,45,86,45,86,134,45,86,0,0,0,0,0,0,0,0,0,0,0,0,0,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,0,146,146,146,146,0,146,0,146,146,146,146,146,146,146,146,146,0,0,149,149,149,149,149,149,149,149,149,149,149,0,149,149,149,149,0,149,0,149,149,149,149,149,149,149,0,0,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,0,152,152,152,152,0,152,0,152,152,152,152,152,152,152,152,152,0,0,157,157,157,157,157,157,157,157,157,0,157,157,157,157,0,157,157,157,0,157,157,157,157,157,157,157,0,0,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,0,160,160,160,160,160,160,160,160,160,160,0,0,0,0,0,0,0,162,163,164,165,166,167,162,162,163,164,165,166,167,162,163,164,165,166,167,162,163,164,165,166,167,162,163,164,165,166,167,162,163,164,165,166,167,162,163,164,165,166,167,162,163,164,165,166,167,162,163,164,165,166,167,162,163,164,165,166,167,162,163,164,165,166,167,162,162,162,0,0,162,163,164,165,166,167,162,163,164,165,166,167,162,163,164,165,166,167,0,162,163,164,165,166,167,162,163,164,165,166,167,162,163,164,165,166,167,162,163,164,165,166,167,162,0,163,164,165,166,167,162,163,164,165,166,167,162,162,162,163,164,165,166,167,162,163,164,165,166,167,162,163,164,165,166,167,162,163,164,165,166,167,162,163,164,165,166,167,162,163,164,165,166,167,162,163,164,165,166,167,162,163,164,165,166,167,0,0,0,0,0,0,0,0,0,0,0,0,0],"f":"```{{{b{c}}d}f{}}00`{{{b{c}}}{{b{e}}}{}{}}00{{{b{hc}}}{{b{he}}}{}{}}00{{{b{j}}}{{n{fl}}}}{{{b{j}}}j}{{{b{A`}}}A`}{{{b{Ab}}}Ab}{{{b{c}}{b{he}}}f{}{}}00{{{b{c}}}f{}}00`{{}j}{{}A`}{{}Ab}{Ad{{b{c}}}{}}00{Ad{{b{hc}}}{}}00{{{b{c}}{b{he}}}{{n{{Af{gi}}}}}{}{}{}{}}00{Adf}00``{{{b{j}}{b{j}}}Ah}{{{b{A`}}{b{A`}}}Ah}{{{b{Ab}}{b{Ab}}}Ah}{{{b{c}}{b{e}}}Ah{}{}}00000000000000000`{{{b{j}}{b{hAj}}}Al}{{{b{A`}}{b{hAj}}}Al}{{{b{Ab}}{b{hAj}}}Al}{cc{}}00{{{b{c}}}c{}}00{{{b{c}}{b{e}}}An{B`Bb}Bd}00`{{{b{j}}{b{hc}}}fBf}{{{b{A`}}{b{hc}}}fBf}{{{b{Ab}}{b{hc}}}fBf}`{{}Ad}00{ce{}{}}00{c{{Bh{e}}}{}{}}00{{}{{n{BjBl}}}}00{b}00```````{{{b{c}}}e{}{}}00{c{{n{e}}}{}{}}00000{{{b{c}}}Bn{}}00{{{C`{c}}}{{C`{Cb}}}{}}00{{{b{hc}}}{{b{hCb}}}{}}00{{{b{c}}}{{b{Cb}}}{}}00999`````{{{b{c}}d}f{}}00```{{{b{c}}}{{b{e}}}{}{}}00{{{b{hc}}}{{b{he}}}{}{}}00`````{{{b{Cd}}}Cd}{{{b{Cf}}}Cf}{{{b{Ch}}}Ch}{{{b{c}}{b{he}}}f{}{}}00{{{b{c}}}f{}}00`{Ad{{b{c}}}{}}00{Ad{{b{hc}}}{}}00{{{b{c}}{b{he}}}{{n{{Af{gi}}}}}{}{}{}{}}{c{{n{Cd}}}Cj}{c{{n{Cf}}}Cj}2{c{{n{Ch}}}Cj}3`{Adf}00```````{{{b{Cd}}{b{hAj}}}Al}{{{b{Cf}}{b{hAj}}}Al}{{{b{Ch}}{b{hAj}}}Al}{cc{}}00{{{b{c}}}c{}}00`````{{}Ad}00``{ce{}{}}00{c{{Bh{e}}}{}{}}00``{{}{{n{BjBl}}}}00````````````````````````````{b}00```````````{{{b{c}}}e{}{}}00{c{{n{e}}}{}{}}00000{{{b{c}}}Bn{}}00{{{C`{c}}}{{C`{Cb}}}{}}00{{{b{hc}}}{{b{hCb}}}{}}00{{{b{c}}}{{b{Cb}}}{}}00999``````````````{{{b{c}}}{{b{Cl}}}{}}{{{b{c}}}{{b{e}}}{}{}}{{{b{hc}}}{{b{he}}}{}{}}{Ad{{b{c}}}{}}{Ad{{b{hc}}}{}}{{{b{c}}{b{he}}}{{n{{Af{gi}}}}}{}{}{}{}}{Adf}{{{b{l}}{b{hAj}}}Al}0{cc{}}{Cnl}{D`l}{Dbl}{Ddl}{Dfl}{Dhl}{Djl}{Dll}{Dnl}{E`l}{{}Ad}{ce{}{}}{c{{Bh{e}}}{}{}}{{}{{n{BjBl}}}}{{{b{Eb}}}{{Ef{{b{Ed}}}}}}{b}{{{b{l}}}{{Ef{{b{Cl}}}}}}{{{b{c}}}Eh{}}{c{{n{e}}}{}{}}0{{{b{c}}}Bn{}}{{{C`{c}}}{{C`{Cb}}}{}}{{{b{hc}}}{{b{hCb}}}{}}{{{b{c}}}{{b{Cb}}}{}};{{{b{Ej}}{Bh{El}}}{{n{Enl}}}}{{{b{Ej}}{Bh{F`}}}{{n{Fbl}}}}{{{b{Ej}}{Bh{Fd}}}{{n{Ffl}}}}{{{b{Ej}}{Bh{Fh}}}{{n{Fjl}}}}{{{b{Ej}}{Bh{Fl}}}{{n{Fnl}}}}{{{b{Ej}}{Bh{G`}}}{{n{Gbl}}}}{{{b{Ej}}{Bh{Gd}}}{{n{Gfl}}}}{{{b{Ej}}{Bh{Gh}}}{{n{Gjl}}}}{{{b{Ej}}{Bh{Gl}}}{{n{Gnl}}}}{{{b{Ej}}{Bh{H`}}}{{n{Hbl}}}}{{{b{Ej}}{Bh{Hd}}}{{n{Hfl}}}}{{{b{Ej}}{Bh{Hh}}}{{n{Hjl}}}}{{{b{Ej}}{Bh{Hl}}}{{n{Hnl}}}}{{{b{Ej}}{Bh{I`}}}{{n{Ibl}}}}{{{b{Ej}}{Bh{Id}}}{{n{Ifl}}}}{{{b{Ej}}{Bh{Ih}}}{{n{Ijl}}}}{{{b{Ej}}{Bh{Il}}}{{n{Inl}}}}{{{b{Ej}}{Bh{J`}}}{{n{Jbl}}}}{{{b{Ej}}{Bh{Jd}}}{{n{Jfl}}}}{{{b{Ej}}{Bh{Jh}}}{{n{Jjl}}}}{{{b{Jl}}{Bh{Jn}}}{{n{K`l}}}}{{{b{Jl}}{Bh{Kb}}}{{n{Kdl}}}}{{{b{Jl}}{Bh{Kf}}}{{n{Khl}}}}{{{b{Jl}}{Bh{Kj}}}{{n{Kll}}}}{{{b{Jl}}{Bh{Kn}}}{{n{L`l}}}}{{{b{Jl}}{Bh{Lb}}}{{n{Ldl}}}}{{{b{Jl}}{Bh{Lf}}}{{n{Lhl}}}}{{{b{Jl}}{Bh{Lj}}}{{n{Lll}}}}{{{b{Jl}}{Bh{Ln}}}{{n{M`l}}}}{{{b{Jl}}{Bh{Mb}}}{{n{Mdl}}}}{{{b{Jl}}{Bh{Mf}}}{{n{Mhl}}}}{{{b{Jl}}{Bh{Mj}}}{{n{Mll}}}}{{{b{Jl}}{Bh{Mn}}}{{n{N`l}}}}{{{b{Jl}}{Bh{Nb}}}{{n{Ndl}}}}{{{b{Jl}}{Bh{Nf}}}{{n{Nhl}}}}```{{{b{c}}d}f{}}0{{{b{Ej}}{Bh{El}}}{{Nl{{C`{Nj}}}}}}{{{b{Ej}}{Bh{F`}}}{{Nl{{C`{Nj}}}}}}{{{b{Ej}}{Bh{Fd}}}{{Nl{{C`{Nj}}}}}}{{{b{Ej}}{Bh{Fh}}}{{Nl{{C`{Nj}}}}}}{{{b{Ej}}{Bh{Fl}}}{{Nl{{C`{Nj}}}}}}{{{b{Ej}}{Bh{G`}}}{{Nl{{C`{Nj}}}}}}{{{b{Ej}}{Bh{Gd}}}{{Nl{{C`{Nj}}}}}}{{{b{c}}}{{b{e}}}{}{}}00{{{b{hc}}}{{b{he}}}{}{}}00`{{{b{Ej}}}Ej}{{{b{Jl}}}Jl}{{{b{c}}{b{he}}}f{}{}}0{{{b{c}}}f{}}0```{Ad{{b{c}}}{}}00{Ad{{b{hc}}}{}}00{{{b{c}}{b{he}}}{{n{{Af{gi}}}}}{}{}{}{}}00{Adf}00{{{b{Jl}}{Bh{Jn}}}{{Nl{{C`{Nj}}}}}}```{cc{}}00{{{b{c}}}c{}}0{{{b{Cd}}}f}{{{b{Jl}}{Bh{Kb}}}{{Nl{{C`{Nj}}}}}}{{{b{Ej}}{Bh{Gh}}}{{Nl{{C`{Nj}}}}}}{{{b{Ej}}{Bh{Gl}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{Kf}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{Kj}}}{{Nl{{C`{Nj}}}}}}{{{b{Ej}}{Bh{H`}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{Kn}}}{{Nl{{C`{Nj}}}}}}{{{b{Ej}}{Bh{Hd}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{Nn}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{Lb}}}{{Nl{{C`{Nj}}}}}}{{{b{Ej}}{Bh{Hh}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{Lf}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{Lj}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{O`}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{Ob}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{Ln}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{Mb}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{Mf}}}{{Nl{{C`{Nj}}}}}}``{{}Ad}00{ce{}{}}00{c{{Bh{e}}}{}{}}00`{{}{{n{BjBl}}}}00{Odf}`{{{b{Jl}}{Bh{{Oh{Of}}}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{{Oh{Oj}}}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{{Oh{Ol}}}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{{Oh{On}}}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{{Oh{A@`}}}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{{Oh{A@b}}}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{{Oh{A@d}}}}}{{Nl{{C`{Nj}}}}}}```{b}00```````{{{b{Jl}}{Bh{Mj}}}{{Nl{{C`{Nj}}}}}}{{{b{Ej}}{Bh{Hl}}}{{Nl{{C`{Nj}}}}}}{{{b{Ej}}{Bh{I`}}}{{Nl{{C`{Nj}}}}}}{{{b{Ej}}{Bh{Id}}}{{Nl{{C`{Nj}}}}}}{{{b{Ej}}{Bh{Ih}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{Mn}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{Nb}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{Nf}}}{{Nl{{C`{Nj}}}}}}`{{{b{Jl}}{Bh{{Oh{A@f}}}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{{Oh{A@h}}}}}{{Nl{{C`{Nj}}}}}}{{{b{Jl}}{Bh{{Oh{A@j}}}}}{{Nl{{C`{Nj}}}}}}{{c{b{Cd}}}{{n{A@ll}}}{{AAj{{AA`{A@n}}}{{AAb{{AAd{A@n}}}}{AAf{AAh}}}}AAlAAnAB`}}{{Ej{b{Cd}}}{{n{A@ll}}}}{{Jl{b{Cd}}}{{n{A@ll}}}}{{{b{Ej}}{Bh{Il}}}{{Nl{{C`{Nj}}}}}}{{{b{Ej}}{Bh{J`}}}{{Nl{{C`{Nj}}}}}}{A@lf}```{{{b{c}}}e{}{}}0{{{b{Jl}}{Bh{{Oh{ABb}}}}}{{Nl{{C`{Nj}}}}}}{c{{n{e}}}{}{}}00000{{{b{c}}}Bn{}}00{{{b{Ej}}{Bh{Jd}}}{{Nl{{C`{Nj}}}}}}{{{b{Ej}}{Bh{Jh}}}{{Nl{{C`{Nj}}}}}}{{{C`{c}}}{{C`{Cb}}}{}}00{{{b{hc}}}{{b{hCb}}}{}}00{{{b{c}}}{{b{Cb}}}{}}00``{ce{}{}}00`````````````{{{b{c}}d}f{}}``{{{b{c}}}{{b{e}}}{}{}}{{{b{hc}}}{{b{he}}}{}{}}{{{b{ABd}}}ABd}{{{b{c}}{b{he}}}f{}{}}{{{b{c}}}f{}}{Ad{{b{c}}}{}}{Ad{{b{hc}}}{}}{{{b{c}}{b{he}}}{{n{{Af{gi}}}}}{}{}{}{}}{Adf}{{{b{ABd}}{b{hAj}}}Al}{cc{}}{{{b{c}}}c{}}{{Of{b{Cd}}}{{n{ABdl}}}}{{}Ad}?{c{{Bh{e}}}{}{}}{{}{{n{BjBl}}}}{{{b{Jl}}{Bh{{Oh{Of}}}}}{{n{ABfl}}}}{b}{{{b{ABh}}{b{ABd}}{b{Cd}}}Ah}`{{{b{c}}}e{}{}}{c{{n{e}}}{}{}}0{{{b{c}}}Bn{}}{{{C`{c}}}{{C`{Cb}}}{}}{{{b{hc}}}{{b{hCb}}}{}}{{{b{c}}}{{b{Cb}}}{}}{ce{}{}}````{{{b{c}}}{{b{e}}}{}{}}{{{b{hc}}}{{b{he}}}{}{}}{Ad{{b{c}}}{}}{Ad{{b{hc}}}{}}{{{b{c}}{b{he}}}{{n{{Af{gi}}}}}{}{}{}{}}{Adf}`{{{b{ABj}}{b{hAj}}}Al}{cc{}}{{Oj{b{Cd}}}{{n{ABjl}}}}{{}Ad}:{c{{Bh{e}}}{}{}}{{}{{n{BjBl}}}}{{{b{Jl}}{Bh{{Oh{Oj}}}}}{{n{ABll}}}}{b}{{{b{ABn}}{b{ABj}}}Ah}{c{{n{e}}}{}{}}0{{{b{c}}}Bn{}}{{{C`{c}}}{{C`{Cb}}}{}}{{{b{hc}}}{{b{hCb}}}{}}{{{b{c}}}{{b{Cb}}}{}}{ce{}{}}``{{{b{c}}d}f{}}``{{{b{c}}}{{b{e}}}{}{}}{{{b{hc}}}{{b{he}}}{}{}}{{{b{AC`}}}AC`}{{{b{c}}{b{he}}}f{}{}}{{{b{c}}}f{}}{Ad{{b{c}}}{}}{Ad{{b{hc}}}{}}{{{b{c}}{b{he}}}{{n{{Af{gi}}}}}{}{}{}{}}{Adf}{{{b{AC`}}{b{hAj}}}Al}{cc{}}{{{b{c}}}c{}}{{Ol{b{Cd}}}{{n{AC`l}}}}{{}Ad}?{c{{Bh{e}}}{}{}}{{}{{n{BjBl}}}}{{{b{Jl}}{Bh{{Oh{Ol}}}}}{{n{ACbl}}}}{b}{{{b{{ACh{ACdACf}}}}{b{AC`}}{b{Cd}}}Ah}`{{{b{c}}}e{}{}}{c{{n{e}}}{}{}}0{{{b{c}}}Bn{}}{{{C`{c}}}{{C`{Cb}}}{}}{{{b{hc}}}{{b{hCb}}}{}}{{{b{c}}}{{b{Cb}}}{}}{ce{}{}}```{{{b{c}}}{{b{e}}}{}{}}{{{b{hc}}}{{b{he}}}{}{}}{Ad{{b{c}}}{}}{Ad{{b{hc}}}{}}{{{b{c}}{b{he}}}{{n{{Af{gi}}}}}{}{}{}{}}{Adf}{{{b{ACj}}{b{hAj}}}Al}{cc{}}{{On{b{Cd}}}{{n{ACjl}}}}{{}Ad}:{c{{Bh{e}}}{}{}}{{}{{n{BjBl}}}}{{{b{Jl}}{Bh{{Oh{On}}}}}{{n{ACll}}}}``{b}{{{b{ACn}}{b{ACj}}}Ah}{c{{n{e}}}{}{}}0{{{b{c}}}Bn{}}{{{C`{c}}}{{C`{Cb}}}{}}{{{b{hc}}}{{b{hCb}}}{}}{{{b{c}}}{{b{Cb}}}{}}{ce{}{}}``{{{b{c}}d}f{}}{{{b{c}}}{{b{e}}}{}{}}{{{b{hc}}}{{b{he}}}{}{}}{{{b{AD`}}}AD`}{{{b{c}}{b{he}}}f{}{}}{{{b{c}}}f{}}{Ad{{b{c}}}{}}{Ad{{b{hc}}}{}}{{{b{c}}{b{he}}}{{n{{Af{gi}}}}}{}{}{}{}}{Adf}{cc{}}{{{b{c}}}c{}}{{}Ad}={c{{Bh{e}}}{}{}}{{}{{n{BjBl}}}}{{{b{Jl}}{Bh{{Oh{A@`}}}}}{{n{ADbl}}}}{b}`{{{b{c}}}e{}{}}{c{{n{e}}}{}{}}0{{{b{c}}}Bn{}}{{{C`{c}}}{{C`{Cb}}}{}}{{{b{hc}}}{{b{hCb}}}{}}{{{b{c}}}{{b{Cb}}}{}}{ce{}{}}```````{{{b{c}}d}f{}}00000`{{{b{c}}}{{b{e}}}{}{}}00000{{{b{hc}}}{{b{he}}}{}{}}00000{{{b{ADd}}}ADd}{{{b{ADf}}}ADf}{{{b{ADh}}}ADh}{{{b{ADj}}}ADj}{{{b{ADl}}}ADl}{{{b{ADn}}}ADn}{{{b{c}}{b{he}}}f{}{}}00000{{{b{c}}}f{}}00000{{}ADd}{{}ADf}{{}ADh}{{}ADj}{{}ADl}{{}ADn}{Ad{{b{c}}}{}}00000{Ad{{b{hc}}}{}}00000{{{b{c}}{b{he}}}{{n{{Af{gi}}}}}{}{}{}{}}00000{Adf}00000```{{AE`{b{ADd}}{b{Cd}}}{{Ef{AE`}}}}{{AEb{b{ADd}}{b{Cd}}}{{Ef{AEb}}}}{{{b{ADd}}{b{hAj}}}Al}{{{b{ADf}}{b{hAj}}}Al}{{{b{ADh}}{b{hAj}}}Al}{{{b{ADj}}{b{hAj}}}Al}{{{b{ADl}}{b{hAj}}}Al}{{{b{ADn}}{b{hAj}}}Al}{cc{}}00000{{{b{c}}}c{}}00000{{A@b{b{Cd}}}{{n{ADdl}}}}{{}Ad}00000{ce{}{}}00000{c{{Bh{e}}}{}{}}00000{{}{{n{BjBl}}}}00000`{{{b{Jl}}{Bh{{Oh{A@b}}}}}{{n{AEdl}}}}`````{b}00000``{{{b{c}}}e{}{}}00000{c{{n{e}}}{}{}}00000000000{{{b{c}}}Bn{}}00000{{{C`{c}}}{{C`{Cb}}}{}}00000{{{b{hc}}}{{b{hCb}}}{}}00000{{{b{c}}}{{b{Cb}}}{}}00000::::::``{{{AEh{{n{AEfEb}}}}AEjEh}f}{{{b{Jl}}{Bh{{Oh{A@f}}}}}{{n{AEll}}}}`{{{AEh{{n{AEnEb}}}}AEjEh}f}{{{b{Jl}}{Bh{{Oh{A@h}}}}}{{n{AF`l}}}}`{{{AEh{{n{AFbEb}}}}AEjEh}f}{{{b{Jl}}{Bh{{Oh{A@j}}}}}{{n{AFdl}}}}``{{{b{Jl}}{Bh{{Oh{ABb}}}}}{{n{AFfl}}}}","D":"BDb","p":[[1,"reference"],[5,"Private",877],[1,"unit"],[0,"mut"],[5,"SlotRange",0],[6,"GrpcError",277],[6,"Result",878],[5,"SlotDraw",0],[5,"EndorsementDraw",0],[1,"usize"],[5,"With",879],[1,"bool"],[5,"Formatter",880],[8,"Result",880],[1,"u64"],[10,"Hash",881],[10,"Sized",882],[10,"BuildHasher",881],[10,"Hasher",881],[5,"Request",883],[5,"Layout",884],[5,"LayoutError",884],[5,"TypeId",885],[5,"Box",886],[10,"Any",885],[5,"GrpcConfig",126],[5,"GrpcApiConfig",126],[6,"ServiceName",126],[10,"Deserializer",887],[10,"Error",888],[6,"MassaSignatureError",889],[6,"Error",890],[6,"ProtocolError",891],[6,"TimeError",892],[6,"ModelsError",893],[6,"MassaHashError",894],[6,"ExecutionError",895],[6,"WalletError",896],[6,"ConsensusError",897],[6,"FactoryError",898],[5,"Status",899],[5,"Error",900],[6,"Option",901],[5,"String",902],[5,"MassaPrivateGrpc",361],[5,"AddStakingSecretKeysRequest",903],[5,"AddStakingSecretKeysResponse",903],[5,"AddToBootstrapBlacklistRequest",903],[5,"AddToBootstrapBlacklistResponse",903],[5,"AddToBootstrapWhitelistRequest",903],[5,"AddToBootstrapWhitelistResponse",903],[5,"AddToPeersWhitelistRequest",903],[5,"AddToPeersWhitelistResponse",903],[5,"AllowEveryoneToBootstrapRequest",903],[5,"AllowEveryoneToBootstrapResponse",903],[5,"BanNodesByIdsRequest",903],[5,"BanNodesByIdsResponse",903],[5,"BanNodesByIpsRequest",903],[5,"BanNodesByIpsResponse",903],[5,"GetBootstrapBlacklistRequest",903],[5,"GetBootstrapBlacklistResponse",903],[5,"GetBootstrapWhitelistRequest",903],[5,"GetBootstrapWhitelistResponse",903],[5,"GetMipStatusRequest",903],[5,"GetMipStatusResponse",903],[5,"GetNodeStatusRequest",903],[5,"GetNodeStatusResponse",903],[5,"GetPeersWhitelistRequest",903],[5,"GetPeersWhitelistResponse",903],[5,"RemoveFromBootstrapBlacklistRequest",903],[5,"RemoveFromBootstrapBlacklistResponse",903],[5,"RemoveFromBootstrapWhitelistRequest",903],[5,"RemoveFromBootstrapWhitelistResponse",903],[5,"RemoveFromPeersWhitelistRequest",903],[5,"RemoveFromPeersWhitelistResponse",903],[5,"RemoveStakingAddressesRequest",903],[5,"RemoveStakingAddressesResponse",903],[5,"ShutdownGracefullyRequest",903],[5,"ShutdownGracefullyResponse",903],[5,"SignMessagesRequest",903],[5,"SignMessagesResponse",903],[5,"UnbanNodesByIdsRequest",903],[5,"UnbanNodesByIdsResponse",903],[5,"UnbanNodesByIpsRequest",903],[5,"UnbanNodesByIpsResponse",903],[5,"MassaPublicGrpc",361],[5,"ExecuteReadOnlyCallRequest",903],[5,"ExecuteReadOnlyCallResponse",903],[5,"GetBlocksRequest",903],[5,"GetBlocksResponse",903],[5,"GetDatastoreEntriesRequest",903],[5,"GetDatastoreEntriesResponse",903],[5,"GetEndorsementsRequest",903],[5,"GetEndorsementsResponse",903],[5,"GetNextBlockBestParentsRequest",903],[5,"GetNextBlockBestParentsResponse",903],[5,"GetOperationsRequest",903],[5,"GetOperationsResponse",903],[5,"GetScExecutionEventsRequest",903],[5,"GetScExecutionEventsResponse",903],[5,"GetSelectorDrawsRequest",903],[5,"GetSelectorDrawsResponse",903],[5,"GetStakersRequest",903],[5,"GetStakersResponse",903],[5,"GetStatusRequest",903],[5,"GetStatusResponse",903],[5,"GetTransactionsThroughputRequest",903],[5,"GetTransactionsThroughputResponse",903],[5,"QueryStateRequest",903],[5,"QueryStateResponse",903],[5,"SearchBlocksRequest",903],[5,"SearchBlocksResponse",903],[5,"SearchEndorsementsRequest",903],[5,"SearchEndorsementsResponse",903],[5,"SearchOperationsRequest",903],[5,"SearchOperationsResponse",903],[10,"Future",904],[5,"Pin",905],[5,"GetOperationAbiCallStacksRequest",903],[5,"GetSlotAbiCallStacksRequest",903],[5,"GetSlotTransfersRequest",903],[5,"HealthReporter",906],[5,"NewBlocksRequest",903],[5,"Streaming",907],[5,"NewEndorsementsRequest",903],[5,"NewFilledBlocksRequest",903],[5,"NewOperationsRequest",903],[5,"NewSlotAbiCallStacksRequest",903],[5,"NewSlotExecutionOutputsRequest",903],[5,"NewSlotTransfersRequest",903],[5,"SendBlocksRequest",903],[5,"SendEndorsementsRequest",903],[5,"SendOperationsRequest",903],[5,"StopHandle",361],[8,"BoxBody",908],[5,"Request",909],[17,"Response"],[5,"Response",910],[17,"Error"],[6,"Infallible",911],[10,"Service",912],[10,"NamedService",913],[10,"Clone",914],[10,"Send",882],[5,"TransactionsThroughputRequest",903],[5,"Filter",526],[8,"NewBlocksStreamType",526],[8,"SecureShareBlock",915],[5,"Filter",560],[8,"NewEndorsementsStreamType",560],[8,"SecureShareEndorsement",916],[5,"Filter",588],[8,"NewFilledBlocksStreamType",588],[5,"BlockHeader",917],[6,"BlockId",918],[5,"SecureShare",919],[5,"Filter",622],[8,"NewOperationsStreamType",622],[8,"SecureShareOperation",920],[5,"SlotAbiCallStack",650],[8,"NewSlotABICallStacksStreamType",650],[5,"Filter",679],[5,"AsyncPoolChangesFilter",679],[5,"ExecutedDenounciationFilter",679],[5,"ExecutionEventFilter",679],[5,"ExecutedOpsChangesFilter",679],[5,"LedgerChangesFilter",679],[6,"SlotExecutionOutput",921],[5,"ExecutionOutput",921],[8,"NewSlotExecutionOutputsStreamType",679],[5,"SendBlocksResponse",903],[5,"Sender",922],[6,"Code",899],[8,"SendBlocksStreamType",865],[5,"SendEndorsementsResponse",903],[8,"SendEndorsementsStreamType",868],[5,"SendOperationsResponse",903],[8,"SendOperationsStreamType",871],[8,"TransactionsThroughputStreamType",874]],"r":[],"b":[[298,"impl-Debug-for-GrpcError"],[299,"impl-Display-for-GrpcError"],[301,"impl-From%3CMassaSignatureError%3E-for-GrpcError"],[302,"impl-From%3CError%3E-for-GrpcError"],[303,"impl-From%3CProtocolError%3E-for-GrpcError"],[304,"impl-From%3CTimeError%3E-for-GrpcError"],[305,"impl-From%3CModelsError%3E-for-GrpcError"],[306,"impl-From%3CMassaHashError%3E-for-GrpcError"],[307,"impl-From%3CExecutionError%3E-for-GrpcError"],[308,"impl-From%3CWalletError%3E-for-GrpcError"],[309,"impl-From%3CConsensusError%3E-for-GrpcError"],[310,"impl-From%3CFactoryError%3E-for-GrpcError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEwCTgABAAEABAACAAgABQAPAAgAGQAPACoAFABAAAIARgAFAE0AAgBRAAIAVwAIAGUAAABnABcAhAACAIoABQCVAAgAnwALAKwAAgC2AAIAvAACAMQAAgDMAAIA0QACAPAAAgD+ABcAJAEIAC4BCgA6AQEAPQEJAFABAABiAQAAZAEAAG0BAQB2AQUAfQEFAIYBCwCZAQIApAEAAKkBAQCwAQIAtgECALoBAgDJAQIA3wEAAOUBAADoAQEA6wEIAPYBCAABAgIADwIAABECDAAfAgIAIwIBACYCCwAzAgkAPgIBAEECAQBEAgkATwIMAF0CAgBhAgEAZAILAHECBwB6AgEAfQIBAIACCgCMAgoAmAIBAJsCAQCeAgAAoAINAK8CRQD2AgYAAwMMABYDDAAkAzwAZgMAAGkDAAA="}],\ ["massa_hash",{"t":"SSFFFFFFGPPCCCCGPPNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSS","n":["HASH_SIZE_BYTES","HASH_XOF_SIZE_BYTES","Hash","HashDeserializer","HashSerializer","HashXof","HashXofDeserializer","HashXofSerializer","MassaHashError","ParsingError","WrongPrefix","error","hash","hash_xof","settings","MassaHashError","ParsingError","WrongPrefix","borrow","borrow_mut","clone","clone_into","clone_to_uninit","fmt","fmt","from","into","to_owned","to_string","try_from","try_into","type_id","Hash","HashDeserializer","HashSerializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","compute_from","compute_from_tuple","default","default","deserialize","deserialize","eq","fmt","fmt","from","from","from","from_bs58_check","from_bytes","from_str","hash","into","into","into","into_bytes","new","new","partial_cmp","serialize","serialize","to_bs58_check","to_bytes","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","zero","HashXof","HashXofDeserializer","HashXofSerializer","bitxor","bitxor_assign","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","compute_from","compute_from_tuple","default","default","deserialize","eq","fmt","fmt","from","from","from","from_bytes","into","into","into","new","new","serialize","to_bs58_check","to_bytes","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","HASH_SIZE_BYTES","HASH_XOF_SIZE_BYTES"],"q":[[0,"massa_hash"],[15,"massa_hash::error"],[32,"massa_hash::hash"],[94,"massa_hash::hash_xof"],[148,"massa_hash::settings"],[150,"core::fmt"],[151,"alloc::string"],[152,"core::result"],[153,"core::any"],[154,"core::cmp"],[155,"serde::de"],[156,"nom::internal"],[157,"nom::error"],[158,"core::hash"],[159,"core::option"],[160,"serde::ser"],[161,"alloc::vec"],[162,"massa_serialization"]],"i":[0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,10,11,12,10,11,12,10,11,12,10,11,12,10,10,11,12,10,10,10,11,12,10,12,10,10,10,10,11,12,10,10,10,10,10,11,12,10,11,12,10,10,11,10,10,10,11,12,10,10,10,11,12,10,11,12,10,11,12,10,0,0,0,28,28,28,29,30,28,29,30,28,29,30,28,29,30,28,28,29,30,28,28,29,30,30,28,28,28,28,29,30,28,28,29,30,29,30,29,28,28,28,29,30,28,28,29,30,28,29,30,28,29,30,0,0],"f":"``````````````````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{f}}}f}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{{{b{f}}{b{dj}}}l}0{cc{}}{ce{}{}}{{{b{c}}}e{}{}}{{{b{c}}}n{}}{c{{A`{e}}}{}{}}0{{{b{c}}}Ab{}}```;;;:::{{{b{Ad}}}Ad}{{{b{Af}}}Af}{{{b{Ah}}}Ah};;;::::{{{b{Ad}}{b{Ad}}}Aj}{{{b{{An{Al}}}}}Ad}{{{b{{An{{b{{An{Al}}}}}}}}}Ad}{{}Af}{{}Ah}{c{{A`{Ad}}}B`}{{{b{Ah}}{b{{An{Al}}}}}{{Bb{{b{{An{Al}}}}Adc}}}{{Bd{{b{{An{Al}}}}}}{Bf{{b{{An{Al}}}}}}}}{{{b{Ad}}{b{Ad}}}Bh}{{{b{Ad}}{b{dj}}}l}0{cc{}}00{{{b{Bj}}}{{A`{Adf}}}}{{{b{{Bl{Al}}}}}Ad}{{{b{Bj}}}{{A`{Adc}}}{}}{{{b{Ad}}{b{dc}}}hBn}{ce{}{}}00{Ad{{Bl{Al}}}}<;{{{b{Ad}}{b{Ad}}}{{C`{Aj}}}}{{{b{Ad}}c}A`Cb}{{{b{Af}}{b{Ad}}{b{d{Cd{Al}}}}}{{A`{hCf}}}}{{{b{Ad}}}n}{{{b{Ad}}}{{b{{Bl{Al}}}}}}{{{b{c}}}e{}{}}00{{{b{c}}}n{}}{c{{A`{e}}}{}{}}{{{b{{An{Al}}}}}{{A`{Adc}}}{}}11111{{{b{c}}}Ab{}}00{{}Ad}```{{ChCh}Ch}{{{b{dCh}}Ch}h}{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{Ch}}}Ch}{{{b{Cj}}}Cj}{{{b{Cl}}}Cl}{{{b{c}}{b{de}}}h{}{}}00{{{b{c}}}h{}}000{{{b{{An{Al}}}}}Ch}{{{b{{An{{b{{An{Al}}}}}}}}}Ch}{{}Cj}{{}Cl}{{{b{Cl}}{b{{An{Al}}}}}{{Bb{{b{{An{Al}}}}Chc}}}{{Bd{{b{{An{Al}}}}}}{Bf{{b{{An{Al}}}}}}}}{{{b{Ch}}{b{Ch}}}Bh}{{{b{Ch}}{b{dj}}}l}0{cc{}}00{{{b{{Bl{Al}}}}}Ch}{ce{}{}}0076{{{b{Cj}}{b{Ch}}{b{d{Cd{Al}}}}}{{A`{hCf}}}}{{{b{Ch}}}n}{{{b{Ch}}}{{b{{Bl{Al}}}}}}{{{b{c}}}e{}{}}00{{{b{c}}}n{}}{c{{A`{e}}}{}{}}00000{{{b{c}}}Ab{}}00``","D":"Gf","p":[[1,"reference"],[0,"mut"],[6,"MassaHashError",15],[1,"unit"],[5,"Formatter",150],[8,"Result",150],[5,"String",151],[6,"Result",152],[5,"TypeId",153],[5,"Hash",32],[5,"HashSerializer",32],[5,"HashDeserializer",32],[6,"Ordering",154],[1,"u8"],[1,"slice"],[10,"Deserializer",155],[8,"IResult",156],[10,"ParseError",157],[10,"ContextError",157],[1,"bool"],[1,"str"],[1,"array"],[10,"Hasher",158],[6,"Option",159],[10,"Serializer",160],[5,"Vec",161],[6,"SerializeError",162],[5,"HashXof",94],[5,"HashXofSerializer",94],[5,"HashXofDeserializer",94]],"r":[[0,148],[1,148],[2,32],[3,32],[4,32],[5,94],[6,94],[7,94],[8,15]],"b":[[23,"impl-Display-for-MassaHashError"],[24,"impl-Debug-for-MassaHashError"],[59,"impl-Debug-for-Hash"],[60,"impl-Display-for-Hash"],[121,"impl-Display-for-HashXof%3CSIZE%3E"],[122,"impl-Debug-for-HashXof%3CSIZE%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFsAEAAMAAMAEwAGABwABAAkABAANwABADsAAgBDAAEASwAAAE0AAABQAAQAVgAHAGIAEQB2AAEAeQACAIUAAACIAAwA"}],\ -["massa_ledger_exports",{"t":"PSPSPPSFFPFFFGFFFFKFFFFFFGPPSOOOOOOOOMOOOOOOOOOCCOOOOHOOOMOCMMMMOMCOOOOCCOOMCOOMOOOOOOOOFNNNNNNNNONNOOONNNNNKMMMMMMMMMPPGPNNNNNNNNNNNNPSPSPPPSPSFFFGFGFPSPOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNOOFFFFFFFFOOONNOONNNNNNNNNNNNNNNNOOONNNNNNNOOONNNNNNNNNNNONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNFFFOONONNNNNNOOONNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BALANCE","BALANCE_IDENT","BYTECODE","BYTECODE_IDENT","ContainerInconsistency","DATASTORE","DATASTORE_IDENT","DatastoreUpdateDeserializer","DatastoreUpdateSerializer","FileError","Key","KeyDeserializer","KeySerializer","KeyType","LedgerChanges","LedgerChangesDeserializer","LedgerChangesSerializer","LedgerConfig","LedgerController","LedgerEntry","LedgerEntryDeserializer","LedgerEntrySerializer","LedgerEntryUpdate","LedgerEntryUpdateDeserializer","LedgerEntryUpdateSerializer","LedgerError","MissingEntry","VERSION","VERSION_IDENT","address","address_deserializer","address_deserializer","address_serializer","address_serializer","amount_deserializer","amount_deserializer","amount_serializer","apply_changes_to_batch","balance","balance","balance_serializer","bytecode","bytecode","bytecode_deserializer","bytecode_deserializer","bytecode_serializer","bytecode_serializer","config","controller","datastore","datastore","datastore_deserializer","datastore_deserializer","datastore_prefix_from_address","datastore_serializer","datastore_serializer","entry_deserializer","entry_exists","entry_serializer","error","get_balance","get_bytecode","get_data_entry","get_datastore_keys","initial_ledger_path","is_key_value_valid","key","key_deserializer","key_type","key_type_deserializer","key_type_serializer","ledger_changes","ledger_entry","length_deserializer","length_deserializer","load_initial_ledger","mapping_grpc","max_datastore_value_length","max_key_length","reset","thread_count","u64_serializer","u64_serializer","value_deserializer","value_serializer","vec_u8_serializer","version_byte_deserializer","version_byte_serializer","LedgerConfig","borrow","borrow_mut","clone","clone_into","clone_to_uninit","fmt","from","from_ref","initial_ledger_path","into","into_request","max_datastore_value_length","max_key_length","thread_count","to_owned","try_from","try_into","type_id","vzip","LedgerController","apply_changes_to_batch","entry_exists","get_balance","get_bytecode","get_data_entry","get_datastore_keys","is_key_value_valid","load_initial_ledger","reset","ContainerInconsistency","FileError","LedgerError","MissingEntry","borrow","borrow_mut","fmt","fmt","from","into","into_request","to_string","try_from","try_into","type_id","vzip","BALANCE","BALANCE_IDENT","BYTECODE","BYTECODE_IDENT","Balance","Bytecode","DATASTORE","DATASTORE_IDENT","Datastore","KEY_VERSION","Key","KeyDeserializer","KeySerializer","KeyType","KeyTypeDeserializer","KeyTypeId","KeyTypeSerializer","VERSION","VERSION_IDENT","Version","address","address_deserializer","address_serializer","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","datastore_prefix_from_address","default","default","deserialize","deserialize","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","key_type","key_type_deserializer","key_type_serializer","new","new","new","new","new","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vec_u8_deserializer","vec_u8_serializer","version_byte_deserializer","version_byte_serializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_datastore_key_length","with_datastore_key_length","DatastoreUpdateDeserializer","DatastoreUpdateSerializer","LedgerChanges","LedgerChangesDeserializer","LedgerChangesSerializer","LedgerEntryUpdate","LedgerEntryUpdateDeserializer","LedgerEntryUpdateSerializer","address_deserializer","address_serializer","amount_deserializer","apply","apply","balance","balance_serializer","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bytecode","bytecode_deserializer","bytecode_serializer","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","create_address","datastore","datastore_deserializer","datastore_serializer","default","default","default","default","default","delete_data_entry","deserialize","deserialize","deserialize","deserialize","deserialize","entry_deserializer","entry_exists_or_else","entry_serializer","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from","from","from","from","from","from_ref","from_ref","get","get_balance_or_else","get_bytecode_or_else","get_bytecode_updates","get_data_entry_or_else","has_data_entry_or_else","has_writes","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","key_deserializer","length_deserializer","length_deserializer","new","new","new","new","new","new","serialize","serialize","serialize","serialize","serialize","set_balance","set_bytecode","set_data_entry","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","u64_serializer","u64_serializer","value_deserializer","value_serializer","vec_u8_serializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","LedgerEntry","LedgerEntryDeserializer","LedgerEntrySerializer","amount_deserializer","amount_serializer","apply","balance","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","bytecode","bytecode_deserializer","bytecode_serializer","clone","clone_into","clone_to_uninit","datastore","datastore_deserializer","datastore_serializer","default","default","deserialize","deserialize","eq","equivalent","equivalent","equivalent","equivalent","fmt","from","from","from","from_ref","into","into","into","into_request","into_request","into_request","new","new","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip"],"q":[[0,"massa_ledger_exports"],[88,"massa_ledger_exports::config"],[108,"massa_ledger_exports::controller"],[118,"massa_ledger_exports::error"],[134,"massa_ledger_exports::key"],[296,"massa_ledger_exports::ledger_changes"],[455,"massa_ledger_exports::ledger_entry"],[514,"massa_db_exports::db_batch"],[515,"massa_models::address"],[516,"alloc::vec"],[517,"massa_models::amount"],[518,"core::option"],[519,"massa_models::bytecode"],[520,"alloc::collections::btree::set"],[521,"core::result"],[522,"core::fmt"],[523,"tonic::request"],[524,"core::any"],[525,"alloc::string"],[526,"nom::internal"],[527,"nom::error"],[528,"massa_serialization"],[529,"num_enum"],[530,"massa_models::types"],[531,"alloc::collections::btree::map"],[532,"serde::de"],[533,"core::ops::function"],[534,"serde::ser"]],"i":[25,0,25,0,16,25,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,25,0,28,44,30,39,29,43,53,52,2,36,48,38,36,48,43,53,38,52,0,0,36,48,43,53,0,38,52,44,2,39,0,2,2,2,2,18,2,0,40,28,30,29,0,0,40,44,2,0,18,18,2,18,37,39,40,37,37,30,29,0,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,0,2,2,2,2,2,2,2,2,2,16,16,0,16,16,16,16,16,16,16,16,16,16,16,16,16,25,0,25,0,24,24,25,0,24,0,0,0,0,0,0,0,0,25,0,24,28,30,29,24,25,26,27,28,29,30,24,25,26,27,28,29,30,24,25,26,27,28,29,30,24,25,26,27,28,29,30,24,25,26,27,28,29,30,0,26,29,27,30,24,25,28,24,24,24,24,25,25,25,25,28,28,28,28,24,25,28,24,25,26,27,28,29,30,24,25,26,27,28,29,30,24,25,26,27,28,29,30,24,25,26,27,28,29,30,28,30,29,26,27,28,29,30,26,29,24,25,26,27,28,29,30,24,24,25,26,27,28,29,30,24,24,25,26,27,28,29,30,24,25,26,27,28,29,30,27,26,30,29,24,25,26,27,28,29,30,26,27,0,0,0,0,0,0,0,0,44,39,43,36,4,36,38,37,40,38,43,39,44,36,4,37,40,38,43,39,44,36,4,36,43,38,36,4,36,4,36,4,4,36,43,38,37,38,39,36,4,4,40,43,44,36,4,44,4,39,36,4,36,36,36,36,4,4,4,4,36,4,37,40,38,43,39,44,36,4,36,4,4,4,4,4,4,4,4,37,40,38,43,39,44,36,4,37,40,38,43,39,44,36,4,40,40,44,37,40,38,43,39,44,37,38,39,36,4,4,4,4,36,4,37,40,38,43,39,44,36,4,37,40,38,43,39,44,36,4,37,40,38,43,39,44,36,4,37,39,40,37,37,37,40,38,43,39,44,36,4,0,0,0,53,52,48,48,52,53,48,52,53,48,48,53,52,48,48,48,48,53,52,52,48,53,48,48,48,48,48,48,48,52,53,48,48,52,53,48,52,53,48,52,53,52,48,48,52,53,48,52,53,48,52,53,48,52,53,48],"f":"`````````````````````````````````````{{{f{bd}}h{f{bj}}}l}```````````````{{{f{n}}{f{{Ab{A`}}}}}{{Ad{A`}}}}```{{{f{d}}{f{n}}}Af}``{{{f{d}}{f{n}}}{{Aj{Ah}}}}{{{f{d}}{f{n}}}{{Aj{Al}}}}{{{f{d}}{f{n}}{f{{Ab{A`}}}}}{{Aj{{Ad{A`}}}}}}{{{f{d}}{f{n}}{f{{Ab{A`}}}}}{{Aj{{An{{Ad{A`}}}}}}}}`{{{f{d}}{f{{Ab{A`}}}}{f{{Ab{A`}}}}}Af}`````````{{{f{bd}}}{{Bb{lB`}}}}```{{{f{bd}}}l}`````````{{{f{c}}}{{f{e}}}{}{}}{{{f{bc}}}{{f{be}}}{}{}}{{{f{Bd}}}Bd}{{{f{c}}{f{be}}}l{}{}}{{{f{c}}}l{}}{{{f{Bd}}{f{bBf}}}Bh}{cc{}}{{{f{c}}}c{}}`{ce{}{}}{c{{Bj{e}}}{}{}}```{{{f{c}}}e{}{}}{c{{Bb{e}}}{}{}}0{{{f{c}}}Bl{}}4`{{{f{bd}}h{f{bj}}}l}{{{f{d}}{f{n}}}Af}{{{f{d}}{f{n}}}{{Aj{Ah}}}}{{{f{d}}{f{n}}}{{Aj{Al}}}}{{{f{d}}{f{n}}{f{{Ab{A`}}}}}{{Aj{{Ad{A`}}}}}}{{{f{d}}{f{n}}{f{{Ab{A`}}}}}{{Aj{{An{{Ad{A`}}}}}}}}{{{f{d}}{f{{Ab{A`}}}}{f{{Ab{A`}}}}}Af}{{{f{bd}}}{{Bb{lB`}}}}{{{f{bd}}}l}````{{{f{c}}}{{f{e}}}{}{}}{{{f{bc}}}{{f{be}}}{}{}}{{{f{B`}}{f{bBf}}}Bh}0{cc{}}{ce{}{}}{c{{Bj{e}}}{}{}}{{{f{c}}}Bn{}}{c{{Bb{e}}}{}{}}0{{{f{c}}}Bl{}}4```````````````````````88888887777777{{{f{C`}}}C`}{{{f{Cb}}}Cb}{{{f{Cd}}}Cd}{{{f{Cf}}}Cf}{{{f{Ch}}}Ch}{{{f{Cj}}}Cj}{{{f{Cl}}}Cl}{{{f{c}}{f{be}}}l{}{}}000000{{{f{c}}}l{}}000000{{{f{n}}{f{{Ab{A`}}}}}{{Ad{A`}}}}{{}Cd}{{}Cj}{{{f{Cf}}{f{{Ab{A`}}}}}{{Cn{{f{{Ab{A`}}}}Cbc}}}{{D`{{f{{Ab{A`}}}}}}{Db{{f{{Ab{A`}}}}}}}}{{{f{Cl}}{f{{Ab{A`}}}}}{{Cn{{f{{Ab{A`}}}}Chc}}}{{D`{{f{{Ab{A`}}}}}}{Db{{f{{Ab{A`}}}}}}}}{{{f{C`}}{f{C`}}}Af}{{{f{Cb}}{f{Cb}}}Af}{{{f{Ch}}{f{Ch}}}Af}{{{f{c}}{f{e}}}Af{}{}}00000000000{{{f{C`}}{f{bBf}}}Bh}{{{f{Cb}}{f{bBf}}}Bh}{{{f{Ch}}{f{bBf}}}Bh}{cc{}}000000{{{f{c}}}c{}}000000{ce{}{}}000000{c{{Bj{e}}}{}{}}000000```{AfCd}{{A`Af}Cf}{{{f{n}}Cb}Ch}{AfCj}{{A`Af}Cl}{{{f{Cd}}{f{Cb}}{f{b{Ad{A`}}}}}{{Bb{lDd}}}}{{{f{Cj}}{f{Ch}}{f{b{Ad{A`}}}}}{{Bb{lDd}}}}{{{f{c}}}e{}{}}000000{A`{{Bb{C`{Df{C`}}}}}}{c{{Bb{e}}}{}{}}000000{c{{Bb{C`{Df{C`}}}}}{}}1111111{{{f{c}}}Bl{}}000000````=======`````````````{{{f{bDh}}Dh}l}{{{f{bh}}h}l}``{{{f{c}}}{{f{e}}}{}{}}0000000{{{f{bc}}}{{f{be}}}{}{}}0000000```{{{f{Dh}}}Dh}{{{f{h}}}h}{{{f{c}}{f{be}}}l{}{}}0{{{f{c}}}l{}}0{{{f{bh}}{f{n}}}l}```{{}Dj}{{}Dl}{{}Dn}{{}Dh}{{}h}{{{f{bh}}n{Ad{A`}}}l}{{{f{E`}}{f{{Ab{A`}}}}}{{Cn{{f{{Ab{A`}}}}{Ed{{Ad{A`}}{Eb{{Ad{A`}}}}}}c}}}{{D`{{f{{Ab{A`}}}}}}{Db{{f{{Ab{A`}}}}}}}}{{{f{Ef}}{f{{Ab{A`}}}}}{{Cn{{f{{Ab{A`}}}}Dhc}}}{{D`{{f{{Ab{A`}}}}}}{Db{{f{{Ab{A`}}}}}}}}{{{f{Eh}}{f{{Ab{A`}}}}}{{Cn{{f{{Ab{A`}}}}hc}}}{{D`{{f{{Ab{A`}}}}}}{Db{{f{{Ab{A`}}}}}}}}{c{{Bb{Dh}}}Ej}{c{{Bb{h}}}Ej}`{{{f{h}}{f{n}}c}Af{{En{}{{El{Af}}}}}}`{{{f{Dh}}{f{Dh}}}Af}{{{f{h}}{f{h}}}Af}{{{f{c}}{f{e}}}Af{}{}}0000000{{{f{Dh}}{f{bBf}}}Bh}{{{f{h}}{f{bBf}}}Bh}{cc{}}0000000{{{f{c}}}c{}}0{{{f{h}}{f{n}}}{{Aj{{f{{Fb{F`Dh}}}}}}}}{{{f{h}}{f{n}}c}{{Aj{Ah}}}{{En{}{{El{{Aj{Ah}}}}}}}}{{{f{h}}{f{n}}c}{{Aj{Al}}}{{En{}{{El{{Aj{Al}}}}}}}}{{{f{h}}}{{Ad{Al}}}}{{{f{h}}{f{n}}{f{{Ab{A`}}}}c}{{Aj{{Ad{A`}}}}}{{En{}{{El{{Aj{{Ad{A`}}}}}}}}}}{{{f{h}}{f{n}}{f{{Ab{A`}}}}c}Af{{En{}{{El{Af}}}}}}{{{f{h}}{f{n}}{Aj{{Ad{A`}}}}}Af}{ce{}{}}0000000{c{{Bj{e}}}{}{}}0000000```{{}Dj}{{A`FdFd}E`}{{}Dl}{{A`FdFd}Ef}{{}Dn}{{FdA`FdFd}Eh}{{{f{Dj}}{f{{Ed{{Ad{A`}}{Eb{{Ad{A`}}}}}}}}{f{b{Ad{A`}}}}}{{Bb{lDd}}}}{{{f{Dl}}{f{Dh}}{f{b{Ad{A`}}}}}{{Bb{lDd}}}}{{{f{Dn}}{f{h}}{f{b{Ad{A`}}}}}{{Bb{lDd}}}}{{{f{Dh}}c}BbFf}{{{f{h}}c}BbFf}{{{f{bh}}nAh}l}{{{f{bh}}nAl}l}{{{f{bh}}n{Ad{A`}}{Ad{A`}}}l}{{{f{c}}}e{}{}}0{c{{Bb{e}}}{}{}}000000000000000{{{f{c}}}Bl{}}0000000`````{ce{}{}}0000000`````{{{f{bF`}}Dh}l}`{{{f{c}}}{{f{e}}}{}{}}00{{{f{bc}}}{{f{be}}}{}{}}00```{{{f{F`}}}F`}{{{f{c}}{f{be}}}l{}{}}{{{f{c}}}l{}}```{{}Fh}{{}F`}{{{f{Fj}}{f{{Ab{A`}}}}}{{Cn{{f{{Ab{A`}}}}F`c}}}{{D`{{f{{Ab{A`}}}}}}{Db{{f{{Ab{A`}}}}}}}}{c{{Bb{F`}}}Ej}{{{f{F`}}{f{F`}}}Af}{{{f{c}}{f{e}}}Af{}{}}000{{{f{F`}}{f{bBf}}}Bh}{cc{}}00{{{f{c}}}c{}}???{c{{Bj{e}}}{}{}}009{{FdA`Fd}Fj}{{{f{Fh}}{f{F`}}{f{b{Ad{A`}}}}}{{Bb{lDd}}}}{{{f{F`}}c}BbFf}{{{f{c}}}e{}{}}{c{{Bb{e}}}{}{}}00000{{{f{c}}}Bl{}}00{ce{}{}}00","D":"ACj","p":[[0,"mut"],[10,"LedgerController",108],[1,"reference"],[5,"LedgerChanges",296],[8,"DBBatch",514],[1,"unit"],[6,"Address",515],[1,"u8"],[1,"slice"],[5,"Vec",516],[1,"bool"],[5,"Amount",517],[6,"Option",518],[5,"Bytecode",519],[5,"BTreeSet",520],[6,"LedgerError",118],[6,"Result",521],[5,"LedgerConfig",88],[5,"Formatter",522],[8,"Result",522],[5,"Request",523],[5,"TypeId",524],[5,"String",525],[6,"KeyTypeId",134],[6,"KeyType",134],[5,"KeyTypeSerializer",134],[5,"KeyTypeDeserializer",134],[5,"Key",134],[5,"KeySerializer",134],[5,"KeyDeserializer",134],[8,"IResult",526],[10,"ParseError",527],[10,"ContextError",527],[6,"SerializeError",528],[5,"TryFromPrimitiveError",529],[5,"LedgerEntryUpdate",296],[5,"DatastoreUpdateSerializer",296],[5,"LedgerEntryUpdateSerializer",296],[5,"LedgerChangesSerializer",296],[5,"DatastoreUpdateDeserializer",296],[6,"SetOrDelete",530],[5,"BTreeMap",531],[5,"LedgerEntryUpdateDeserializer",296],[5,"LedgerChangesDeserializer",296],[10,"Deserializer",532],[17,"Output"],[10,"FnOnce",533],[5,"LedgerEntry",455],[6,"SetUpdateOrDelete",530],[1,"u64"],[10,"Serializer",534],[5,"LedgerEntrySerializer",455],[5,"LedgerEntryDeserializer",455]],"r":[[1,134],[3,134],[6,134],[7,296],[8,296],[10,134],[11,134],[12,134],[13,134],[14,296],[15,296],[16,296],[17,88],[18,108],[19,455],[20,455],[21,455],[22,296],[23,296],[24,296],[25,118],[28,134],[53,134]],"b":[[124,"impl-Debug-for-LedgerError"],[125,"impl-Display-for-LedgerError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGUBLgABAAMABgABAA4AAAATAAAAHAAKACkAAAAsAAMAMQAAADQAAQA3AAIAOwAAAEMABABKAAEATQAAAFIABgBaAAUAYQAAAGQAAABoAAYAewADAIEADwCUACwAwgACAMYAEQDfAAYA7QAJAPkAAAD8ACwAMQECADcBEABJAQcAUwEGAF4BAgBiAQwAdwEBAIgBCgCcAQEAoQEmAMsBAgDPAQUA1gEEANwBAwDhAQYA6wEAAO8BAgD1AQ0A"}],\ -["massa_ledger_worker",{"t":"FOCCOFNNNONNNNNNNNNNNNNONNNNPPPFGPOONNNNNOOOHNNHNNNNNNNNNNOONOONNNONNNNNNNOONN","n":["FinalLedger","config","ledger","ledger_db","sorted_ledger","FinalLedger","apply_changes_to_batch","borrow","borrow_mut","config","entry_exists","fmt","from","get_balance","get_bytecode","get_data_entry","get_datastore_keys","into","into_request","is_key_value_valid","load_initial_ledger","new","reset","sorted_ledger","try_from","try_into","type_id","vzip","Balance","Bytecode","Datastore","LedgerDB","LedgerSubEntry","Version","amount_deserializer","amount_serializer","apply_changes_to_batch","borrow","borrow","borrow_mut","borrow_mut","bytecode_deserializer","bytecode_serializer","db","delete_datastore_entries","delete_entry","derive_key","end_prefix","fmt","from","from","get_datastore_keys","get_sub_entry","into","into","into_request","into_request","is_key_value_valid","key_deserializer_db","key_serializer_db","load_initial_ledger","max_datastore_key_length","max_datastore_value_length","new","put_entry","reset","thread_count","try_from","try_from","try_into","try_into","type_id","type_id","update_entry","version_deserializer","version_serializer","vzip","vzip"],"q":[[0,"massa_ledger_worker"],[5,"massa_ledger_worker::ledger"],[28,"massa_ledger_worker::ledger_db"],[78,"massa_ledger_exports::ledger_changes"],[79,"massa_db_exports::db_batch"],[80,"massa_models::address"],[81,"core::fmt"],[82,"massa_models::amount"],[83,"core::option"],[84,"massa_models::bytecode"],[85,"alloc::vec"],[86,"alloc::collections::btree::set"],[87,"tonic::request"],[88,"massa_ledger_exports::error"],[89,"core::result"],[90,"massa_ledger_exports::config"],[91,"massa_db_exports::controller"],[92,"core::any"],[93,"parking_lot::raw_rwlock"],[94,"alloc::boxed"],[95,"lock_api::rwlock"],[96,"alloc::collections::btree::map"],[97,"massa_ledger_exports::key"],[98,"massa_ledger_exports::ledger_entry"],[99,"std::collections::hash::map"]],"i":[0,2,0,0,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,30,30,30,0,0,30,24,24,24,30,24,30,24,24,24,24,0,24,30,0,24,30,24,24,24,30,24,30,24,24,24,24,24,24,24,24,24,24,24,30,24,30,24,30,24,24,24,24,30,24],"f":"``````{{{f{bd}}h{f{bj}}}l}{{{f{c}}}{{f{e}}}{}{}}{{{f{bc}}}{{f{be}}}{}{}}`{{{f{d}}{f{n}}}A`}{{{f{d}}{f{bAb}}}Ad}{cc{}}{{{f{d}}{f{n}}}{{Ah{Af}}}}{{{f{d}}{f{n}}}{{Ah{Aj}}}}{{{f{d}}{f{n}}{f{{An{Al}}}}}{{Ah{{B`{Al}}}}}}{{{f{d}}{f{n}}{f{{An{Al}}}}}{{Ah{{Bb{{B`{Al}}}}}}}}{ce{}{}}{c{{Bd{e}}}{}{}}{{{f{d}}{f{{An{Al}}}}{f{{An{Al}}}}}A`}{{{f{bd}}}{{Bh{lBf}}}}{{BjBl}d}{{{f{bd}}}l}`{c{{Bh{e}}}{}{}}0{{{f{c}}}Bn{}}7````````{{{f{C`}}h{f{bj}}}l}{{{f{c}}}{{f{e}}}{}{}}0{{{f{bc}}}{{f{be}}}{}{}}0```{{{f{n}}{f{{Ch{Cb{Cf{Cd}}}}}}{f{b{Cj{{B`{Al}}{Ah{{B`{Al}}}}}}}}}l}{{{f{C`}}{f{n}}{f{bj}}}l}{{{f{Cl}}{f{n}}}Cn}{{{f{{An{Al}}}}}{{Ah{{B`{Al}}}}}}{{{f{C`}}{f{bAb}}}Ad}{cc{}}0{{{f{C`}}{f{n}}{f{{An{Al}}}}}{{Ah{{Bb{{B`{Al}}}}}}}}{{{f{C`}}{f{n}}Cl}{{Ah{{B`{Al}}}}}}{ce{}{}}0{c{{Bd{e}}}{}{}}0{{{f{C`}}{f{{An{Al}}}}{f{{An{Al}}}}}A`}``{{{f{bC`}}{Db{nD`}}}l}``{{BlAlAlDd}C`}{{{f{C`}}{f{n}}D`{f{bj}}}l}{{{f{C`}}}l}`{c{{Bh{e}}}{}{}}000{{{f{c}}}Bn{}}0{{{f{C`}}{f{n}}Df{f{bj}}}l}``99","D":"Eb","p":[[0,"mut"],[5,"FinalLedger",5],[1,"reference"],[5,"LedgerChanges",78],[8,"DBBatch",79],[1,"unit"],[6,"Address",80],[1,"bool"],[5,"Formatter",81],[8,"Result",81],[5,"Amount",82],[6,"Option",83],[5,"Bytecode",84],[1,"u8"],[1,"slice"],[5,"Vec",85],[5,"BTreeSet",86],[5,"Request",87],[6,"LedgerError",88],[6,"Result",89],[5,"LedgerConfig",90],[8,"ShareableMassaDBController",91],[5,"TypeId",92],[5,"LedgerDB",28],[5,"RawRwLock",93],[10,"MassaDBController",91],[5,"Box",94],[5,"RwLockReadGuard",95],[5,"BTreeMap",96],[6,"LedgerSubEntry",28],[5,"Key",97],[5,"LedgerEntry",98],[5,"HashMap",99],[1,"u64"],[5,"LedgerEntryUpdate",78]],"r":[[0,5]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACUADQAIAAEADAAAABMAAAAZAAMAIwABACYABwAvAAAAMQAAADgAAQA7AAEAPgABAEIABwBLAAMA"}],\ +["massa_ledger_exports",{"t":"PSPSPPSFFPFFFGFFFFKFFFFFFGPPSOOOOOOOOMOOOOOOOOOCCOOOOHOOOMOCMMMMOMCOOOOCCOOMCOOMOOOOOOOOFNNNNNNNNONNOOONNNNNKMMMMMMMMMPPGPNNNNNNNNNNNNPSPSPPPSPSFFFGFGFPSPOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNOOFFFFFFFFOOONNOONNNNNNNNNNNNNNNNOOONNNNNNNOOONNNNNNNNNNNONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNFFFOONONNNNNNOOONNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BALANCE","BALANCE_IDENT","BYTECODE","BYTECODE_IDENT","ContainerInconsistency","DATASTORE","DATASTORE_IDENT","DatastoreUpdateDeserializer","DatastoreUpdateSerializer","FileError","Key","KeyDeserializer","KeySerializer","KeyType","LedgerChanges","LedgerChangesDeserializer","LedgerChangesSerializer","LedgerConfig","LedgerController","LedgerEntry","LedgerEntryDeserializer","LedgerEntrySerializer","LedgerEntryUpdate","LedgerEntryUpdateDeserializer","LedgerEntryUpdateSerializer","LedgerError","MissingEntry","VERSION","VERSION_IDENT","address","address_deserializer","address_deserializer","address_serializer","address_serializer","amount_deserializer","amount_deserializer","amount_serializer","apply_changes_to_batch","balance","balance","balance_serializer","bytecode","bytecode","bytecode_deserializer","bytecode_deserializer","bytecode_serializer","bytecode_serializer","config","controller","datastore","datastore","datastore_deserializer","datastore_deserializer","datastore_prefix_from_address","datastore_serializer","datastore_serializer","entry_deserializer","entry_exists","entry_serializer","error","get_balance","get_bytecode","get_data_entry","get_datastore_keys","initial_ledger_path","is_key_value_valid","key","key_deserializer","key_type","key_type_deserializer","key_type_serializer","ledger_changes","ledger_entry","length_deserializer","length_deserializer","load_initial_ledger","mapping_grpc","max_datastore_value_length","max_key_length","reset","thread_count","u64_serializer","u64_serializer","value_deserializer","value_serializer","vec_u8_serializer","version_byte_deserializer","version_byte_serializer","LedgerConfig","borrow","borrow_mut","clone","clone_into","clone_to_uninit","fmt","from","from_ref","initial_ledger_path","into","into_request","max_datastore_value_length","max_key_length","thread_count","to_owned","try_from","try_into","type_id","vzip","LedgerController","apply_changes_to_batch","entry_exists","get_balance","get_bytecode","get_data_entry","get_datastore_keys","is_key_value_valid","load_initial_ledger","reset","ContainerInconsistency","FileError","LedgerError","MissingEntry","borrow","borrow_mut","fmt","fmt","from","into","into_request","to_string","try_from","try_into","type_id","vzip","BALANCE","BALANCE_IDENT","BYTECODE","BYTECODE_IDENT","Balance","Bytecode","DATASTORE","DATASTORE_IDENT","Datastore","KEY_VERSION","Key","KeyDeserializer","KeySerializer","KeyType","KeyTypeDeserializer","KeyTypeId","KeyTypeSerializer","VERSION","VERSION_IDENT","Version","address","address_deserializer","address_serializer","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","datastore_prefix_from_address","default","default","deserialize","deserialize","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","key_type","key_type_deserializer","key_type_serializer","new","new","new","new","new","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vec_u8_deserializer","vec_u8_serializer","version_byte_deserializer","version_byte_serializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_datastore_key_length","with_datastore_key_length","DatastoreUpdateDeserializer","DatastoreUpdateSerializer","LedgerChanges","LedgerChangesDeserializer","LedgerChangesSerializer","LedgerEntryUpdate","LedgerEntryUpdateDeserializer","LedgerEntryUpdateSerializer","address_deserializer","address_serializer","amount_deserializer","apply","apply","balance","balance_serializer","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bytecode","bytecode_deserializer","bytecode_serializer","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","create_address","datastore","datastore_deserializer","datastore_serializer","default","default","default","default","default","delete_data_entry","deserialize","deserialize","deserialize","deserialize","deserialize","entry_deserializer","entry_exists_or_else","entry_serializer","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from","from","from","from","from","from_ref","from_ref","get","get_balance_or_else","get_bytecode_or_else","get_bytecode_updates","get_data_entry_or_else","has_data_entry_or_else","has_writes","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","key_deserializer","length_deserializer","length_deserializer","new","new","new","new","new","new","serialize","serialize","serialize","serialize","serialize","set_balance","set_bytecode","set_data_entry","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","u64_serializer","u64_serializer","value_deserializer","value_serializer","vec_u8_serializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","LedgerEntry","LedgerEntryDeserializer","LedgerEntrySerializer","amount_deserializer","amount_serializer","apply","balance","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","bytecode","bytecode_deserializer","bytecode_serializer","clone","clone_into","clone_to_uninit","datastore","datastore_deserializer","datastore_serializer","default","default","deserialize","deserialize","eq","equivalent","equivalent","equivalent","equivalent","fmt","from","from","from","from_ref","into","into","into","into_request","into_request","into_request","new","new","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip"],"q":[[0,"massa_ledger_exports"],[88,"massa_ledger_exports::config"],[108,"massa_ledger_exports::controller"],[118,"massa_ledger_exports::error"],[134,"massa_ledger_exports::key"],[296,"massa_ledger_exports::ledger_changes"],[455,"massa_ledger_exports::ledger_entry"],[514,"massa_db_exports::db_batch"],[515,"massa_models::address"],[516,"alloc::vec"],[517,"massa_models::amount"],[518,"core::option"],[519,"massa_models::bytecode"],[520,"alloc::collections::btree::set"],[521,"core::result"],[522,"core::fmt"],[523,"tonic::request"],[524,"core::any"],[525,"alloc::string"],[526,"nom::internal"],[527,"nom::error"],[528,"massa_serialization"],[529,"num_enum"],[530,"massa_models::types"],[531,"alloc::collections::btree::map"],[532,"serde::de"],[533,"core::ops::function"],[534,"serde::ser"]],"i":[26,0,26,0,17,26,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,26,0,29,45,31,40,30,44,54,53,2,37,49,39,37,49,44,54,39,53,0,0,37,49,44,54,0,39,53,45,2,40,0,2,2,2,2,19,2,0,41,29,31,30,0,0,41,45,2,0,19,19,2,19,38,40,41,38,38,31,30,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,2,2,2,2,2,2,2,2,2,17,17,0,17,17,17,17,17,17,17,17,17,17,17,17,17,26,0,26,0,25,25,26,0,25,0,0,0,0,0,0,0,0,26,0,25,29,31,30,25,26,27,28,29,30,31,25,26,27,28,29,30,31,25,26,27,28,29,30,31,25,26,27,28,29,30,31,25,26,27,28,29,30,31,0,27,30,28,31,25,26,29,25,25,25,25,26,26,26,26,29,29,29,29,25,26,29,25,26,27,28,29,30,31,25,26,27,28,29,30,31,25,26,27,28,29,30,31,25,26,27,28,29,30,31,29,31,30,27,28,29,30,31,27,30,25,26,27,28,29,30,31,25,25,26,27,28,29,30,31,25,25,26,27,28,29,30,31,25,26,27,28,29,30,31,28,27,31,30,25,26,27,28,29,30,31,27,28,0,0,0,0,0,0,0,0,45,40,44,37,4,37,39,38,41,39,44,40,45,37,4,38,41,39,44,40,45,37,4,37,44,39,37,4,37,4,37,4,4,37,44,39,38,39,40,37,4,4,41,44,45,37,4,45,4,40,37,4,37,37,37,37,4,4,4,4,37,4,38,41,39,44,40,45,37,4,37,4,4,4,4,4,4,4,4,38,41,39,44,40,45,37,4,38,41,39,44,40,45,37,4,41,41,45,38,41,39,44,40,45,38,39,40,37,4,4,4,4,37,4,38,41,39,44,40,45,37,4,38,41,39,44,40,45,37,4,38,41,39,44,40,45,37,4,38,40,41,38,38,38,41,39,44,40,45,37,4,0,0,0,54,53,49,49,53,54,49,53,54,49,49,54,53,49,49,49,49,54,53,53,49,54,49,49,49,49,49,49,49,53,54,49,49,53,54,49,53,54,49,53,54,53,49,49,53,54,49,53,54,49,53,54,49,53,54,49],"f":"`````````````````````````````````````{{{f{bd}}h{f{bj}}l}n}```````````````{{{f{A`}}{f{{Ad{Ab}}}}}{{Af{Ab}}}}```{{{f{d}}{f{A`}}}Ah}``{{{f{d}}{f{A`}}}{{Al{Aj}}}}{{{f{d}}{f{A`}}}{{Al{An}}}}{{{f{d}}{f{A`}}{f{{Ad{Ab}}}}}{{Al{{Af{Ab}}}}}}{{{f{d}}{f{A`}}{f{{Ad{Ab}}}}}{{Al{{B`{{Af{Ab}}}}}}}}`{{{f{d}}{f{{Ad{Ab}}}}{f{{Ad{Ab}}}}}Ah}`````````{{{f{bd}}}{{Bd{nBb}}}}```{{{f{bd}}}n}`````````{{{f{c}}}{{f{e}}}{}{}}{{{f{bc}}}{{f{be}}}{}{}}{{{f{Bf}}}Bf}{{{f{c}}{f{be}}}n{}{}}{{{f{c}}}n{}}{{{f{Bf}}{f{bBh}}}Bj}{cc{}}{{{f{c}}}c{}}`{ce{}{}}{c{{Bl{e}}}{}{}}```{{{f{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{f{c}}}Bn{}}4`{{{f{bd}}h{f{bj}}l}n}{{{f{d}}{f{A`}}}Ah}{{{f{d}}{f{A`}}}{{Al{Aj}}}}{{{f{d}}{f{A`}}}{{Al{An}}}}{{{f{d}}{f{A`}}{f{{Ad{Ab}}}}}{{Al{{Af{Ab}}}}}}{{{f{d}}{f{A`}}{f{{Ad{Ab}}}}}{{Al{{B`{{Af{Ab}}}}}}}}{{{f{d}}{f{{Ad{Ab}}}}{f{{Ad{Ab}}}}}Ah}{{{f{bd}}}{{Bd{nBb}}}}{{{f{bd}}}n}````{{{f{c}}}{{f{e}}}{}{}}{{{f{bc}}}{{f{be}}}{}{}}{{{f{Bb}}{f{bBh}}}Bj}0{cc{}}{ce{}{}}{c{{Bl{e}}}{}{}}{{{f{c}}}C`{}}{c{{Bd{e}}}{}{}}0{{{f{c}}}Bn{}}4```````````````````````88888887777777{{{f{Cb}}}Cb}{{{f{Cd}}}Cd}{{{f{Cf}}}Cf}{{{f{Ch}}}Ch}{{{f{Cj}}}Cj}{{{f{Cl}}}Cl}{{{f{Cn}}}Cn}{{{f{c}}{f{be}}}n{}{}}000000{{{f{c}}}n{}}000000{{{f{A`}}{f{{Ad{Ab}}}}}{{Af{Ab}}}}{{}Cf}{{}Cl}{{{f{Ch}}{f{{Ad{Ab}}}}}{{D`{{f{{Ad{Ab}}}}Cdc}}}{{Db{{f{{Ad{Ab}}}}}}{Dd{{f{{Ad{Ab}}}}}}}}{{{f{Cn}}{f{{Ad{Ab}}}}}{{D`{{f{{Ad{Ab}}}}Cjc}}}{{Db{{f{{Ad{Ab}}}}}}{Dd{{f{{Ad{Ab}}}}}}}}{{{f{Cb}}{f{Cb}}}Ah}{{{f{Cd}}{f{Cd}}}Ah}{{{f{Cj}}{f{Cj}}}Ah}{{{f{c}}{f{e}}}Ah{}{}}00000000000{{{f{Cb}}{f{bBh}}}Bj}{{{f{Cd}}{f{bBh}}}Bj}{{{f{Cj}}{f{bBh}}}Bj}{cc{}}000000{{{f{c}}}c{}}000000{ce{}{}}000000{c{{Bl{e}}}{}{}}000000```{AhCf}{{AbAh}Ch}{{{f{A`}}Cd}Cj}{AhCl}{{AbAh}Cn}{{{f{Cf}}{f{Cd}}{f{b{Af{Ab}}}}}{{Bd{nDf}}}}{{{f{Cl}}{f{Cj}}{f{b{Af{Ab}}}}}{{Bd{nDf}}}}{{{f{c}}}e{}{}}000000{Ab{{Bd{Cb{Dh{Cb}}}}}}{c{{Bd{e}}}{}{}}000000{c{{Bd{Cb{Dh{Cb}}}}}{}}1111111{{{f{c}}}Bn{}}000000````=======`````````````{{{f{bDj}}Dj}n}{{{f{bh}}h}n}``{{{f{c}}}{{f{e}}}{}{}}0000000{{{f{bc}}}{{f{be}}}{}{}}0000000```{{{f{Dj}}}Dj}{{{f{h}}}h}{{{f{c}}{f{be}}}n{}{}}0{{{f{c}}}n{}}0{{{f{bh}}{f{A`}}}n}```{{}Dl}{{}Dn}{{}E`}{{}Dj}{{}h}{{{f{bh}}A`{Af{Ab}}}n}{{{f{Eb}}{f{{Ad{Ab}}}}}{{D`{{f{{Ad{Ab}}}}{Ef{{Af{Ab}}{Ed{{Af{Ab}}}}}}c}}}{{Db{{f{{Ad{Ab}}}}}}{Dd{{f{{Ad{Ab}}}}}}}}{{{f{Eh}}{f{{Ad{Ab}}}}}{{D`{{f{{Ad{Ab}}}}Djc}}}{{Db{{f{{Ad{Ab}}}}}}{Dd{{f{{Ad{Ab}}}}}}}}{{{f{Ej}}{f{{Ad{Ab}}}}}{{D`{{f{{Ad{Ab}}}}hc}}}{{Db{{f{{Ad{Ab}}}}}}{Dd{{f{{Ad{Ab}}}}}}}}{c{{Bd{Dj}}}El}{c{{Bd{h}}}El}`{{{f{h}}{f{A`}}c}Ah{{F`{}{{En{Ah}}}}}}`{{{f{Dj}}{f{Dj}}}Ah}{{{f{h}}{f{h}}}Ah}{{{f{c}}{f{e}}}Ah{}{}}0000000{{{f{Dj}}{f{bBh}}}Bj}{{{f{h}}{f{bBh}}}Bj}{cc{}}0000000{{{f{c}}}c{}}0{{{f{h}}{f{A`}}}{{Al{{f{{Fd{FbDj}}}}}}}}{{{f{h}}{f{A`}}c}{{Al{Aj}}}{{F`{}{{En{{Al{Aj}}}}}}}}{{{f{h}}{f{A`}}c}{{Al{An}}}{{F`{}{{En{{Al{An}}}}}}}}{{{f{h}}}{{Af{An}}}}{{{f{h}}{f{A`}}{f{{Ad{Ab}}}}c}{{Al{{Af{Ab}}}}}{{F`{}{{En{{Al{{Af{Ab}}}}}}}}}}{{{f{h}}{f{A`}}{f{{Ad{Ab}}}}c}Ah{{F`{}{{En{Ah}}}}}}{{{f{h}}{f{A`}}{Al{{Af{Ab}}}}}Ah}{ce{}{}}0000000{c{{Bl{e}}}{}{}}0000000```{{}Dl}{{AbFfFf}Eb}{{}Dn}{{AbFfFf}Eh}{{}E`}{{FfAbFfFf}Ej}{{{f{Dl}}{f{{Ef{{Af{Ab}}{Ed{{Af{Ab}}}}}}}}{f{b{Af{Ab}}}}}{{Bd{nDf}}}}{{{f{Dn}}{f{Dj}}{f{b{Af{Ab}}}}}{{Bd{nDf}}}}{{{f{E`}}{f{h}}{f{b{Af{Ab}}}}}{{Bd{nDf}}}}{{{f{Dj}}c}BdFh}{{{f{h}}c}BdFh}{{{f{bh}}A`Aj}n}{{{f{bh}}A`An}n}{{{f{bh}}A`{Af{Ab}}{Af{Ab}}}n}{{{f{c}}}e{}{}}0{c{{Bd{e}}}{}{}}000000000000000{{{f{c}}}Bn{}}0000000`````{ce{}{}}0000000`````{{{f{bFb}}Dj}n}`{{{f{c}}}{{f{e}}}{}{}}00{{{f{bc}}}{{f{be}}}{}{}}00```{{{f{Fb}}}Fb}{{{f{c}}{f{be}}}n{}{}}{{{f{c}}}n{}}```{{}Fj}{{}Fb}{{{f{Fl}}{f{{Ad{Ab}}}}}{{D`{{f{{Ad{Ab}}}}Fbc}}}{{Db{{f{{Ad{Ab}}}}}}{Dd{{f{{Ad{Ab}}}}}}}}{c{{Bd{Fb}}}El}{{{f{Fb}}{f{Fb}}}Ah}{{{f{c}}{f{e}}}Ah{}{}}000{{{f{Fb}}{f{bBh}}}Bj}{cc{}}00{{{f{c}}}c{}}???{c{{Bl{e}}}{}{}}009{{FfAbFf}Fl}{{{f{Fj}}{f{Fb}}{f{b{Af{Ab}}}}}{{Bd{nDf}}}}{{{f{Fb}}c}BdFh}{{{f{c}}}e{}{}}{c{{Bd{e}}}{}{}}00000{{{f{c}}}Bn{}}00{ce{}{}}00","D":"ACj","p":[[0,"mut"],[10,"LedgerController",108],[1,"reference"],[5,"LedgerChanges",296],[8,"DBBatch",514],[1,"u32"],[1,"unit"],[6,"Address",515],[1,"u8"],[1,"slice"],[5,"Vec",516],[1,"bool"],[5,"Amount",517],[6,"Option",518],[5,"Bytecode",519],[5,"BTreeSet",520],[6,"LedgerError",118],[6,"Result",521],[5,"LedgerConfig",88],[5,"Formatter",522],[8,"Result",522],[5,"Request",523],[5,"TypeId",524],[5,"String",525],[6,"KeyTypeId",134],[6,"KeyType",134],[5,"KeyTypeSerializer",134],[5,"KeyTypeDeserializer",134],[5,"Key",134],[5,"KeySerializer",134],[5,"KeyDeserializer",134],[8,"IResult",526],[10,"ParseError",527],[10,"ContextError",527],[6,"SerializeError",528],[5,"TryFromPrimitiveError",529],[5,"LedgerEntryUpdate",296],[5,"DatastoreUpdateSerializer",296],[5,"LedgerEntryUpdateSerializer",296],[5,"LedgerChangesSerializer",296],[5,"DatastoreUpdateDeserializer",296],[6,"SetOrDelete",530],[5,"BTreeMap",531],[5,"LedgerEntryUpdateDeserializer",296],[5,"LedgerChangesDeserializer",296],[10,"Deserializer",532],[17,"Output"],[10,"FnOnce",533],[5,"LedgerEntry",455],[6,"SetUpdateOrDelete",530],[1,"u64"],[10,"Serializer",534],[5,"LedgerEntrySerializer",455],[5,"LedgerEntryDeserializer",455]],"r":[[1,134],[3,134],[6,134],[7,296],[8,296],[10,134],[11,134],[12,134],[13,134],[14,296],[15,296],[16,296],[17,88],[18,108],[19,455],[20,455],[21,455],[22,296],[23,296],[24,296],[25,118],[28,134],[53,134]],"b":[[124,"impl-Debug-for-LedgerError"],[125,"impl-Display-for-LedgerError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGUBLgABAAMABgABAA4AAAATAAAAHAAKACkAAAAsAAMAMQAAADQAAQA3AAIAOwAAAEMABABKAAEATQAAAFIABgBaAAUAYQAAAGQAAABoAAYAewADAIEADwCUACwAwgACAMYAEQDfAAYA7QAJAPkAAAD8ACwAMQECADcBEABJAQcAUwEGAF4BAgBiAQwAdwEBAIgBCgCcAQEAoQEmAMsBAgDPAQUA1gEEANwBAwDhAQYA6wEAAO8BAgD1AQ0A"}],\ +["massa_ledger_worker",{"t":"FOCCOFNNNONNNNNNNNNNNNNONNNNPPPFGPOONNNNNOOOHNNHNNNNNNNNNNOONOONNNONNNNNNNOONN","n":["FinalLedger","config","ledger","ledger_db","sorted_ledger","FinalLedger","apply_changes_to_batch","borrow","borrow_mut","config","entry_exists","fmt","from","get_balance","get_bytecode","get_data_entry","get_datastore_keys","into","into_request","is_key_value_valid","load_initial_ledger","new","reset","sorted_ledger","try_from","try_into","type_id","vzip","Balance","Bytecode","Datastore","LedgerDB","LedgerSubEntry","Version","amount_deserializer","amount_serializer","apply_changes_to_batch","borrow","borrow","borrow_mut","borrow_mut","bytecode_deserializer","bytecode_serializer","db","delete_datastore_entries","delete_entry","derive_key","end_prefix","fmt","from","from","get_datastore_keys","get_sub_entry","into","into","into_request","into_request","is_key_value_valid","key_deserializer_db","key_serializer_db","load_initial_ledger","max_datastore_key_length","max_datastore_value_length","new","put_entry","reset","thread_count","try_from","try_from","try_into","try_into","type_id","type_id","update_entry","version_deserializer","version_serializer","vzip","vzip"],"q":[[0,"massa_ledger_worker"],[5,"massa_ledger_worker::ledger"],[28,"massa_ledger_worker::ledger_db"],[78,"massa_ledger_exports::ledger_changes"],[79,"massa_db_exports::db_batch"],[80,"massa_models::address"],[81,"core::fmt"],[82,"massa_models::amount"],[83,"core::option"],[84,"massa_models::bytecode"],[85,"alloc::vec"],[86,"alloc::collections::btree::set"],[87,"tonic::request"],[88,"massa_ledger_exports::error"],[89,"core::result"],[90,"massa_ledger_exports::config"],[91,"massa_db_exports::controller"],[92,"core::any"],[93,"parking_lot::raw_rwlock"],[94,"alloc::boxed"],[95,"lock_api::rwlock"],[96,"alloc::collections::btree::map"],[97,"massa_ledger_exports::key"],[98,"massa_ledger_exports::ledger_entry"],[99,"std::collections::hash::map"]],"i":[0,2,0,0,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,31,31,31,0,0,31,25,25,25,31,25,31,25,25,25,25,0,25,31,0,25,31,25,25,25,31,25,31,25,25,25,25,25,25,25,25,25,25,25,31,25,31,25,31,25,25,25,25,31,25],"f":"``````{{{f{bd}}h{f{bj}}l}n}{{{f{c}}}{{f{e}}}{}{}}{{{f{bc}}}{{f{be}}}{}{}}`{{{f{d}}{f{A`}}}Ab}{{{f{d}}{f{bAd}}}Af}{cc{}}{{{f{d}}{f{A`}}}{{Aj{Ah}}}}{{{f{d}}{f{A`}}}{{Aj{Al}}}}{{{f{d}}{f{A`}}{f{{B`{An}}}}}{{Aj{{Bb{An}}}}}}{{{f{d}}{f{A`}}{f{{B`{An}}}}}{{Aj{{Bd{{Bb{An}}}}}}}}{ce{}{}}{c{{Bf{e}}}{}{}}{{{f{d}}{f{{B`{An}}}}{f{{B`{An}}}}}Ab}{{{f{bd}}}{{Bj{nBh}}}}{{BlBn}d}{{{f{bd}}}n}`{c{{Bj{e}}}{}{}}0{{{f{c}}}C`{}}7````````{{{f{Cb}}h{f{bj}}l}n}{{{f{c}}}{{f{e}}}{}{}}0{{{f{bc}}}{{f{be}}}{}{}}0```{{{f{A`}}{f{{Cj{Cd{Ch{Cf}}}}}}{f{b{Cl{{Bb{An}}{Aj{{Bb{An}}}}}}}}l}n}{{{f{Cb}}{f{A`}}{f{bj}}l}n}{{{f{Cn}}{f{A`}}}D`}{{{f{{B`{An}}}}}{{Aj{{Bb{An}}}}}}{{{f{Cb}}{f{bAd}}}Af}{cc{}}0{{{f{Cb}}{f{A`}}{f{{B`{An}}}}}{{Aj{{Bd{{Bb{An}}}}}}}}{{{f{Cb}}{f{A`}}Cn}{{Aj{{Bb{An}}}}}}{ce{}{}}0{c{{Bf{e}}}{}{}}0{{{f{Cb}}{f{{B`{An}}}}{f{{B`{An}}}}}Ab}``{{{f{bCb}}{Dd{A`Db}}}n}``{{BnAnAnDf}Cb}{{{f{Cb}}{f{A`}}Db{f{bj}}l}n}{{{f{Cb}}}n}`{c{{Bj{e}}}{}{}}000{{{f{c}}}C`{}}0{{{f{Cb}}{f{A`}}Dh{f{bj}}}n}``99","D":"Eb","p":[[0,"mut"],[5,"FinalLedger",5],[1,"reference"],[5,"LedgerChanges",78],[8,"DBBatch",79],[1,"u32"],[1,"unit"],[6,"Address",80],[1,"bool"],[5,"Formatter",81],[8,"Result",81],[5,"Amount",82],[6,"Option",83],[5,"Bytecode",84],[1,"u8"],[1,"slice"],[5,"Vec",85],[5,"BTreeSet",86],[5,"Request",87],[6,"LedgerError",88],[6,"Result",89],[5,"LedgerConfig",90],[8,"ShareableMassaDBController",91],[5,"TypeId",92],[5,"LedgerDB",28],[5,"RawRwLock",93],[10,"MassaDBController",91],[5,"Box",94],[5,"RwLockReadGuard",95],[5,"BTreeMap",96],[6,"LedgerSubEntry",28],[5,"Key",97],[5,"LedgerEntry",98],[5,"HashMap",99],[1,"u64"],[5,"LedgerEntryUpdate",78]],"r":[[0,5]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACUADQAIAAEADAAAABMAAAAZAAMAIwABACYABwAvAAAAMQAAADgAAQA7AAEAPgABAEIABwBLAAMA"}],\ ["massa_logging",{"t":"QEE","n":["massa_trace","serde_json","tracing"],"q":[[0,"massa_logging"]],"i":[0,0,0],"f":"```","D":"d","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAEAEAAAAAIAAwA="}],\ ["massa_metrics",{"t":"FFFFFFFOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNOOOOOOOOHNOOONNNNNOOOOOOOONNNNNNNHNNNNNNHNNNNNNNNNNNNNNONOOOOOOOOOOOOOOOCNNNNNNNNHNNNNHHNNHNNNNHNNNNNONOOONNNNNNNNNNNNNNNNNNNNNNNNHH","n":["BLOCKS_COUNTER","DEFERRED_CALLS_TOTAL_GAS","DEFERRED_CALL_REGISTERED","ENDORSEMENTS_COUNTER","MassaMetrics","MetricsStopper","OPERATIONS_COUNTER","__private_field","__private_field","__private_field","__private_field","__private_field","active_cursor_period","active_cursor_thread","active_history","active_in_connections","active_out_connections","async_message_pool_size","block_cache_blocks_known_by_peer","block_cache_checked_headers_size","block_slot_delay","bootstrap_counter","bootstrap_peers_failed","bootstrap_peers_success","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","consensus_state_active_index","consensus_state_active_index_without_ops","consensus_state_block_statuses","consensus_state_discarded_index","consensus_state_incoming_index","consensus_vec","current_time_period","current_time_thread","dec_deferred_calls_registered","default","deferred_calls_executed","deferred_calls_failed","denunciations_pool","deref","deref","deref","deref","deref","enabled","endorsement_cache_checked_endorsements","endorsement_cache_known_by_peer","endorsements_pool","executed_final_slot","executed_final_slot_with_block","final_cursor_period","final_cursor_thread","from","from","from","from","from","from","from","get_deferred_calls_registered","get_metrics_for_survey_thread","inc_bootstrap_counter","inc_bootstrap_peers_failed","inc_bootstrap_peers_success","inc_deferred_calls_executed","inc_deferred_calls_failed","inc_deferred_calls_registered","inc_executed_final_slot","inc_executed_final_slot_with_block","inc_operations_final_counter","inc_protocol_tester_failed","inc_protocol_tester_success","inc_sc_messages_final_by","into","into","into","into","into","into","into","is_enabled","network_versions_votes","new","operation_cache_checked_operations","operation_cache_checked_operations_prefix","operation_cache_ops_know_by_peer","operations_final_counter","operations_pool","peernet_total_bytes_received","peernet_total_bytes_sent","peers_bandwidth","process_available_processors","protocol_banned_peers","protocol_known_peers","protocol_tester_failed","protocol_tester_success","rolls","sc_messages_final","server","set_active_connections","set_active_cursor","set_active_history","set_async_message_pool_size","set_available_processors","set_banned_peers","set_block_cache_metrics","set_block_slot_delay","set_blocks_counter","set_consensus_period","set_consensus_state","set_current_time_period","set_current_time_thread","set_deferred_calls_registered","set_deferred_calls_total_gas","set_denunciations_pool","set_endorsements_cache_metrics","set_endorsements_counter","set_endorsements_pool","set_final_cursor","set_known_peers","set_operations_cache_metrics","set_operations_counter","set_operations_pool","set_peernet_total_bytes_received","set_peernet_total_bytes_sent","set_rolls","set_stakers","stakers","stop","stop_handle","stopper","tick_delay","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_network_version_vote","update_peers_tx_rx","bind_metrics","serve_req"],"q":[[0,"massa_metrics"],[171,"massa_metrics::server"],[173,"prometheus::gauge"],[174,"core::net::socket_addr"],[175,"core::time"],[176,"core::result"],[177,"core::any"],[178,"std::collections::hash::map"],[179,"alloc::string"],[180,"hyper::body::body"],[181,"http::request"],[182,"http::response"],[183,"hyper::error"]],"i":[0,0,0,0,0,0,0,6,8,9,10,11,3,3,3,3,3,3,3,3,3,3,3,3,6,8,9,10,11,5,3,6,8,9,10,11,5,3,3,3,3,3,3,3,3,3,3,3,3,0,5,3,3,3,6,8,9,10,11,3,3,3,3,3,3,3,3,6,8,9,10,11,5,3,0,3,3,3,3,3,3,0,3,3,3,3,3,3,6,8,9,10,11,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,0,3,3,3,3,0,0,3,3,0,3,3,3,3,0,3,3,3,3,3,3,5,5,5,3,3,6,8,9,10,11,5,3,6,8,9,10,11,5,3,6,8,9,10,11,5,3,3,3,0,0],"f":"````````````````````````{{{b{c}}}{{b{e}}}{}{}}000000{{{b{dc}}}{{b{de}}}{}{}}000000{{{b{f}}}f}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}````````{{}h}{{}j}```{{{b{l}}}{{b{n}}}}{{{b{A`}}}{{b{n}}}}{{{b{Ab}}}{{b{n}}}}{{{b{Ad}}}{{b{n}}}}{{{b{Af}}}{{b{n}}}}````````{cc{}}000000{{}Ah}{{{b{f}}}{{Al{AhAhAjAj}}}}{{{b{f}}}h}0000:00{{{b{f}}Aj}h}11{{{b{f}}An}h}{ce{}{}}000000{{{b{f}}}B`}`{{B`BbBdBf}{{Al{fj}}}}````````````````{{{b{f}}AnAn}h}{{{b{f}}AjBd}h}55551{{{b{f}}Bh}h}{Anh}{{{b{f}}AnAj}h}{{{b{f}}AnAnAnAnAn}h}:{{{b{f}}Bd}h}3{Bjh};74;6;{{{b{f}}AnAnAn}h}5<==<<`{{{b{dj}}}h}```{{{b{c}}}e{}{}}{c{{Bl{e}}}{}{}}0000000000000{{{b{c}}}Bn{}}000000{{{b{f}}{Cb{C`Aj}}}h}{{{b{f}}{Cb{Cd{Al{AjAj}}}}}h}{Bbj}{{{Ch{Cf}}}{{Bl{{Cj{Cf}}Cl}}}}","D":"E`","p":[[1,"reference"],[0,"mut"],[5,"MassaMetrics",0],[1,"unit"],[5,"MetricsStopper",0],[5,"OPERATIONS_COUNTER",0],[8,"IntGauge",173],[5,"BLOCKS_COUNTER",0],[5,"ENDORSEMENTS_COUNTER",0],[5,"DEFERRED_CALL_REGISTERED",0],[5,"DEFERRED_CALLS_TOTAL_GAS",0],[1,"i64"],[1,"u64"],[1,"tuple"],[1,"usize"],[1,"bool"],[6,"SocketAddr",174],[1,"u8"],[5,"Duration",175],[1,"f64"],[1,"u128"],[6,"Result",176],[5,"TypeId",177],[1,"u32"],[5,"HashMap",178],[5,"String",179],[5,"Body",180],[5,"Request",181],[5,"Response",182],[5,"Error",183]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAIUADQABAA0AEgACABkAFQAwAAUANwAEAD0AAQBCAAEASwANAGAABQBqAAAAcQAdAJAAGgCsAAEA"}],\ -["massa_models",{"t":"CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCFONNONNNOONONNNNNOOONONNNNNSGFFFPGQFPQSSPGQFPQONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNONNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNOOONNNNNNNNSSFFFFTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNPPFFFGFPFPPPIPPNNNNNNNNNNNNNONNNNNNNOOONNNNNNONNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNOOONNNOOOONNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFIOOONNNNNNNNONNNNOOOONOOOONNOOOOOONNNNNNNNNOONNNNNNNNOONNNOOOONNOOOOOOONNNNNNNNNNNNNNNONNNNSGQFFFPQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNSFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNFFFOOOOONNNNNNNNNNNNNOOONNNNNNNNNNNONNNNNNNNNNNNNNNNNPPPPPFGGPFFPPNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOOOONNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNFOHCCOOOCOOOOOOFONNNNNNNONONNNNONNOOOONOONNNNNNSSSSFSSSSSSSSSSSSSSFFFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSFSSSSSSSSSFSSOOOOOONNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHIFFNNNNNNNNHNNNNOONNNNNNNNNOOONNSGQFFFPQNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPPFFFFGFGGFFGGFGPPPPPFFFFPPPTOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNNNNNNOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNOOOSSSFFFFGQFFPQFFIOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNPPPPPPPPPPPPPPPPPGIPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNOONNNNNOOOONONNNNNFFFFFFFFFOOOOOONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHSFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPSSFFGQFFFPQFFGQFFPQIFFFGFGFFFPPPPIPPOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNOOOOOONNNNONNONNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOONNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOFFONNNNONNNNNNNNOONNNNNNNNNNNNNNNNNNNNONNNNOOONONNONNNNNNNNNNNNIKFIIKNNNNNONNONNNNMNNNFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNKFKFFNNNNNNNONNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNMNNNNONNNNNNOMNNNONNNNONNNOONNNNNNNNNNNNNNNNNFFKFFFFKFFFFFFHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNOOOONNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHOOHHOOONNNNNNNNNNNNFSFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNOOONNNNONONNNNNNNNNNNNNNNNNNNONNNNFFFFOOONNNNNNNNONNNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNONNNNNNNNOOONNNNOOOONNNNNNNNNNNNNNNNNNNNNNNPPPGFFNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNOONNNHHHHHHKPPPPPPGFFGFFGFFPMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNN","n":["active_block","address","amount","block","block_header","block_id","bytecode","clique","composite","config","datastore","deferred_calls","denunciation","endorsement","error","execution","ledger","mapping_grpc","node","operation","output_event","prehash","rolls","secure_share","serialization","slot","stats","streaming_step","timeslots","types","version","ActiveBlock","block_id","borrow","borrow_mut","children","clone","clone_into","clone_to_uninit","creator_address","descendants","deserialize","fitness","fmt","from","from_ref","into","into_request","is_final","parents","same_thread_parent_creator","serialize","slot","to_owned","try_from","try_into","type_id","vzip","ADDRESS_PREFIX","Address","AddressDeserializer","AddressSerializer","ExecutionAddressCycleInfo","SC","SCAddress","SCAddress","SCAddressV0","SCAddressV0","SCAddressVariant","SC_PREFIX","USER_PREFIX","User","UserAddress","UserAddress","UserAddressV0","UserAddressV0","UserAddressVariant","active_rolls","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","cmp","cmp","cmp","compare","compare","compare","compare","compare","cycle","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_bytes","from_bytes","from_public_key","from_public_key","from_public_key","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_str","from_str_without_prefixed_type","from_str_without_prefixed_type","get_hash","get_hash","get_hash","get_hash","get_hash","get_thread","get_thread","get_thread","get_version","get_version","hash","hash","hash","hash","hash","hash_deserializer","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","is_final","new","new","nok_count","ok_count","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_prefixed_bytes","to_prefixed_bytes","to_prefixed_bytes","to_prefixed_bytes","to_prefixed_bytes","to_string","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_deserializer","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_serializer","version_deserializer","version_serializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","AMOUNT_DECIMAL_FACTOR","AMOUNT_DECIMAL_SCALE","Amount","AmountDeserializer","AmountSerializer","AmountVisitor","MAX","MIN","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","checked_add","checked_div","checked_div_u64","checked_mul_u64","checked_rem","checked_rem_u64","checked_sub","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","compare","const_init","default","default","deserialize","deserialize","eq","equivalent","equivalent","equivalent","equivalent","expecting","fmt","fmt","fmt","from","from","from","from","from_decimal","from_mantissa_scale","from_raw","from_ref","from_ref","from_ref","from_str","into","into","into","into","into_request","into_request","into_request","into_request","is_zero","new","new","partial_cmp","saturating_add","saturating_mul_u64","saturating_sub","serialize","serialize","to_decimal","to_mantissa_scale","to_owned","to_owned","to_owned","to_raw","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","u64_deserializer","u64_serializer","visit_str","vzip","vzip","vzip","vzip","zero","ActiveInAlternativeCliques","ActiveInBlockclique","Block","BlockDeserializer","BlockDeserializerArgs","BlockGraphStatus","BlockSerializer","Discarded","FilledBlock","Final","Incoming","NotFound","SecureShareBlock","WaitingForDependencies","WaitingForSlot","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bytes_count","chain_id","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","contains_operation","content","content_creator_address","content_creator_pub_key","default","deserialize","deserialize","deserialize","deserialize","deserialize","endorsement_count","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_ref","from_ref","get_fitness","header","header","header_deserializer","header_serializer","id","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","last_start_period","max_denunciations_per_block_header","max_operations_per_block","new","new","new_verifiable","op_ids_deserializer","op_ids_serializer","operations","operations","serialize","serialize","serialize","serialize","serialize","serialized_data","signature","thread_count","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","BlockHeader","BlockHeaderDenunciationData","BlockHeaderDeserializer","BlockHeaderSerializer","SecuredHeader","announced_version","block_id_deserializer","block_id_serializer","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_id","clone","clone_into","clone_to_uninit","compute_signed_hash","content","content_creator_address","content_creator_pub_key","current_version","default","denunciation_deserializer","denunciation_len_deserializer","denunciation_serializer","denunciations","deserialize","deserialize","endorsement_content_serializer","endorsement_count","endorsement_len_deserializer","endorsement_serializer","endorsement_serializer","endorsements","fmt","fmt","fmt","from","from","from","from","from_ref","get_fitness","hash_deserializer","id","into","into","into","into","into_request","into_request","into_request","into_request","last_start_period","network_versions_deserializer","new","new","new","operation_merkle_root","opt_deserializer","opt_serializer","parents","serialize","serialize","serialized_data","signature","slot","slot","slot_deserializer","slot_serializer","thread_count","to_bytes","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","u32_serializer","vzip","vzip","vzip","vzip","BLOCKID_PREFIX","BlockId","BlockId","BlockIdDeserializer","BlockIdSerializer","BlockIdV0","BlockIdV0","BlockIdVariant","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","compare","compare","default","default","deserialize","deserialize","deserialize","deserialize","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_str","from_str","get_first_bit","get_first_bit","get_hash","get_hash","get_hash","get_hash","get_version","get_version","hash","hash","hash_deserializer","into","into","into","into","into_request","into_request","into_request","into_request","new","new","new","partial_cmp","partial_cmp","serialize","serialize","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","version_deserializer","version_serializer","vzip","vzip","vzip","vzip","BYTECODE_VERSION","Bytecode","BytecodeDeserializer","BytecodeSerializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","default","default","deserialize","deserialize","eq","equivalent","equivalent","equivalent","equivalent","fmt","from","from","from","from_ref","into","into","into","into_request","into_request","into_request","new","new","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vec_u8_deserializer","vec_u8_serializer","version_byte_deserializer","version_byte_serializer","vzip","vzip","vzip","Clique","CliqueDeserializer","CliqueSerializer","block_id_deserializer","block_id_serializer","block_ids","block_ids_length_deserializer","block_ids_length_serializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","default","default","deserialize","deserialize","fitness","fitness_deserializer","fitness_serializer","fmt","from","from","from","from_ref","into","into","into","into_request","into_request","into_request","is_blockclique","new","new","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Active","Discarded","Discarded","InBlock","Incoming","OperationSearchResult","OperationSearchResultBlockStatus","OperationSearchResultStatus","Pending","PubkeySig","StakersCycleProductionStats","WaitingForDependencies","WaitingForSlot","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cycle","deserialize","deserialize","deserialize","deserialize","deserialize","extend","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","in_blocks","in_pool","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","is_final","ok_nok_counts","op","public_key","serialize","serialize","serialize","serialize","serialize","signature","status","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","CompactConfig","block_reward","build_massa_settings","compact_config","constants","delta_f0","end_timestamp","genesis_timestamp","massa_settings","max_block_size","operation_validity_periods","periods_per_cycle","roll_price","t0","thread_count","CompactConfig","block_reward","borrow","borrow_mut","clone","clone_into","clone_to_uninit","clone_to_uninit","default","delta_f0","deserialize","end_timestamp","fmt","fmt","from","from_ref","genesis_timestamp","into","into_request","max_block_size","operation_validity_periods","periods_per_cycle","roll_price","serialize","t0","thread_count","to_owned","to_string","try_from","try_into","type_id","vzip","ASYNC_MSG_CST_GAS_COST","BASE_OPERATION_GAS_COST","BLOCK_REWARD","BOOTSTRAP_RANDOMNESS_SIZE_BYTES","CHAINID","CHANNEL_SIZE","CONSENSUS_BOOTSTRAP_PART_SIZE","DEFERRED_CALL_BASE_FEE_MAX_CHANGE_DENOMINATOR","DEFERRED_CALL_CST_GAS_COST","DEFERRED_CALL_GLOBAL_OVERBOOKING_PENALTY","DEFERRED_CALL_MAX_ASYNC_GAS","DEFERRED_CALL_MAX_FUTURE_SLOTS","DEFERRED_CALL_MAX_POOL_CHANGES","DEFERRED_CALL_MIN_GAS_COST","DEFERRED_CALL_MIN_GAS_INCREMENT","DEFERRED_CALL_SLOT_OVERBOOKING_PENALTY","DELTA_F0","DENUNCIATION_EXPIRE_PERIODS","ENDORSEMENT_COUNT","END_TIMESTAMP","GENESIS_KEY","GENESIS_TIMESTAMP","HANDSHAKE_RANDOMNESS_SIZE_BYTES","INITIAL_DRAW_SEED","IP_LIST_MAX_SIZE","KEEP_EXECUTED_HISTORY_EXTRA_PERIODS","LEDGER_COST_PER_BYTE","LEDGER_ENTRY_BASE_COST","LEDGER_ENTRY_DATASTORE_BASE_SIZE","MAX_ADVERTISE_LENGTH","MAX_ASYNC_GAS","MAX_ASYNC_POOL_LENGTH","MAX_BLOCK_SIZE","MAX_BOOTSTRAP_ASYNC_POOL_CHANGES","MAX_BOOTSTRAP_BLOCKS","MAX_BOOTSTRAP_CHILDREN","MAX_BOOTSTRAP_CLIQUES","MAX_BOOTSTRAP_DEPS","MAX_BOOTSTRAP_ERROR_LENGTH","MAX_BOOTSTRAP_FINAL_STATE_PARTS_SIZE","MAX_BOOTSTRAP_MESSAGE_SIZE","MAX_BOOTSTRAP_MESSAGE_SIZE_BYTES","MAX_BOOTSTRAP_POS_CYCLES","MAX_BOOTSTRAP_VERSIONING_ELEMENTS_SIZE","MAX_BYTECODE_LENGTH","MAX_CONSENSUS_BLOCKS_IDS","MAX_DATASTORE_ENTRY_COUNT","MAX_DATASTORE_KEY_LENGTH","MAX_DATASTORE_VALUE_LENGTH","MAX_DEFERRED_CREDITS_LENGTH","MAX_DENUNCIATIONS_PER_BLOCK_HEADER","MAX_DENUNCIATION_CHANGES_LENGTH","MAX_DUPLEX_BUFFER_SIZE","MAX_ENDORSEMENTS_PER_MESSAGE","MAX_EVENT_DATA_SIZE","MAX_EVENT_PER_OPERATION","MAX_EXECUTED_OPS_CHANGES_LENGTH","MAX_EXECUTED_OPS_LENGTH","MAX_FUNCTION_NAME_LENGTH","MAX_GAS_PER_BLOCK","MAX_LEDGER_CHANGES_COUNT","MAX_LEDGER_CHANGES_PER_SLOT","MAX_LISTENERS_PER_PEER","MAX_MESSAGE_SIZE","MAX_OPERATIONS_PER_BLOCK","MAX_OPERATIONS_PER_MESSAGE","MAX_OPERATION_DATASTORE_ENTRY_COUNT","MAX_OPERATION_DATASTORE_KEY_LENGTH","MAX_OPERATION_DATASTORE_VALUE_LENGTH","MAX_OPERATION_STORAGE_TIME","MAX_PARAMETERS_SIZE","MAX_PEERS_IN_ANNOUNCEMENT_LIST","MAX_PRODUCTION_EVENTS_PER_BLOCK","MAX_PRODUCTION_STATS_LENGTH","MAX_RECURSIVE_CALLS_DEPTH","MAX_RNG_SEED_LENGTH","MAX_ROLLS_COUNT_LENGTH","MAX_RUNTIME_MODULE_CUSTOM_SECTION_DATA_LEN","MAX_RUNTIME_MODULE_CUSTOM_SECTION_LEN","MAX_RUNTIME_MODULE_DEFINED_FUNCTIONS","MAX_RUNTIME_MODULE_EXPORTS","MAX_RUNTIME_MODULE_FUNCTIONS","MAX_RUNTIME_MODULE_FUNCTION_ARGS","MAX_RUNTIME_MODULE_FUNCTION_IMPORTS","MAX_RUNTIME_MODULE_FUNCTION_NAME_LEN","MAX_RUNTIME_MODULE_FUNCTION_RETURN_VALUES","MAX_RUNTIME_MODULE_GLOBAL_INITIALIZER","MAX_RUNTIME_MODULE_IMPORTS","MAX_RUNTIME_MODULE_MEMORIES","MAX_RUNTIME_MODULE_MEMORY_IMPORTS","MAX_RUNTIME_MODULE_NAME_LEN","MAX_RUNTIME_MODULE_PASSIVE_DATA","MAX_RUNTIME_MODULE_PASSIVE_ELEMENT","MAX_RUNTIME_MODULE_SIGNATURE_LEN","MAX_RUNTIME_MODULE_TABLE","MAX_RUNTIME_MODULE_TABLE_INITIALIZER","MAX_SIZE_CHANNEL_COMMANDS_CONNECTIVITY","MAX_SIZE_CHANNEL_COMMANDS_PEERS","MAX_SIZE_CHANNEL_COMMANDS_PEER_TESTERS","MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_BLOCKS","MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_ENDORSEMENTS","MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_OPERATIONS","MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_BLOCKS","MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_ENDORSEMENTS","MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_OPERATIONS","MAX_SIZE_CHANNEL_NETWORK_TO_BLOCK_HANDLER","MAX_SIZE_CHANNEL_NETWORK_TO_ENDORSEMENT_HANDLER","MAX_SIZE_CHANNEL_NETWORK_TO_OPERATION_HANDLER","MAX_SIZE_CHANNEL_NETWORK_TO_PEER_HANDLER","MIP_STORE_STATS_BLOCK_CONSIDERED","NETWORK_CONTROLLER_CHANNEL_SIZE","NETWORK_EVENT_CHANNEL_SIZE","NETWORK_NODE_COMMAND_CHANNEL_SIZE","NETWORK_NODE_EVENT_CHANNEL_SIZE","NODE_SEND_CHANNEL_SIZE","OPERATION_VALIDITY_PERIODS","PERIODS_PER_CYCLE","POOL_CONTROLLER_DENUNCIATIONS_CHANNEL_SIZE","POOL_CONTROLLER_ENDORSEMENTS_CHANNEL_SIZE","POOL_CONTROLLER_OPERATIONS_CHANNEL_SIZE","POS_MISS_RATE_DEACTIVATION_THRESHOLD","POS_SAVED_CYCLES","PROTOCOL_CONTROLLER_CHANNEL_SIZE","PROTOCOL_EVENT_CHANNEL_SIZE","ROLL_COUNT_TO_SLASH_ON_DENUNCIATION","ROLL_PRICE","SELECTOR_DRAW_CACHE_SIZE","SIGNATURE_DESER_SIZE","T0","THREAD_COUNT","VERSION","VERSIONING_ACTIVATION_DELAY_MIN","VERSIONING_THRESHOLD_TRANSITION_ACCEPTED","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","deref","deref","from","from","from","from","from","from","get_period_from_args","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","build_massa_settings","Datastore","DatastoreDeserializer","DatastoreSerializer","borrow","borrow","borrow_mut","borrow_mut","default","deserialize","from","from","get_prefix_bounds","into","into","into_request","into_request","key_deserializer","length_deserializer","new","new","serialize","try_from","try_from","try_into","try_into","type_id","type_id","u64_serializer","value_deserializer","vec_u8_serializer","vzip","vzip","DEFERRED_CALL_ID_PREFIX","DeferredCallId","DeferredCallId","DeferredCallIdDeserializer","DeferredCallIdSerializer","DeferredCallIdV0","DeferredCallIdV0","DeferredCallIdVariant","as_bytes","as_bytes","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bytes_deserializer","bytes_serializer","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","compare","compare","default","default","deserialize","deserialize","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","from","from","from","from","from_bytes","from_bytes","from_ref","from_ref","from_ref","from_ref","from_str","get_hash","get_hash","get_slot","hash","hash","into","into","into","into","into_request","into_request","into_request","into_request","new","new","new","partial_cmp","partial_cmp","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","BlockHeader","BlockHeader","BlockHeader","BlockHeader","BlockHeader","BlockHeaderDenunciation","BlockHeaderDenunciationDeserializer","BlockHeaderDenunciationPrecursor","BlockHeaderDenunciationSerializer","Denunciation","DenunciationDeserializer","DenunciationError","DenunciationIndex","DenunciationIndexDeserializer","DenunciationIndexSerializer","DenunciationIndexTypeId","DenunciationPrecursor","DenunciationSerializer","DenunciationTypeId","Endorsement","Endorsement","Endorsement","Endorsement","Endorsement","EndorsementDenunciation","EndorsementDenunciationDeserializer","EndorsementDenunciationPrecursor","EndorsementDenunciationSerializer","InvalidInput","Serialization","Signature","VARIANT_COUNT","blkh_de_deserializer","blkh_de_serializer","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","compare","compute_hash_for_sig_verif","compute_hash_for_sig_verif","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","endo_de_deserializer","endo_de_serializer","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","get_hash","get_hash","get_hash_1","get_hash_1","get_hash_2","get_hash_2","get_index","get_index","get_index","get_public_key","get_public_key","get_public_key","get_public_key","get_signature_1","get_signature_1","get_signature_2","get_signature_2","get_slot","get_slot","get_slot","get_slot","get_slot","hash","hash","hash","hash_1","hash_1","hash_2","hash_2","hash_deserializer","hash_deserializer","hash_serializer","hash_serializer","id_deserializer","index","index","index_deserializer","index_deserializer","index_serializer","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","is_also_for_block_header","is_also_for_endorsement","is_expired","is_for_block_header","is_for_endorsement","is_valid","new","new","new","new","new","new","new","new","partial_cmp","pubkey_deserializer","pubkey_deserializer","public_key","public_key","public_key","public_key","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","signature","signature","signature_1","signature_1","signature_2","signature_2","signature_deserializer","signature_deserializer","slot","slot","slot","slot","slot_deserializer","slot_deserializer","slot_deserializer","slot_serializer","slot_serializer","slot_serializer","source","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_from_primitive","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id_deserializer","type_id_serializer","u32_serializer","u32_serializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","index","slot","slot","ENDORSEMENTID_PREFIX","ENDORSEMENTID_VERSION","ENDORSEMENT_ID_SIZE_BYTES","Endorsement","EndorsementDenunciationData","EndorsementDeserializer","EndorsementDeserializerLW","EndorsementId","EndorsementId","EndorsementIdDeserializer","EndorsementIdV0","EndorsementIdV0","EndorsementIdVariant","EndorsementSerializer","EndorsementSerializerLW","SecureShareEndorsement","block_id_deserializer","block_id_serializer","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","compare","compare","compute_signed_hash","content","content_creator_address","content_creator_pub_key","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","endorsed_block","endorsed_block","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_str","from_str","get_hash","get_hash","get_hash","get_hash","hash","hash","hash_deserializer","id","index","index","index_deserializer","index_deserializer","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","new","new","new","new","new","new","new","partial_cmp","partial_cmp","serialize","serialize","serialize","serialize","serialize","serialized_data","signature","slot","slot","slot","slot_deserializer","slot_serializer","to_bytes","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","u32_serializer","u32_serializer","version_deserializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","AddressParseError","AmountOverflowError","AmountParseError","BlockIdParseError","BufferError","CheckedOperationError","DeferredCallIdParseError","DeserializeError","EndorsementIdParseError","Err","ErrorRaised","HashError","InvalidLedgerChange","InvalidRollUpdate","InvalidVersionError","MassaHashError","MassaSignatureError","ModelsError","ModelsResult","NodeIdParseError","Ok","OperationIdParseError","OperationPrefixJoinError","OutdatedBootstrapCursor","PeriodOverflowError","SerializationError","SerializeError","ThreadOverflowError","TimeError","TimeOverflowError","WrongPrefix","borrow","borrow_mut","clone","clone_into","clone_to_uninit","fmt","fmt","from","from","from","from","from","from","from","from_ref","into","into_request","source","to_owned","to_string","try_from","try_into","type_id","vzip","EventFilter","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deserialize","emitter_address","end","fmt","from","from_ref","into","into_request","is_error","is_final","original_caller_address","original_operation_id","serialize","start","to_owned","try_from","try_into","type_id","vzip","LedgerChange","LedgerChangeDeserializer","LedgerChangeSerializer","LedgerChanges","LedgerChangesDeserializer","LedgerChangesSerializer","LedgerData","LedgerDataDeserializer","LedgerDataSerializer","address_deserializer","address_serializer","amount_deserializer","amount_deserializer","amount_serializer","amount_serializer","apply","apply_change","balance","balance_delta","balance_increment","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","chain","clone","clone","clone","clone_into","clone_into","clone_into","clone_subset","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","default","default","default","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","get_involved_addresses","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","is_nil","is_nil","ledger_change_deserializer","ledger_change_serializer","length_deserializer","length_serializer","new","new","new","new","new","new","new","serialize","serialize","serialize","serialize","serialize","serialize","sync_from","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","to_denunciation_index","NODEID_PREFIX","NodeId","borrow","borrow_mut","clone","clone_into","clone_to_uninit","clone_to_uninit","cmp","compare","deserialize","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from_ref","from_str","get_hash","get_public_key","hash","into","into_request","new","partial_cmp","serialize","to_owned","to_string","try_from","try_into","type_id","vzip","CallSC","CallSC","ExecuteSC","ExecuteSC","OPERATIONID_PREFIX","OPERATION_ID_PREFIX_SIZE_BYTES","Operation","OperationDeserializer","OperationId","OperationId","OperationIdDeserializer","OperationIdSerializer","OperationIdV0","OperationIdV0","OperationIdVariant","OperationIdsDeserializer","OperationIdsSerializer","OperationPrefixId","OperationPrefixId","OperationPrefixIdDeserializer","OperationPrefixIdV0","OperationPrefixIdV0","OperationPrefixIdVariant","OperationPrefixIds","OperationPrefixIdsDeserializer","OperationPrefixIdsSerializer","OperationSerializer","OperationType","OperationTypeDeserializer","OperationTypeId","OperationTypeSerializer","OperationsDeserializer","OperationsSerializer","RollBuy","RollBuy","RollSell","RollSell","SecureShareOperation","Transaction","Transaction","address_deserializer","address_serializer","amount_deserializer","amount_deserializer","amount_serializer","amount_serializer","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","cmp","cmp","compare","compare","compare","compare","compute_hash","compute_operations_hash","content","content_creator_address","content_creator_pub_key","data_deserializer","datastore_deserializer","datastore_serializer","default","default","default","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","expire_period","expire_period_deserializer","fee","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_str","from_str","function_name_deserializer","function_name_serializer","get_gas_usage","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","get_ledger_involved_addresses","get_max_spending","get_roll_involved_addresses","get_validity_range","get_version","get_version","hash","hash","hash","hash","hash_deserializer","id","id_deserializer","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_prefix","into_prefix","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","length_deserializer","length_deserializer","length_deserializer","max_gas_deserializer","new","new","new","new","new","new","new","new","new","new","new","new","new","new","op","op_id_deserializer","op_id_serializer","op_type_deserializer","op_type_serializer","parameter_deserializer","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pref_deserializer","prefix","prefix","rolls_number_deserializer","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialized_data","signature","signed_op_deserializer","signed_op_serializer","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","u32_serializer","u32_serializer","u32_serializer","u32_serializer","u64_serializer","u64_serializer","vec_u8_serializer","version_deserializer","version_serializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","amount","coins","data","datastore","max_coins","max_gas","max_gas","param","recipient_address","roll_count","roll_count","target_addr","target_func","EventExecutionContext","SCOutputEvent","block","borrow","borrow","borrow_mut","borrow_mut","call_stack","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","cmp","compare","context","data","deserialize","deserialize","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from_ref","from_ref","index_in_slot","into","into","into_request","into_request","is_error","is_final","origin_operation_id","partial_cmp","read_only","serialize","serialize","slot","to_owned","to_owned","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","BuildHashMapper","CapacityAllocator","HashMapper","PreHashMap","PreHashSet","PreHashed","borrow","borrow_mut","default","finish","from","hash","into","into_request","source","try_from","try_into","type_id","vzip","with_capacity","with_capacity","with_capacity","write","RollCompensation","RollCounts","RollUpdate","RollUpdateDeserializer","RollUpdateSerializer","RollUpdates","apply","apply_updates","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","chain","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_subset","clone_subset","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","compensate","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","get_involved_addresses","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","is_empty","is_nil","len","new","new","new","roll_purchases","roll_sales","serialize","serialize","serialize","serialize","serialize","sync_from","sync_from","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","u64_deserializer","u64_serializer","vzip","vzip","vzip","vzip","vzip","vzip","Id","SecureShare","SecureShareContent","SecureShareDeserializer","SecureShareSerializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","bytes_count","chain_id","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","compute_hash","compute_signed_hash","compute_signed_hash","contains_operation","content","content_creator_address","content_creator_pub_key","content_deserializer","default","deserialize","deserialize","deserialize","deserialize_with","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from_ref","from_ref","get_fitness","get_fitness","get_gas_usage","get_hash","get_ledger_involved_addresses","get_max_spending","get_roll_involved_addresses","get_validity_range","id","into","into","into","into_request","into_request","into_request","marker_t","new","new","new","new_verifiable","public_key_deserializer","serialize","serialize","serialize","serialize_with","serialized_data","serialized_size","sign","sign","signature","signature_deserializer","to_owned","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify_signature","verify_signature","vzip","vzip","vzip","BitVecDeserializer","BitVecSerializer","DeserializeMinBEInt","IpAddrDeserializer","IpAddrSerializer","PreHashSetDeserializer","PreHashSetSerializer","SerializeMinBEInt","StringDeserializer","StringSerializer","VecDeserializer","VecSerializer","VecU8Deserializer","VecU8Serializer","array_from_slice","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","data_deserializer","data_deserializer","data_serializer","data_serializer","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","from","from","from","from","from","from","from","from","from","from","from","from","from_be_bytes_min","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","into","into","into","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","len_serializer","len_serializer","len_serializer","length_deserializer","length_serializer","marker_l","marker_l","new","new","new","new","new","new","new","new","new","new","new","new","phantom_t","phantom_t","phantom_t","phantom_t","serialize","serialize","serialize","serialize","serialize","serialize","to_be_bytes_min","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","u32_be_bytes_min_length","u32_deserializer","u32_serializer","u64_be_bytes_min_length","u8_from_slice","varint_u64_deserializer","varint_u64_deserializer","varint_u64_deserializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","IndexedSlot","SLOT_KEY_SIZE","Slot","SlotDeserializer","SlotSerializer","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","compare","default","deserialize","deserialize","deserialize","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","from_bytes_key","from_ref","from_ref","from_ref","from_ref","from_str","get_cycle","get_first_bit","get_hash","get_hash","get_next_slot","get_prev_slot","hash","hash","index","into","into","into","into","into_request","into_request","into_request","into_request","is_first_of_cycle","is_last_of_cycle","max","min","new","new","new","new_first_of_cycle","new_last_of_cycle","partial_cmp","period","period_deserializer","range_thread","serialize","serialize","serialize","skip","slot","slots_since","thread","to_bytes_key","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","u64_serializer","vzip","vzip","vzip","vzip","ConsensusStats","ExecutionStats","NetworkStats","PoolStats","active_cursor","active_node_count","banned_peer_count","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clique_count","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","deserialize","deserialize","deserialize","deserialize","end_timespan","endorsement_count","final_block_count","final_block_count","final_cursor","final_executed_operations_count","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from_ref","from_ref","from_ref","in_connection_count","into","into","into","into","into_request","into_request","into_request","into_request","known_peer_count","operation_count","out_connection_count","serialize","serialize","serialize","serialize","stale_block_count","start_timespan","time_window_end","time_window_start","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Finished","Ongoing","Started","StreamingStep","StreamingStepDeserializer","StreamingStepSerializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","clone_to_uninit","data_deser","data_serializer","deserialize","eq","equivalent","equivalent","equivalent","equivalent","finished","fmt","from","from","from","from_ref","into","into","into","into_request","into_request","into_request","new","new","opt_deser","option_serializer","phantom_t","phantom_t","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","u64_deser","u64_serializer","vzip","vzip","vzip","get_block_slot_timestamp","get_closest_slot_to_timestamp","get_current_latest_block_slot","get_latest_block_slot_at_timestamp","slot_count_in_range","time_range_to_slot_range","Applicable","Delete","Delete","Keep","Set","Set","Set","SetOrDelete","SetOrDeleteDeserializer","SetOrDeleteSerializer","SetOrKeep","SetOrKeepDeserializer","SetOrKeepSerializer","SetUpdateOrDelete","SetUpdateOrDeleteDeserializer","SetUpdateOrDeleteSerializer","Update","apply","apply","apply","apply","apply_to","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","inner_deserializer","inner_deserializer","inner_deserializer_set","inner_deserializer_update","inner_serializer","inner_serializer","inner_serializer_set","inner_serializer_update","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","new","new","new","new","new","new","phantom_t","phantom_t","phantom_t","phantom_t","phantom_t","phantom_t","phantom_v","phantom_v","serialize","serialize","serialize","serialize","serialize","serialize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","INSTANCE_LEN","Version","VersionDeserializer","VersionSerializer","VersionVisitor","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","default","default","deserialize","deserialize","eq","equivalent","equivalent","equivalent","equivalent","expecting","fmt","fmt","fmt","from","from","from","from","from_ref","from_ref","from_ref","from_str","instance","into","into","into","into","into_request","into_request","into_request","into_request","is_compatible","major","minor","new","new","serialize","serialize","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","u32_deserializer","u32_serializer","visit_str","vzip","vzip","vzip","vzip"],"q":[[0,"massa_models"],[31,"massa_models::active_block"],[58,"massa_models::address"],[306,"massa_models::amount"],[410,"massa_models::block"],[536,"massa_models::block_header"],[631,"massa_models::block_id"],[746,"massa_models::bytecode"],[800,"massa_models::clique"],[853,"massa_models::composite"],[963,"massa_models::config"],[978,"massa_models::config::compact_config"],[1010,"massa_models::config::constants"],[1210,"massa_models::config::massa_settings"],[1211,"massa_models::datastore"],[1243,"massa_models::deferred_calls"],[1348,"massa_models::denunciation"],[1742,"massa_models::denunciation::DenunciationIndex"],[1745,"massa_models::endorsement"],[1948,"massa_models::error"],[2003,"massa_models::execution"],[2029,"massa_models::ledger"],[2187,"massa_models::mapping_grpc"],[2188,"massa_models::node"],[2223,"massa_models::operation"],[2676,"massa_models::operation::OperationType"],[2689,"massa_models::output_event"],[2752,"massa_models::prehash"],[2775,"massa_models::rolls"],[2894,"massa_models::secure_share"],[2986,"massa_models::serialization"],[3223,"massa_models::slot"],[3341,"massa_models::stats"],[3434,"massa_models::streaming_step"],[3492,"massa_models::timeslots"],[3498,"massa_models::types"],[3669,"massa_models::version"],[3752,"core::result"],[3753,"serde::de"],[3754,"core::fmt"],[3755,"tonic::request"],[3756,"serde::ser"],[3757,"core::any"],[3758,"core::cmp"],[3759,"nom::internal"],[3760,"nom::error"],[3761,"massa_signature::signature_impl"],[3762,"core::hash"],[3763,"core::marker"],[3764,"core::option"],[3765,"alloc::vec"],[3766,"massa_serialization"],[3767,"alloc::string"],[3768,"rust_decimal::decimal"],[3769,"core::ops::range"],[3770,"massa_hash::hash"],[3771,"massa_time"],[3772,"num_rational"],[3773,"alloc::collections::btree::map"],[3774,"massa_signature::error"],[3775,"core::error"],[3776,"num_enum"],[3777,"massa_hash::error"],[3778,"massa_time::error"],[3779,"massa_proto_rs::massa::model::v1"],[3780,"core::clone"],[3781,"core::convert"],[3782,"nom::traits"],[3783,"core::net::ip_addr"],[3784,"bitvec::vec"],[3785,"core::default"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,12,0,0,0,13,0,0,0,12,0,0,0,15,0,19,12,13,14,15,16,17,18,19,12,13,14,15,16,17,18,19,12,13,14,15,16,17,18,19,12,13,14,15,16,17,18,19,12,12,13,13,14,14,15,15,16,16,17,18,19,12,13,14,15,16,12,13,14,15,16,19,17,18,12,18,18,18,18,18,19,12,13,14,15,16,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,12,12,13,14,15,16,19,12,13,14,15,16,17,18,19,14,16,12,15,16,12,13,14,15,16,17,18,19,12,13,15,12,13,14,15,16,12,15,16,14,16,12,13,14,15,16,18,12,13,14,15,16,17,18,19,12,13,14,15,16,17,18,19,19,17,18,19,19,12,13,14,15,16,12,13,14,15,16,17,17,17,17,17,19,12,13,14,15,16,17,18,19,12,13,14,15,16,12,13,14,15,16,12,13,14,15,16,17,18,19,12,13,14,15,16,17,18,19,18,12,13,14,15,16,17,18,19,17,18,17,12,13,14,15,16,17,18,19,0,0,0,0,0,0,40,40,44,40,41,42,44,40,41,42,40,40,40,40,40,40,40,40,41,42,40,41,42,40,40,41,42,40,40,40,40,41,40,42,40,40,40,40,40,44,44,40,40,44,40,41,42,40,40,40,40,41,42,40,44,40,41,42,44,40,41,42,40,41,42,40,40,40,40,40,41,40,40,40,41,42,40,40,44,40,41,42,44,40,41,42,44,40,41,42,42,41,44,44,40,41,42,40,62,62,0,0,0,0,0,62,0,62,62,62,0,62,62,54,63,55,51,52,62,54,63,55,51,52,62,50,63,51,52,51,52,51,52,50,50,50,50,54,55,51,51,52,62,63,62,62,62,62,62,51,51,52,62,54,63,55,51,52,62,51,52,50,51,52,55,54,50,54,63,55,51,52,62,54,63,55,51,52,62,63,63,63,54,55,51,55,54,51,52,54,51,51,52,62,50,50,63,51,52,51,54,63,55,51,52,62,54,63,55,51,52,62,54,63,55,51,52,62,54,63,55,51,52,62,0,0,0,0,0,66,69,68,68,69,66,70,68,69,66,70,69,66,66,66,66,71,71,71,66,68,69,69,68,66,69,66,68,69,69,68,69,66,66,66,70,68,69,66,70,66,71,69,71,68,69,66,70,68,69,66,70,69,69,68,69,70,66,69,68,66,68,66,71,71,66,70,69,68,69,70,66,66,68,69,66,70,68,69,66,70,68,69,66,70,68,68,69,66,70,0,0,0,0,0,0,73,0,73,74,75,76,73,74,75,76,73,74,75,76,73,74,75,76,73,73,74,74,75,76,73,74,73,74,75,76,73,74,76,76,73,74,73,73,73,73,74,74,74,74,73,73,74,73,74,75,76,73,74,75,76,73,74,73,74,73,73,74,74,73,74,73,74,76,73,74,75,76,73,74,75,76,73,75,76,73,74,73,74,75,75,73,74,75,76,73,74,73,74,75,76,73,74,75,76,73,74,75,76,76,75,73,74,75,76,0,0,0,0,79,77,78,79,77,78,77,77,77,77,78,79,77,77,77,77,77,77,77,79,77,78,77,79,77,78,79,77,78,79,78,77,78,77,79,77,78,79,77,78,79,77,78,79,78,79,78,79,77,78,0,0,0,82,81,80,82,81,82,80,81,82,80,81,80,80,80,80,81,82,80,80,82,81,80,82,80,81,80,82,80,81,82,80,81,80,82,81,80,81,80,82,80,81,82,80,81,82,80,81,82,80,81,83,83,84,84,83,0,0,0,84,0,0,83,83,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,86,83,84,85,86,87,85,83,84,85,86,87,87,83,84,85,86,87,83,84,85,86,87,85,85,83,84,85,86,87,83,84,85,86,87,86,86,85,87,83,84,85,86,87,87,85,83,84,85,86,87,87,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,0,89,0,0,0,89,89,89,0,89,89,89,89,89,89,0,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,92,93,94,96,98,90,92,93,94,96,98,90,92,93,94,96,98,90,92,93,94,96,98,90,92,93,94,96,98,0,90,92,93,94,96,98,90,92,93,94,96,98,90,92,93,94,96,98,90,92,93,94,96,98,90,92,93,94,96,98,90,92,93,94,96,98,0,0,0,0,100,99,100,99,99,100,100,99,0,100,99,100,99,100,100,100,99,99,100,99,100,99,100,99,99,100,99,100,99,0,0,0,0,0,0,102,0,102,103,102,103,104,105,102,103,104,105,105,104,102,103,104,105,102,103,104,105,102,103,104,105,102,103,102,103,104,105,102,105,102,103,102,102,102,102,103,103,103,103,102,102,103,102,103,104,105,102,103,102,103,104,105,102,102,103,102,102,103,102,103,104,105,102,103,104,105,102,104,105,102,103,102,104,102,103,104,105,102,102,103,104,105,102,103,104,105,102,103,104,105,102,103,104,105,108,122,109,121,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,122,109,121,114,0,0,0,0,123,123,123,122,120,117,115,118,116,119,117,120,106,107,108,122,123,109,121,110,111,112,113,114,115,118,116,119,117,120,106,107,108,122,123,109,121,110,111,112,113,114,106,107,108,109,110,111,112,113,114,106,107,108,109,110,111,112,113,114,106,107,108,109,109,110,111,112,113,114,109,109,106,107,115,116,117,110,118,119,120,106,107,108,109,111,120,117,106,107,108,109,121,112,113,114,109,109,109,109,121,121,121,121,106,107,108,122,123,123,109,121,112,113,114,115,118,116,119,117,120,106,107,108,122,122,123,123,123,109,109,109,121,121,110,111,112,113,114,114,114,106,107,108,109,110,111,112,113,114,109,109,106,107,106,107,106,108,109,106,107,108,114,106,107,106,107,106,107,108,109,114,109,112,113,106,107,106,107,118,119,115,116,111,106,112,118,111,110,115,118,116,119,117,120,106,107,108,122,123,109,121,110,111,112,113,114,115,118,116,119,117,120,106,107,108,122,123,109,121,110,111,112,113,114,108,108,108,108,108,108,115,118,116,119,117,120,110,111,109,118,119,106,107,112,113,115,116,117,106,107,108,109,110,112,113,106,107,106,107,118,119,106,107,112,113,118,119,111,115,116,110,123,106,107,108,109,110,111,112,113,114,123,115,118,116,119,117,120,106,107,108,108,108,108,122,122,123,109,121,121,110,111,112,113,114,122,121,115,118,116,119,117,120,106,107,108,122,123,109,121,110,111,112,113,114,115,118,116,119,117,120,106,107,108,122,123,109,121,110,111,112,113,114,120,117,115,110,115,118,116,119,117,120,106,107,108,122,123,109,121,110,111,112,113,114,244,245,244,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,134,131,133,134,132,135,128,129,130,131,136,133,134,132,135,128,129,130,131,136,128,129,130,131,128,129,130,131,128,128,129,129,130,131,128,129,128,129,130,125,125,125,132,131,133,133,134,135,128,129,130,135,130,128,129,130,128,128,128,128,129,129,129,129,130,130,130,130,128,128,129,130,130,136,133,134,132,135,128,129,130,131,136,128,129,130,131,128,129,128,128,129,129,128,129,133,125,130,136,134,135,133,134,132,135,128,129,130,131,136,133,134,132,135,128,129,130,131,136,133,134,132,135,128,131,136,128,129,132,128,129,130,131,125,125,135,130,136,134,131,136,128,129,130,131,128,129,130,133,134,132,135,128,129,130,131,136,133,134,132,135,128,129,130,131,136,133,134,132,135,128,129,130,131,136,132,131,133,133,134,132,135,128,129,130,131,136,27,27,27,27,27,27,27,27,27,144,27,27,27,27,27,27,27,0,0,27,144,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,0,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,152,149,147,148,150,151,142,145,145,143,143,147,148,149,152,145,150,143,151,142,147,148,149,152,145,150,143,151,142,143,142,145,143,142,145,143,142,142,145,145,143,142,147,148,149,145,150,143,151,142,147,148,152,145,143,142,145,143,142,147,148,149,152,145,150,143,151,142,145,143,142,142,147,148,149,152,145,150,143,151,142,147,148,149,152,145,150,143,151,142,145,143,152,149,152,149,147,148,149,152,145,150,151,149,145,150,143,151,142,142,145,143,142,147,148,149,152,145,150,143,151,142,147,148,149,152,145,150,143,151,142,147,148,149,152,145,150,143,151,142,147,148,149,152,145,150,143,151,142,0,0,0,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,175,162,175,162,0,0,0,0,0,0,0,0,0,155,0,0,0,0,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,175,162,175,162,0,175,162,170,166,169,170,165,166,165,169,166,170,167,171,172,174,155,156,157,158,159,160,175,161,162,168,163,164,165,169,166,170,167,171,172,174,155,156,157,158,159,160,175,161,162,168,163,164,155,156,157,158,159,160,161,162,163,164,155,156,157,158,159,160,161,162,163,164,155,155,156,156,157,157,158,158,159,160,161,162,163,164,155,156,157,158,155,156,157,158,161,0,53,53,53,170,170,166,165,166,167,159,160,168,163,164,169,170,171,172,174,155,156,157,158,160,160,161,162,168,155,156,157,158,175,162,155,155,155,155,156,156,156,156,157,157,157,157,158,158,158,158,175,175,175,175,161,169,161,155,155,156,156,157,157,158,158,175,161,161,162,162,165,169,166,170,167,171,172,174,155,156,157,157,158,159,160,175,161,162,168,163,164,155,156,157,158,159,160,161,162,163,164,155,156,170,166,53,155,155,156,156,157,158,53,53,53,53,155,156,155,156,157,158,160,53,170,165,169,166,170,167,171,172,174,155,156,157,158,159,160,175,161,162,168,163,164,155,156,165,169,166,170,167,171,172,174,155,156,157,158,159,160,175,161,162,168,163,164,171,172,174,170,165,169,166,170,167,171,172,174,155,159,160,168,163,164,161,171,167,169,165,170,155,156,157,158,172,155,156,170,165,166,167,155,156,157,158,159,159,161,162,163,164,53,53,174,164,155,156,157,158,159,160,161,162,163,164,155,156,157,158,161,162,165,169,166,170,167,171,172,174,155,156,157,158,159,160,175,175,161,162,168,163,164,175,165,169,166,170,167,171,172,174,155,156,157,158,159,160,175,161,162,168,163,164,165,169,166,170,167,171,172,174,155,156,157,158,159,160,175,161,162,168,163,164,166,167,163,164,165,166,166,160,159,165,169,166,170,167,171,172,174,155,156,157,158,159,160,175,161,162,168,163,164,246,247,248,248,248,248,247,247,246,249,250,247,247,0,0,180,179,180,179,180,180,179,180,179,180,179,180,179,179,179,179,179,180,179,180,179,179,179,179,180,180,180,180,179,179,180,180,179,180,179,180,180,179,180,179,180,180,180,180,179,180,179,180,180,179,180,179,180,179,180,179,180,179,180,179,180,0,0,0,0,0,0,181,181,181,181,181,181,181,181,181,181,181,181,181,184,185,146,181,0,0,0,0,0,0,186,189,190,191,188,187,186,189,190,191,188,187,186,189,187,186,188,187,186,189,188,187,186,189,186,189,188,188,187,186,189,187,190,191,186,189,191,188,187,186,189,188,187,186,189,190,191,188,187,186,189,188,187,186,189,186,190,191,188,187,186,189,190,191,188,187,186,189,189,187,189,190,191,189,187,187,190,188,187,186,189,186,189,188,187,186,189,190,191,188,187,186,189,190,191,188,187,186,189,190,191,188,187,186,189,191,190,190,191,188,187,186,189,0,0,0,0,0,196,59,195,196,59,195,59,196,59,195,59,195,59,195,193,193,59,59,59,59,59,196,195,193,196,59,196,59,59,59,59,59,59,59,196,59,195,59,195,59,59,59,61,59,59,59,59,59,196,59,195,196,59,195,196,61,196,195,193,196,193,59,195,195,59,59,193,59,59,196,59,195,59,196,59,195,196,59,195,196,59,195,193,59,196,59,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,205,207,204,206,200,201,202,212,213,201,203,205,207,210,213,200,201,202,203,204,205,206,207,208,210,212,213,217,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,202,204,206,210,208,208,210,200,201,202,203,204,205,206,207,208,210,212,213,204,205,206,207,200,202,204,206,208,212,218,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,0,213,212,0,0,203,205,207,200,201,202,203,204,205,206,207,208,210,212,213,0,0,0,0,0,72,219,220,221,72,219,220,221,72,219,220,221,72,219,220,221,72,72,219,220,221,72,72,219,72,220,221,72,221,72,72,72,72,221,221,221,221,72,72,221,221,72,72,219,220,221,72,72,219,220,221,72,72,72,72,221,72,72,72,221,221,72,219,220,221,72,219,220,221,72,72,72,72,72,219,220,72,72,72,72,220,220,72,219,221,72,221,72,72,72,72,219,220,221,72,221,72,219,220,221,72,219,220,221,72,219,220,221,219,72,219,220,221,0,0,0,0,223,224,224,223,224,225,226,223,224,225,226,225,223,224,225,223,224,225,223,224,225,223,224,225,226,225,226,223,225,223,223,223,223,224,224,225,225,226,226,223,224,225,226,223,224,225,224,223,224,225,226,223,224,225,226,224,226,224,223,224,225,226,225,225,223,223,223,224,225,223,224,225,226,223,224,225,226,223,224,225,226,223,224,225,226,223,224,225,226,227,227,227,0,0,0,229,228,227,229,228,227,227,227,227,227,228,229,228,227,227,227,227,227,227,227,229,228,227,227,229,228,227,229,228,227,229,228,228,229,229,228,229,227,229,228,227,229,228,227,229,228,227,228,229,229,228,227,0,0,0,0,0,0,0,231,233,234,231,233,234,0,0,0,0,0,0,0,0,0,231,230,231,233,234,234,235,238,236,239,237,240,231,233,234,235,238,236,239,237,240,231,233,234,231,233,234,231,233,234,231,233,234,234,235,236,237,231,233,234,231,233,234,231,231,231,231,233,233,233,233,234,234,234,234,231,233,234,235,238,236,239,237,240,231,233,234,231,233,234,236,237,235,235,239,240,238,238,235,238,236,239,237,240,231,233,234,235,238,236,239,237,240,231,233,234,235,238,236,239,237,240,235,238,236,239,237,240,235,238,238,239,240,231,233,234,231,233,234,235,238,236,239,237,240,231,233,234,235,238,236,239,237,240,231,233,234,235,238,236,239,237,240,231,233,234,235,238,236,239,237,240,231,233,234,0,0,0,0,0,243,97,241,242,243,97,241,242,97,241,242,97,241,242,97,97,241,242,241,242,97,242,97,97,97,97,97,243,243,97,97,243,97,241,242,97,241,242,97,97,243,97,241,242,243,97,241,242,97,97,97,241,242,97,241,97,241,242,97,243,97,241,242,243,97,241,242,243,97,241,242,242,241,243,243,97,241,242],"f":"`````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{{{b{f}}}f}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}``{c{{j{f}}}l}`{{{b{f}}{b{dn}}}A`}{cc{}}{{{b{c}}}c{}}{ce{}{}}{c{{Ab{e}}}{}{}}```{{{b{f}}c}jAd}`{{{b{c}}}e{}{}}{c{{j{e}}}{}{}}0{{{b{c}}}Af{}}5````````````````````>>>>>>>>========{{{b{Ah}}}Ah}{{{b{Aj}}}Aj}{{{b{Al}}}Al}{{{b{An}}}An}{{{b{B`}}}B`}{{{b{Bb}}}Bb}{{{b{Bd}}}Bd}{{{b{Bf}}}Bf}{{{b{c}}{b{de}}}h{}{}}0000000{{{b{c}}}h{}}000000000000{{{b{Ah}}{b{Ah}}}Bh}{{{b{Aj}}{b{Aj}}}Bh}{{{b{Al}}{b{Al}}}Bh}{{{b{An}}{b{An}}}Bh}{{{b{B`}}{b{B`}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}0000`{{}Bb}{{}Bd}{c{{j{Ah}}}l}{{{b{Bd}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}B`c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Bd}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Alc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Bd}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Ajc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Bd}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Ahc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Bd}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Anc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{Bf}}}l}{{{b{Ah}}{b{Ah}}}Cd}{{{b{Aj}}{b{Aj}}}Cd}{{{b{Al}}{b{Al}}}Cd}{{{b{An}}{b{An}}}Cd}{{{b{B`}}{b{B`}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000000000000000{{{b{Ah}}{b{dn}}}A`}0{{{b{Aj}}{b{dn}}}A`}{{{b{Al}}{b{dn}}}A`}{{{b{An}}{b{dn}}}A`}{{{b{B`}}{b{dn}}}A`}{{{b{Bf}}{b{dn}}}A`}{cc{}}0000000{{{b{{Bl{Bj}}}}}{{j{AlCf}}}}{{{b{{Bl{Bj}}}}}{{j{B`Cf}}}}{{{b{Ch}}}Ah}{{{b{Ch}}}An}{{{b{Cj}}}B`}{{{b{c}}}c{}}0000000{{{b{Cl}}}{{j{Ahc}}}{}}{{{b{Cl}}}{{j{AjCf}}}}{{{b{Cl}}}{{j{AnCf}}}}{{{b{c}}{b{e}}}Cn{D`Db}Dd}0000{{{b{Ah}}Bj}Bj}{{{b{An}}Bj}Bj}{{{b{B`}}Bj}Bj}{{{b{Al}}}Cn}{{{b{B`}}}Cn}{{{b{Ah}}{b{dc}}}hDf}{{{b{Aj}}{b{dc}}}hDf}{{{b{Al}}{b{dc}}}hDf}{{{b{An}}{b{dc}}}hDf}{{{b{B`}}{b{dc}}}hDf}`{ce{}{}}0000000{c{{Ab{e}}}{}{}}0000000`{{}Bb}{{}Bd}``{{{b{Ah}}{b{Ah}}}{{Dh{Bh}}}}{{{b{Aj}}{b{Aj}}}{{Dh{Bh}}}}{{{b{Al}}{b{Al}}}{{Dh{Bh}}}}{{{b{An}}{b{An}}}{{Dh{Bh}}}}{{{b{B`}}{b{B`}}}{{Dh{Bh}}}}{{{b{Ah}}c}jAd}{{{b{Aj}}c}jAd}{{{b{Al}}c}jAd}{{{b{An}}c}jAd}{{{b{B`}}c}jAd}{{{b{Bb}}{b{Al}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bb}}{b{An}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bb}}{b{B`}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bb}}{b{Aj}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bb}}{b{Ah}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bf}}c}jAd}{{{b{c}}}e{}{}}0000000{Ah{{Dj{Bj}}}}{Aj{{Dj{Bj}}}}{Al{{Dj{Bj}}}}{An{{Dj{Bj}}}}{B`{{Dj{Bj}}}}{{{b{c}}}Dn{}}0000{c{{j{e}}}{}{}}000000000000000`{{{b{c}}}Af{}}0000000```{ce{}{}}0000000````````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{E`E`}{{Dh{E`}}}}{{E`E`}{{Dh{Cn}}}}{{E`Cn}{{Dh{E`}}}}0{{{b{E`}}{b{E`}}}{{Dh{E`}}}}{{{b{E`}}Cn}{{Dh{E`}}}}4{{{b{E`}}}E`}{{{b{Eb}}}Eb}{{{b{Ed}}}Ed}{{{b{c}}{b{de}}}h{}{}}00{{{b{c}}}h{}}000{{{b{E`}}{b{E`}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}{{CnEf}E`}{{}E`}{{}Eb}{c{{j{E`}}}l}{{{b{Ed}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}E`c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{E`}}{b{E`}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{Eh}}{b{dn}}}A`}{{{b{c}}{b{dn}}}{{j{hEj}}}{}}{{{b{E`}}{b{dn}}}A`}0{cc{}}000{El{{j{E`Cf}}}}{{CnEf}{{j{E`Cf}}}}{CnE`}{{{b{c}}}c{}}00{{{b{Cl}}}{{j{E`c}}}{}}{ce{}{}}000{c{{Ab{e}}}{}{}}000{{{b{E`}}}Cd}{{}Eb}{{{En{E`}}{En{E`}}}Ed}{{{b{E`}}{b{E`}}}{{Dh{Bh}}}}{{E`E`}E`}{{E`Cn}E`}1{{{b{E`}}c}jAd}{{{b{Eb}}{b{E`}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{E`El}{{{b{E`}}}{{F`{CnEf}}}}{{{b{c}}}e{}{}}00{{{b{E`}}}Cn}{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0000000{{{b{c}}}Af{}}000``{{Eh{b{Cl}}}{{j{E`c}}}Fb}{ce{}{}}000{{}E`}```````````````{{{b{c}}}{{b{e}}}{}{}}00000{{{b{dc}}}{{b{de}}}{}{}}00000{{{b{Fd}}}Cn}`{{{b{Ff}}}Ff}{{{b{Fh}}}Fh}{{{b{c}}{b{de}}}h{}{}}0{{{b{c}}}h{}}0{{{b{Fd}}Fj}Cd}```{{}Fl}{{{b{Fn}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Ffc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{Ff}}}l}{{{Dh{{b{G`}}}}{b{Gb}}{b{Gd}}{b{c}}{b{{Bl{Bj}}}}Cn}{{Bn{{b{{Bl{Bj}}}}{Gf{Ffe}}g}}}{{Gh{Ff}}}Gj{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{Fh}}}l}{c{{j{Gl}}}l}`{{{b{Gl}}{b{Gl}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{Ff}}{b{dn}}}A`}0{{{b{Fh}}{b{dn}}}A`}{{{b{Gl}}{b{dn}}}A`}{cc{}}00000{{{b{c}}}c{}}0{{{b{Fd}}}Cn}`````{ce{}{}}00000{c{{Ab{e}}}{}{}}00000```?{GnFn}{{Ffc{b{H`}}Cn}{{j{{Gf{Ffe}}Cf}}}{{G`{Ff}}}Gj}````{{{b{Fl}}{b{Ff}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Ff}}c}jAd}{{{b{Hb}}{b{Ch}}{b{{Bl{Bj}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Fh}}c}jAd}{{{b{Gl}}c}jAd}```{{{b{c}}}e{}{}}0{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}00000000000{{{b{c}}}Af{}}00000<<<<<<````````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000`{{{b{Hd}}}Hd}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{{{b{Hd}}{b{Ch}}{b{Hf}}}Hf}````{{}Hh}````{{{b{Hj}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Hdc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{Hd}}}l}``````{{{b{Hd}}{b{dn}}}A`}0{{{b{Hl}}{b{dn}}}A`}{cc{}}000{{{b{c}}}c{}}{{{b{Hn}}}Cn}``{ce{}{}}000{c{{Ab{e}}}{}{}}000``9{{BjEfEf{Dh{Cn}}Cn}Hj}{I`Hl}````{{{b{Hh}}{b{Hd}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Hd}}c}jAd}```````{{{b{Hl}}}{{Dj{Bj}}}}{{{b{c}}}e{}{}}{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0000000{{{b{c}}}Af{}}000`::::````````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{{b{Ib}}}Ib}{{{b{Id}}}Id}{{{b{If}}}If}{{{b{Ih}}}Ih}{{{b{c}}{b{de}}}h{}{}}000{{{b{c}}}h{}}00000{{{b{Ib}}{b{Ib}}}Bh}{{{b{Id}}{b{Id}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}0{{}If}{{}Ih}{c{{j{Ib}}}l}{c{{j{Id}}}l}{{{b{Ih}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Idc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Ih}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Ibc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Ib}}{b{Ib}}}Cd}{{{b{Id}}{b{Id}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000{{{b{Ib}}{b{dn}}}A`}0{{{b{Id}}{b{dn}}}A`}{cc{}}000{{{b{c}}}c{}}000{{{b{Cl}}}{{j{Ibc}}}{}}{{{b{Cl}}}{{j{Idc}}}{}}{{{b{Ib}}}Cd}{{{b{Id}}}Cd}{{{b{Ib}}}{{b{Hf}}}}{{{b{c}}{b{e}}}Cn{D`Db}Dd}0{{{b{Id}}}{{b{Hf}}}}{{{b{Ib}}}Cn}{{{b{Id}}}Cn}{{{b{Ib}}{b{dc}}}hDf}{{{b{Id}}{b{dc}}}hDf}`{ce{}{}}000{c{{Ab{e}}}{}{}}000{HfIb}{{}If}{{}Ih}{{{b{Ib}}{b{Ib}}}{{Dh{Bh}}}}{{{b{Id}}{b{Id}}}{{Dh{Bh}}}}{{{b{Ib}}c}jAd}{{{b{Id}}c}jAd}{{{b{If}}{b{Id}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{If}}{b{Ib}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{c}}}e{}{}}000{{{b{c}}}Dn{}}0{c{{j{e}}}{}{}}0000000{{{b{c}}}Af{}}000``>>>>````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{Ij}}}Ij}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{{}Ij}{{}Il}{{{b{In}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Ijc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{Ij}}}l}{{{b{Ij}}{b{Ij}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{Ij}}{b{dn}}}A`}{cc{}}00{{{b{c}}}c{}}{ce{}{}}00{c{{Ab{e}}}{}{}}00{CnIn}:{{{b{Ij}}c}jAd}{{{b{Il}}{b{Ij}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{c}}}e{}{}}{c{{j{e}}}{}{}}00000{{{b{c}}}Af{}}00````777````````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{J`}}}J`}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{{}J`}{{}Jb}{{{b{Jd}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}J`c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{J`}}}l}```{{{b{J`}}{b{dn}}}A`}{cc{}}00{{{b{c}}}c{}}{ce{}{}}00{c{{Ab{e}}}{}{}}00`{EfJd}8{{{b{J`}}c}jAd}{{{b{Jb}}{b{J`}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{c}}}e{}{}}{c{{j{e}}}{}{}}00000{{{b{c}}}Af{}}00777`````````````{{{b{c}}}{{b{e}}}{}{}}0000{{{b{dc}}}{{b{de}}}{}{}}0000{{{b{Jf}}}Jf}{{{b{Jh}}}Jh}{{{b{Jj}}}Jj}{{{b{Jl}}}Jl}{{{b{Jn}}}Jn}{{{b{c}}{b{de}}}h{}{}}0000{{{b{c}}}h{}}0000`{c{{j{Jf}}}l}{c{{j{Jh}}}l}{c{{j{Jj}}}l}{c{{j{Jl}}}l}{c{{j{Jn}}}l}{{{b{dJj}}{b{Jj}}}h}{{{b{Jf}}{b{dn}}}A`}{{{b{Jh}}{b{dn}}}A`}{{{b{Jj}}{b{dn}}}A`}{{{b{Jl}}{b{dn}}}A`}{{{b{Jn}}{b{dn}}}A`}0{cc{}}0000{{{b{c}}}c{}}0000``{ce{}{}}0000{c{{Ab{e}}}{}{}}0000````{{{b{Jf}}c}jAd}{{{b{Jh}}c}jAd}{{{b{Jj}}c}jAd}{{{b{Jl}}c}jAd}{{{b{Jn}}c}jAd}``{{{b{c}}}e{}{}}0000{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}000000000{{{b{c}}}Af{}}0000:::::``{{{b{Cl}}{b{Cl}}}cK`}``````````````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{Kb}}}Kb}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}0{{}Kb}`{c{{j{Kb}}}l}`{{{b{Kb}}{b{dn}}}A`}0{cc{}}{{{b{c}}}c{}}`{ce{}{}}{c{{Ab{e}}}{}{}}````{{{b{Kb}}c}jAd}``{{{b{c}}}e{}{}}{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0{{{b{c}}}Af{}}6```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}00000{{{b{dc}}}{{b{de}}}{}{}}00000{{{b{Kd}}}{{b{Kf}}}}{{{b{Kh}}}{{b{{Dh{Kf}}}}}}{{{b{Kj}}}{{b{H`}}}}{{{b{Kl}}}{{b{{Kn{Cn}}}}}}{{{b{L`}}}{{b{Lb}}}}{{{b{Ld}}}{{b{Cn}}}}{cc{}}00000{{}Cn}{ce{}{}}00000{c{{Ab{e}}}{}{}}00000============<<<<<<111111{{{b{Cl}}{b{Cl}}}cK`}```<<;;{{}Lf}{{{b{Lh}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Lj{{Dj{Bj}}{Dj{Bj}}}}c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}66{{{b{{Bl{Bj}}}}}{{F`{{En{{Dj{Bj}}}}{En{{Dj{Bj}}}}}}}}5544``{{CnBjCn}Lh}3{{{b{Lf}}{b{{Lj{{Dj{Bj}}{Dj{Bj}}}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{c{{j{e}}}{}{}}000{{{b{c}}}Af{}}0```99````````{{{b{Ll}}}{{b{{Bl{Bj}}}}}}{{{b{Ln}}}{{b{{Bl{Bj}}}}}}{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000``{{{b{Ll}}}Ll}{{{b{Ln}}}Ln}{{{b{M`}}}M`}{{{b{Mb}}}Mb}{{{b{c}}{b{de}}}h{}{}}000{{{b{c}}}h{}}000{{{b{Ll}}{b{Ll}}}Bh}{{{b{Ln}}{b{Ln}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}0{{}M`}{{}Mb}{c{{j{Ll}}}l}{{{b{Mb}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Llc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Ll}}{b{Ll}}}Cd}{{{b{Ln}}{b{Ln}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000{{{b{Ll}}{b{dn}}}A`}0{{{b{Ln}}{b{dn}}}A`}{cc{}}000{{{b{{Bl{Bj}}}}}{{j{LlCf}}}}{{{b{{Bl{Bj}}}}}{{j{LnCf}}}}{{{b{c}}}c{}}000{{{b{Cl}}}{{j{Llc}}}{}}{{{b{c}}{b{e}}}Cn{D`Db}Dd}0{{{b{Ll}}}{{j{I`Cf}}}}{{{b{Ll}}{b{dc}}}hDf}{{{b{Ln}}{b{dc}}}hDf}{ce{}{}}000{c{{Ab{e}}}{}{}}000{{CnI`Cn{b{{Bl{Bj}}}}}{{j{LlCf}}}}{{}M`}{{}Mb}{{{b{Ll}}{b{Ll}}}{{Dh{Bh}}}}{{{b{Ln}}{b{Ln}}}{{Dh{Bh}}}}{{{b{Ll}}c}jAd}{{{b{M`}}{b{Ll}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{c}}}e{}{}}000{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0000000{{{b{c}}}Af{}}000<<<<``````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}00000000000000000{{{b{dc}}}{{b{de}}}{}{}}00000000000000000{{{b{Md}}}Md}{{{b{Mf}}}Mf}{{{b{Mh}}}Mh}{{{b{Mj}}}Mj}{{{b{Ml}}}Ml}{{{b{Mn}}}Mn}{{{b{N`}}}N`}{{{b{Nb}}}Nb}{{{b{Nd}}}Nd}{{{b{c}}{b{de}}}h{}{}}00000000{{{b{c}}}h{}}000000000{{{b{Mj}}{b{Mj}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}{{{b{Ch}}{b{I`}}{b{Ef}}{b{Hf}}}Hf}{{{b{Ch}}{b{I`}}{b{Hf}}}Hf}{{}Nf}{{}Nh}{{}Nj}{{}Ml}{{{b{Nl}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Mdc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Nn}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Mfc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{O`}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Mhc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{Md}}}l}{c{{j{Mf}}}l}{c{{j{Mh}}}l}{c{{j{Mj}}}l}{{{b{Mn}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Mjc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}``{{{b{Md}}{b{Md}}}Cd}{{{b{Mf}}{b{Mf}}}Cd}{{{b{Mh}}{b{Mh}}}Cd}{{{b{Mj}}{b{Mj}}}Cd}{{{b{Ob}}{b{Ob}}}Cd}{{{b{N`}}{b{N`}}}Cd}{{{b{Nb}}{b{Nb}}}Cd}{{{b{Nd}}{b{Nd}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000{{{b{Md}}{b{dn}}}A`}{{{b{Mf}}{b{dn}}}A`}{{{b{Mh}}{b{dn}}}A`}{{{b{Od}}{b{dn}}}A`}{{{b{Of}}{b{dn}}}A`}0{{{b{Mj}}{b{dn}}}A`}{{{b{Ob}}{b{dn}}}A`}{{{b{N`}}{b{dn}}}A`}{{{b{Nb}}{b{dn}}}A`}{{{b{Nd}}{b{dn}}}A`}{cc{}}000000000{{{b{Mh}}}Od}{DlOf}{OhOf}3{{{b{Mh}}}Mj}{{{b{Nd}}}Mj}5{{{b{Mj}}}Ob}66666{{{b{Hn}}}Nd}7{{{b{Oj}}}Nd}{{{b{c}}}c{}}00000000{{{b{c}}{b{e}}}Cn{D`Db}Dd}{{{b{Mj}}}Hf}{{{b{Md}}}{{b{Hf}}}}{{{b{Mf}}}{{b{Hf}}}}10{{{b{Md}}}{{b{Ef}}}}{{{b{Mh}}}{{Dh{{b{Ef}}}}}}{{{b{Mj}}}{{Dh{{b{Ef}}}}}}{{{b{Md}}}{{b{Ch}}}}{{{b{Mf}}}{{b{Ch}}}}{{{b{Mh}}}{{b{Ch}}}}{{{b{Nd}}}{{b{Ch}}}}{{{b{Md}}}{{b{Hb}}}}{{{b{Mf}}}{{b{Hb}}}}10{{{b{Md}}}{{b{I`}}}}{{{b{Mf}}}{{b{I`}}}}{{{b{Mh}}}{{b{I`}}}}{{{b{Mj}}}{{b{I`}}}}{{{b{Nd}}}{{b{I`}}}}{{{b{Mj}}{b{dc}}}hDf}````````````````{ce{}{}}00000000000000000{c{{Ab{e}}}{}{}}00000000000000000{{{b{Mh}}{b{Hn}}}{{j{CdOf}}}}{{{b{Mh}}{b{Oj}}}{{j{CdOf}}}}{{{b{Cn}}{b{Cn}}{b{Cn}}}Cd}{{{b{Mh}}}Cd}00{{}Nf}{{BjEf}Nl}{{}Nh}{BjNn}{{}Nj}{{BjEf}O`}{{}Ml}{{BjEf}Mn}{{{b{Mj}}{b{Mj}}}{{Dh{Bh}}}}``````{{{b{Nf}}{b{Md}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Nh}}{b{Mf}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Nj}}{b{Mh}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Md}}c}jAd}{{{b{Mf}}c}jAd}{{{b{Mh}}c}jAd}{{{b{Mj}}c}jAd}{{{b{Ml}}{b{Mj}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}``````````````````{{{b{Of}}}{{Dh{{b{Ol}}}}}}{{{b{c}}}e{}{}}00000000{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0000000{{{F`{{b{Nd}}{b{Nd}}}}}{{j{Mhc}}}{}}{{{F`{{b{Oj}}{b{Oj}}}}}{{j{Mhc}}}{}}{{{F`{{b{Hn}}{b{Hn}}}}}{{j{Mhc}}}{}}33{Ef{{j{Od{On{Od}}}}}}44{Ef{{j{Ob{On{Ob}}}}}}555555{c{{j{Od{On{Od}}}}}{}}{c{{j{Ob{On{Ob}}}}}{}}777777777777777777{{{b{c}}}Af{}}00000000000000000````{ce{}{}}00000000000000000`````````````````````{{{b{c}}}{{b{e}}}{}{}}00000000{{{b{dc}}}{{b{de}}}{}{}}00000000{{{b{A@`}}}A@`}{{{b{A@b}}}A@b}{{{b{A@d}}}A@d}{{{b{A@f}}}A@f}{{{b{c}}{b{de}}}h{}{}}000{{{b{c}}}h{}}00000{{{b{A@`}}{b{A@`}}}Bh}{{{b{A@b}}{b{A@b}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}0{{{b{A@d}}{b{Ch}}{b{Hf}}}Hf}```{{}A@h}{{}A@f}{{{b{A@j}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}A@bc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{A@j}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}A@`c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{A@l}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}A@dc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{A@n}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}A@dc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{A@`}}}l}{c{{j{A@b}}}l}{c{{j{A@d}}}l}``{{{b{A@`}}{b{A@`}}}Cd}{{{b{A@b}}{b{A@b}}}Cd}{{{b{A@d}}{b{A@d}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}00000000000{{{b{A@`}}{b{dn}}}A`}0{{{b{A@b}}{b{dn}}}A`}{{{b{A@d}}{b{dn}}}A`}0{{{b{AA`}}{b{dn}}}A`}{cc{}}00000000{{{b{c}}}c{}}000{{{b{Cl}}}{{j{A@`c}}}{}}{{{b{Cl}}}{{j{A@bc}}}{}}{{{b{A@`}}}{{b{Hf}}}}{{{b{c}}{b{e}}}Cn{D`Db}Dd}{{{b{A@b}}}{{b{Hf}}}}1{{{b{A@`}}{b{dc}}}hDf}{{{b{A@b}}{b{dc}}}hDf}``````{ce{}{}}00000000{c{{Ab{e}}}{}{}}00000000{{}A@j}{{BjEf}A@l}{{}A@h}{{EfI`Ib}A@n}{HfA@`}{{}A@f}{{I`Ef}AA`}{{{b{A@`}}{b{A@`}}}{{Dh{Bh}}}}{{{b{A@b}}{b{A@b}}}{{Dh{Bh}}}}{{{b{A@h}}{b{A@d}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{A@`}}c}jAd}{{{b{A@b}}c}jAd}{{{b{A@d}}c}jAd}{{{b{A@f}}{b{A@d}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}```````{{{b{AA`}}}{{Dj{Bj}}}}{{{b{c}}}e{}{}}000{{{b{c}}}Dn{}}00{c{{j{e}}}{}{}}00000000000000000{{{b{c}}}Af{}}00000000```{ce{}{}}00000000```````````````````````````````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{Cf}}}Cf}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{{{b{Cf}}{b{dn}}}A`}0{{{AAd{{AAb{{b{{Bl{Bj}}}}}}}}}Cf}{AAfCf}{cc{}}{OhCf}{{{b{Cl}}}Cf}{AAhCf}{DlCf}{{{b{c}}}c{}}>{c{{Ab{e}}}{}{}}{{{b{Cf}}}{{Dh{{b{Ol}}}}}}{{{b{c}}}e{}{}}{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0{{{b{c}}}Af{}}{ce{}{}}`{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{AAj}}}AAj}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{{}AAj}{c{{j{AAj}}}l}``{{{b{AAj}}{b{dn}}}A`}{cc{}}{{{b{c}}}c{}}:{c{{Ab{e}}}{}{}}````{{{b{AAj}}c}jAd}`{{{b{c}}}e{}{}}??>=```````````````{{{b{dAAl}}{b{Ah}}{b{AAn}}}{{AB`{h}}}}{{{b{dABb}}{b{AAn}}}{{AB`{h}}}}```>>>>>>>>>========={{{b{dAAn}}{b{AAn}}}{{AB`{hCf}}}}{{{b{dAAl}}{b{AAl}}}{{AB`{h}}}}{{{b{ABb}}}ABb}{{{b{AAn}}}AAn}{{{b{AAl}}}AAl}{{{b{c}}{b{de}}}h{}{}}00{{{b{AAl}}{b{{ABd{Ah}}}}}AAl}{{{b{c}}}h{}}000{{}ABf}{{}ABh}{{}ABj}{{}ABb}{{}ABl}{{}AAn}{{}ABn}{{}AAl}{{{b{ABf}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}ABbc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{ABh}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AAnc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AC`}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AAlc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{ABb}}}l}{c{{j{AAn}}}l}{c{{j{AAl}}}l}{{{b{ABb}}{b{dn}}}A`}{{{b{AAn}}{b{dn}}}A`}{{{b{AAl}}{b{dn}}}A`}{cc{}}00000000{{{b{c}}}c{}}00{{{b{AAl}}}{{ABd{Ah}}}}{ce{}{}}00000000{c{{Ab{e}}}{}{}}00000000{{{b{ABb}}}Cd}{{{b{AAn}}}Cd}````{{}ABf}{{}ABh}{{}ABj}{CnAC`}{E`ABb}{{}ABl}{{}ABn}{{{b{ABj}}{b{AAl}}{b{d{Dj{Bj}}}}}{{AB`{hDl}}}}{{{b{ABb}}c}jAd}{{{b{ABl}}{b{ABb}}{b{d{Dj{Bj}}}}}{{AB`{hDl}}}}{{{b{AAn}}c}jAd}{{{b{ABn}}{b{AAn}}{b{d{Dj{Bj}}}}}{{AB`{hDl}}}}{{{b{AAl}}c}jAd}{{{b{dAAl}}{b{{ABd{Ah}}}}AAl}h}{{{b{c}}}e{}{}}00{c{{j{e}}}{}{}}00000000000000000{{{b{c}}}Af{}}00000000{ce{}{}}00000000{ACb{{j{MjCf}}}}``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{ACd}}}ACd}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}0{{{b{ACd}}{b{ACd}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}{c{{j{ACd}}}l}{{{b{ACd}}{b{ACd}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{ACd}}{b{dn}}}A`}0{cc{}}{{{b{c}}}c{}}{{{b{Cl}}}{{j{ACdc}}}{}}{{{b{c}}{b{e}}}Cn{D`Db}Dd}{{{b{ACd}}}Ch}{{{b{ACd}}{b{dc}}}hDf}{ce{}{}}{c{{Ab{e}}}{}{}}{ChACd}{{{b{ACd}}{b{ACd}}}{{Dh{Bh}}}}{{{b{ACd}}c}jAd}{{{b{c}}}e{}{}}{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0{{{b{c}}}Af{}}8``````````````````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}0000000000000000000{{{b{dc}}}{{b{de}}}{}{}}0000000000000000000{{{b{ACf}}}ACf}{{{b{ACh}}}ACh}{{{b{ACj}}}ACj}{{{b{ACl}}}ACl}{{{b{ACn}}}ACn}{{{b{AD`}}}AD`}{{{b{ADb}}}ADb}{{{b{ADd}}}ADd}{{{b{ADf}}}ADf}{{{b{ADh}}}ADh}{{{b{c}}{b{de}}}h{}{}}000000000{{{b{c}}}h{}}0000000000000{{{b{ACf}}{b{ACf}}}Bh}{{{b{ACh}}{b{ACh}}}Bh}{{{b{ACj}}{b{ACj}}}Bh}{{{b{ACl}}{b{ACl}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}000{{{b{ADb}}{b{{Bl{Bj}}}}{b{Ch}}Cn}Hf}{{{b{{Bl{ACf}}}}{b{ACn}}}Hf}``````{{}ADj}{{}ADl}{{}ADn}{{}ACn}{{}AD`}{{}AE`}{{}ADf}{{}ADh}{{{b{AEb}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}ADbc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AEd}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}ADdc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AEf}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Dj{ACf}}c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AEh}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AEjc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AEl}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Dj{Fj}}c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{ACf}}}l}{c{{j{ACh}}}l}{c{{j{ACj}}}l}{c{{j{ACl}}}l}{{{b{AD`}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AChc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AD`}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}ACfc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{ADb}}}l}{c{{j{ADd}}}l}{{{b{AE`}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}ACjc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{ACf}}{b{ACf}}}Cd}{{{b{ACh}}{b{ACh}}}Cd}{{{b{ACj}}{b{ACj}}}Cd}{{{b{ACl}}{b{ACl}}}Cd}{{{b{AEn}}{b{AEn}}}Cd}{{{b{ADd}}{b{ADd}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000000000000000```{{{b{ACf}}{b{dn}}}A`}0{{{b{ACh}}{b{dn}}}A`}0{{{b{ACj}}{b{dn}}}A`}0{{{b{ACl}}{b{dn}}}A`}0{{{b{AEn}}{b{dn}}}A`}{{{b{ADb}}{b{dn}}}A`}0{{{b{ADd}}{b{dn}}}A`}0{cc{}}000000000{{{b{{AF`{Bj}}}}}ACj}1111111111{{{b{c}}}c{}}000000000{{{b{Cl}}}{{j{ACfc}}}{}}{{{b{Cl}}}{{j{AChc}}}{}}``{{{b{Fj}}CnCn}Cn}{{{b{ACf}}}{{b{Hf}}}}{{{b{c}}{b{e}}}Cn{D`Db}Dd}{{{b{ACh}}}{{b{Hf}}}}111{{{b{Fj}}}{{ABd{Ah}}}}{{{b{Fj}}E`}E`}{{{b{Fj}}}{{j{{ABd{Ah}}Cf}}}}{{{b{Fj}}Cn}{{AFb{Cn}}}}{{{b{ACf}}}Cn}{{{b{ACh}}}Cn}{{{b{ACf}}{b{dc}}}hDf}{{{b{ACh}}{b{dc}}}hDf}{{{b{ACj}}{b{dc}}}hDf}{{{b{ACl}}{b{dc}}}hDf}```{ce{}{}}0000000000000000000{ACfACj}{AChACj}{c{{Ab{e}}}{}{}}0000000000000000000````{{}ADj}{{CnAFdEfCnBjCn}AEb}{{}ADl}{{CnAFdEfCnBjCn}AEd}{{}ADn}{EfAEf}{EfAEh}{{EfCnAFdEfCnBjCnCn}AEl}{HfACf}{{}ACn}{{}AD`}{{}AE`}{{}ADf}{{}ADh}``````{{{b{ACf}}{b{ACf}}}{{Dh{Bh}}}}{{{b{ACh}}{b{ACh}}}{{Dh{Bh}}}}{{{b{ACj}}{b{ACj}}}{{Dh{Bh}}}}{{{b{ACl}}{b{ACl}}}{{Dh{Bh}}}}`{{{b{ACf}}}ACj}{{{b{ACh}}}ACj}`{{{b{ADj}}{b{ADb}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{ADl}}{b{ADd}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{ADn}}{b{{Dj{ACf}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{ACf}}c}jAd}{{{b{ACh}}c}jAd}{{{b{ACj}}c}jAd}{{{b{ACl}}c}jAd}{{{b{ACn}}{b{ACh}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{ACn}}{b{ACf}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{ADb}}c}jAd}{{{b{ADd}}c}jAd}{{{b{ADf}}{b{AEj}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{ADh}}{b{{Dj{Fj}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}````{{{b{c}}}e{}{}}000000000{{{b{c}}}Dn{}}00000{c{{j{e}}}{}{}}00000000000000{Ef{{j{AEn{On{AEn}}}}}}11111{c{{j{AEn{On{AEn}}}}}{}}22222222222222222222{{{b{c}}}Af{}}0000000000000000000`````````{ce{}{}}0000000000000000000````````````````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0`{{{b{AFf}}}AFf}{{{b{AFh}}}AFh}{{{b{c}}{b{de}}}h{}{}}0{{{b{c}}}h{}}0{{{b{AFf}}{b{AFf}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}``{c{{j{AFf}}}l}{c{{j{AFh}}}l}{{{b{AFf}}{b{AFf}}}Cd}{{{b{AFh}}{b{AFh}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000{{{b{AFf}}{b{dn}}}A`}0{{{b{AFh}}{b{dn}}}A`}0{cc{}}0{{{b{c}}}c{}}0`{ce{}{}}0{c{{Ab{e}}}{}{}}0```{{{b{AFf}}{b{AFf}}}{{Dh{Bh}}}}`{{{b{AFf}}c}jAd}{{{b{AFh}}c}jAd}`{{{b{c}}}e{}{}}0{{{b{c}}}Dn{}}0{c{{j{e}}}{}{}}000{{{b{c}}}Af{}}088``````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{}{{AFj{c}}}AFl}{{{b{{AFj{c}}}}}CnAFl}>`<;`554<{AFnAG`}{AFn{{AGb{ce}}}AFl{}}{AFn{{ABd{c}}}AFl}{{{b{d{AFj{c}}}}{b{{Bl{Bj}}}}}hAFl}``````{{{b{dAGd}}{b{Ah}}{b{AGf}}}{{AB`{AGh}}}}{{{b{dAGj}}{b{AGd}}}{{AB`{h}}}}999999888888{{{b{dAGf}}{b{AGf}}}{{AB`{AGh}}}}{{{b{dAGd}}{b{AGd}}}{{AB`{{AGb{AhAGh}}}}}}{{{b{AGh}}}AGh}{{{b{AGf}}}AGf}{{{b{AGd}}}AGd}{{{b{AGj}}}AGj}{{{b{c}}{b{de}}}h{}{}}000{{{b{AGd}}{b{{ABd{Ah}}}}}AGd}{{{b{AGj}}{b{{ABd{Ah}}}}}AGj}{{{b{c}}}h{}}0000{{{b{dAGf}}}AGh}{{}AGl}{{}AGn}{{}AGd}{{}AGj}{{{b{AGn}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AGfc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{AGh}}}l}{c{{j{AGf}}}l}{c{{j{AGd}}}l}{c{{j{AGj}}}l}{{{b{AGh}}{b{dn}}}A`}{{{b{AGf}}{b{dn}}}A`}{{{b{AGd}}{b{dn}}}A`}{{{b{AGj}}{b{dn}}}A`}{cc{}}00000{{{b{c}}}c{}}000{{{b{AGd}}}{{ABd{Ah}}}}{ce{}{}}00000{c{{Ab{e}}}{}{}}00000{{{b{AGj}}}Cd}{{{b{AGf}}}Cd}{{{b{AGj}}}AFn}{{}AGl}{{}AGn}{{}AGj}``{{{b{AGl}}{b{AGf}}{b{d{Dj{Bj}}}}}{{AB`{hDl}}}}{{{b{AGh}}c}jAd}{{{b{AGf}}c}jAd}{{{b{AGd}}c}jAd}{{{b{AGj}}c}jAd}{{{b{dAGd}}{b{{ABd{Ah}}}}AGd}h}{{{b{dAGj}}{b{{ABd{Ah}}}}AGj}h}{{{b{c}}}e{}{}}000{c{{j{e}}}{}{}}00000000000{{{b{c}}}Af{}}00000``{ce{}{}}00000`````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{Gf{FfIb}}}}}Cn}`{{{b{{Gf{ce}}}}}{{Gf{ce}}}{AH`AHbAHd}{GjAHd}}{{{b{AHf}}}AHf}{{{b{c}}{b{de}}}h{}{}}0{{{b{c}}}h{}}0{{{b{AHb}}{b{{Bl{Bj}}}}{b{Ch}}Cn}Hf}{{{b{AHb}}{b{Ch}}{b{Hf}}}Hf}{{{b{{Gf{ce}}}}}Hf{AH`AHb}Gj}{{{b{{Gf{FfIb}}}}Fj}Cd}````{{}AHf}{{{Dh{{b{G`}}}}{b{Gb}}{b{Gd}}{b{c}}{b{{Bl{Bj}}}}Cn}{{Bn{{b{{Bl{Bj}}}}{Gf{AHbe}}g}}}{{Gh{AHb}}}Gj{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AHh{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Gf{cg}}i}}}{AH`AHb}{{Gh{c}}}Gj{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{{Gf{eg}}}}}l{AH`AHbK`}{GjK`}}{{{b{{AHh{ce}}}}{b{g}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Gf{ci}}k}}}{AH`AHb}{{Gh{c}}}{{G`{c}}}Gj{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{Gf{ce}}}}{b{{Gf{ce}}}}}Cd{AH`AHbAHj}{GjAHj}}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{{Gf{ce}}}}{b{dn}}}A`{AH`AHbAHl}{GjAHl}}{{{b{{Gf{ce}}}}{b{dn}}}A`{AH`AHb}Gj}{cc{}}00{{{b{c}}}c{}}0{{{b{{Gf{FfIb}}}}}Cn}{{{b{{Gf{HdIb}}}}}Cn}{{{b{{Gf{ADbACf}}}}CnCn}Cn}{{{b{Gj}}}{{b{Hf}}}}{{{b{{Gf{ADbACf}}}}}{{ABd{Ah}}}}{{{b{{Gf{ADbACf}}}}E`}E`}{{{b{{Gf{ADbACf}}}}}{{j{{ABd{Ah}}Cf}}}}{{{b{{Gf{ADbACf}}}}Cn}{{AFb{Cn}}}}`{ce{}{}}00{c{{Ab{e}}}{}{}}00`{HfGj}{{eCn}{{AHh{ce}}}{AH`AHb}{{Gh{c}}}}{{}AHf}{{AHbc{b{H`}}Cn}{{j{{Gf{AHbe}}Cf}}}{{G`{AHb}}}Gj}`{{{b{Hb}}{b{Ch}}{b{{Bl{Bj}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{{Gf{ce}}}}g}j{AH`AHbAHn}{GjAHn}Ad}{{{b{AHf}}{b{{Gf{ce}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}{AH`AHb}Gj}{{{b{AHf}}{b{e}}{b{{Gf{cg}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}{AH`AHb}{{G`{c}}}Gj}`{{{b{{Gf{ce}}}}}AFn{AH`AHb}Gj}{{{b{AHb}}{b{H`}}{b{Hf}}}{{j{HbCf}}}}{{{b{H`}}{b{Hf}}{b{c}}}{{j{HbCf}}}{AH`AHb}}``{{{b{c}}}e{}{}}0{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}00000{{{b{c}}}Af{}}00{{{b{AHb}}{b{Ch}}{b{Hf}}{b{Hb}}}{{j{hCf}}}}{{{b{{Gf{ce}}}}}{{j{hCf}}}{AH`AHb}Gj}{ce{}{}}00``````````````{{{b{{Bl{Bj}}}}}{{j{{AF`{Bj}}Cf}}}}{{{b{c}}}{{b{e}}}{}{}}00000000000{{{b{dc}}}{{b{de}}}{}{}}00000000000{{{b{AI`}}}AI`}{{{b{AIb}}}AIb}{{{b{AId}}}AId}{{{b{AIf}}}AIf}{{{b{{AIh{ce}}}}}{{AIh{ce}}}AHd{{G`{c}}AHd}}{{{b{{AIj{ce}}}}}{{AIj{ce}}}AHd{{Gh{c}}AHdAHd}}{{{b{{AIl{ce}}}}}{{AIl{ce}}}AHd{{G`{c}}AHd}}{{{b{{AIn{ce}}}}}{{AIn{ce}}}AHd{{Gh{c}}AHdAHd}}{{{b{{AJ`{ec}}}}}{{AJ`{ec}}}{{AJb{AFn}}AHd}{{G`{c}}AHd}}{{{b{{AJd{ec}}}}}{{AJd{ec}}}{{AJb{AFn}}AJfAHd}{{Gh{c}}AHd}}{{{b{AJh}}}AJh}{{{b{AJj}}}AJj}{{{b{c}}{b{de}}}h{}{}}00000000000{{{b{c}}}h{}}00000000000````{{}AI`}{{}AIb}{{}AId}{{}AJh}{{}AJj}{{{b{AIb}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AJlc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AIf}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Dj{Bj}}c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AIj{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Dj{c}}g}}}{}{{Gh{c}}AHd}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AIn{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{ABd{c}}g}}}{AFlAJnD`}{{Gh{c}}AHd}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AJd{ec}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Dng}}}{{AJb{AFn}}AJf}{{Gh{c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AJj}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{AK`{Bj}}c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{cc{}}00000000000{{{b{{Bl{Bj}}}}AKb}{{j{{F`{AKbAFn}}Cf}}}}{{{b{c}}}c{}}00000000000{ce{}{}}00000000000{c{{Ab{e}}}{}{}}00000000000```````?>={{{En{Cn}}{En{Cn}}}AIf}{e{{AIh{ce}}}{}{{G`{c}}}}{{e{En{Cn}}{En{Cn}}}{{AIj{ce}}}{}{{Gh{c}}AHd}}{e{{AIl{ce}}}{}{{G`{c}}}}{{e{En{Cn}}{En{Cn}}}{{AIn{ce}}}{}{{Gh{c}}AHd}}{e{{AJ`{ec}}}{{AJb{AFn}}}{{G`{c}}}}{e{{AJd{ec}}}{{AJb{AFn}}AJf}{{Gh{c}}}}{{}AJh}{{}AJj}````{{{b{AI`}}{b{AJl}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{AId}}{b{{Dj{Bj}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{{AIh{ce}}}}{b{{Dj{c}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}{}{{G`{c}}}}{{{b{{AIl{ce}}}}{b{{ABd{c}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}AFl{{G`{c}}}}{{{b{{AJ`{ec}}}}{b{Dn}}{b{d{Dj{Bj}}}}}{{j{hDl}}}{{AJb{AFn}}}{{G`{c}}}}{{{b{AJh}}{b{{AK`{Bj}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{AKdAKd}{{j{{Dj{Bj}}Cf}}}}{{{b{c}}}e{}{}}00000000000{c{{j{e}}}{}{}}00000000000000000000000{{{b{c}}}Af{}}00000000000{EfAFn}``{CnAFn}{{{b{{Bl{Bj}}}}}{{j{BjCf}}}}```{ce{}{}}00000000000`````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{{b{I`}}}I`}{{{b{AKf}}}AKf}{{{b{AKh}}}AKh}{{{b{AKj}}}AKj}{{{b{c}}{b{de}}}h{}{}}000{{{b{c}}}h{}}0000{{{b{I`}}{b{I`}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}{{}AKf}{c{{j{I`}}}l}{{{b{AKh}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}I`c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{AKj}}}l}{{{b{I`}}{b{I`}}}Cd}{{{b{AKj}}{b{AKj}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000{{{b{I`}}{b{dn}}}A`}0{{{b{AKj}}{b{dn}}}A`}0{cc{}}{AKlI`}111{{{b{{AF`{Bj}}}}}I`}{{{b{c}}}c{}}000{{{b{Cl}}}{{j{I`c}}}{}}{{{b{I`}}Cn}Cn}{{{b{I`}}}Cd}{{{b{c}}{b{e}}}Cn{D`Db}Dd}0{{{b{I`}}Bj}{{j{I`Cf}}}}0{{{b{I`}}{b{dc}}}hDf}{{{b{AKj}}{b{dc}}}hDf}`{ce{}{}}000{c{{Ab{e}}}{}{}}000{{{b{I`}}Cn}Cd}{{{b{I`}}CnBj}Cd}{BjI`}{{}I`}{{CnBj}I`}{{}AKf}{{{F`{{En{Cn}}{En{Cn}}}}{F`{{En{Bj}}{En{Bj}}}}}AKh}{{CnCn}{{j{I`Cf}}}}{{CnCnBj}{{j{I`Cf}}}}{{{b{I`}}{b{I`}}}{{Dh{Bh}}}}```{{{b{I`}}c}jAd}{{{b{AKf}}{b{I`}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{AKj}}c}jAd}{{{b{I`}}CnBj}{{j{I`Cf}}}}`{{{b{I`}}{b{I`}}Bj}{{j{CnCf}}}}`{{{b{I`}}}{{AF`{Bj}}}}{{{b{c}}}e{}{}}000{{{b{c}}}Dn{}}0{c{{j{e}}}{}{}}0000000{{{b{c}}}Af{}}000`{ce{}{}}000```````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000`{{{b{AKn}}}AKn}{{{b{AL`}}}AL`}{{{b{ALb}}}ALb}{{{b{c}}{b{de}}}h{}{}}00{{{b{c}}}h{}}00{c{{j{AKn}}}l}{c{{j{AL`}}}l}{c{{j{ALb}}}l}{c{{j{ALd}}}l}``````{{{b{AKn}}{b{dn}}}A`}0{{{b{AL`}}{b{dn}}}A`}0{{{b{ALb}}{b{dn}}}A`}0{{{b{ALd}}{b{dn}}}A`}0{cc{}}000{{{b{c}}}c{}}00`{ce{}{}}000{c{{Ab{e}}}{}{}}000```{{{b{AKn}}c}jAd}{{{b{AL`}}c}jAd}{{{b{ALb}}c}jAd}{{{b{ALd}}c}jAd}````{{{b{c}}}e{}{}}00{{{b{c}}}Dn{}}000{c{{j{e}}}{}{}}0000000{{{b{c}}}Af{}}0009999``````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{ALf{c}}}}}{{ALf{c}}}AHd}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}0``{{{b{{ALh{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{ALf{c}}g}}}AHd{{Gh{c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{ALf{c}}}}{b{{ALf{c}}}}}CdAHj}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{{ALf{c}}}}}Cd{}}{{{b{{ALf{c}}}}{b{dn}}}A`AHl}{cc{}}00{{{b{c}}}c{}}{ce{}{}}00{c{{Ab{e}}}{}{}}00{e{{ALj{ce}}}{}{{G`{c}}AHd}}{e{{ALh{ce}}}AHd{{Gh{c}}AHd}}````{{{b{{ALj{ce}}}}{b{{ALf{c}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}AHl{{G`{c}}}}{{{b{c}}}e{}{}}{c{{j{e}}}{}{}}00000{{{b{c}}}Af{}}00``777{{BjKfKfI`}{{j{KfCf}}}}{{BjKfKfKf}I`}{{BjKfKf}{{j{{Dh{I`}}Cf}}}}{{BjKfKfKf}{{j{{Dh{I`}}Cf}}}}{{I`I`Bj}{{j{CnCf}}}}{{BjKfKf{Dh{Kf}}{Dh{Kf}}}{{j{{F`{{Dh{I`}}{Dh{I`}}}}Cf}}}}`````````````````{{{b{dALl}}c}h{}}{{{b{d{ALn{ec}}}}{ALn{ec}}}h{AHdALl}{AM`{ALl{c}}}}{{{b{d{AMb{c}}}}{AMb{c}}}hAHd}{{{b{d{AMd{c}}}}{AMd{c}}}hAHd}{{{AMd{c}}{b{dc}}}hAHd}{{{b{c}}}{{b{e}}}{}{}}00000000{{{b{dc}}}{{b{de}}}{}{}}00000000{{{b{{ALn{ec}}}}}{{ALn{ec}}}{AHdALlAHd}{AHdAM`{ALl{c}}}}{{{b{{AMb{c}}}}}{{AMb{c}}}{AHdAHd}}{{{b{{AMd{c}}}}}{{AMd{c}}}{AHdAHd}}{{{b{c}}{b{de}}}h{}{}}00{{{b{c}}}h{}}00{{}{{AMd{c}}}AHd}{{{b{{AMf{ecgi}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{ALn{ec}}k}}}{ALlAHd}{AM`{ALl{c}}}{{Gh{e}}}{{Gh{c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AMh{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{AMb{c}}g}}}AHd{{Gh{c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AMj{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{AMd{c}}g}}}AHd{{Gh{c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{{ALn{ge}}}}}l{K`ALlAHd}{K`AM`{ALl{e}}}}{c{{j{{AMb{e}}}}}l{K`AHd}}{c{{j{{AMd{e}}}}}l{K`AHd}}{{{b{{ALn{ec}}}}{b{{ALn{ec}}}}}Cd{AHjALlAHd}{AHjAM`{ALl{c}}}}{{{b{{AMb{c}}}}{b{{AMb{c}}}}}Cd{AHjAHd}}{{{b{{AMd{c}}}}{b{{AMd{c}}}}}Cd{AHjAHd}}{{{b{c}}{b{e}}}Cd{}{}}00000000000{{{b{{ALn{ec}}}}{b{dn}}}A`{AHlALlAHd}{AHlAM`{ALl{c}}}}{{{b{{AMb{c}}}}{b{dn}}}A`{AHlAHd}}{{{b{{AMd{c}}}}{b{dn}}}A`{AHlAHd}}{cc{}}00000000{{{b{c}}}c{}}00````````{ce{}{}}00000000{c{{Ab{e}}}{}{}}00000000{{gi}{{AMf{ecgi}}}{ALlAHd}{AM`{ALl{c}}}{{Gh{e}}}{{Gh{c}}}}{{gi}{{AMl{ecgi}}}{ALlAHd}{AM`{ALl{c}}}{{G`{e}}}{{G`{c}}}}{e{{AMh{ce}}}AHd{{Gh{c}}}}{e{{AMn{ce}}}AHd{{G`{c}}}}{e{{AMj{ce}}}AHd{{Gh{c}}}}{e{{AN`{ce}}}AHd{{G`{c}}}}````````{{{b{{AMl{ecgi}}}}{b{{ALn{ec}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}{ALlAHd}{AM`{ALl{c}}}{{G`{e}}}{{G`{c}}}}{{{b{{AMn{ce}}}}{b{{AMb{c}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}AHd{{G`{c}}}}{{{b{{AN`{ce}}}}{b{{AMd{c}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}AHd{{G`{c}}}}{{{b{{ALn{ec}}}}g}j{AHnALlAHd}{AHnAM`{ALl{c}}}Ad}{{{b{{AMb{c}}}}e}j{AHnAHd}Ad}{{{b{{AMd{c}}}}e}j{AHnAHd}Ad}{{{b{c}}}e{}{}}00{c{{j{e}}}{}{}}00000000000000000{{{b{c}}}Af{}}00000000{ce{}{}}00000000`````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{{b{Lb}}}Lb}{{{b{ANb}}}ANb}{{{b{ANd}}}ANd}{{{b{c}}{b{de}}}h{}{}}00{{{b{c}}}h{}}000{{}ANb}{{}ANd}{c{{j{Lb}}}l}{{{b{ANd}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Lbc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Lb}}{b{Lb}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{ANf}}{b{dn}}}A`}{{{b{c}}{b{dn}}}{{j{hEj}}}{}}{{{b{Lb}}{b{dn}}}A`}0{cc{}}000{{{b{c}}}c{}}00{{{b{Cl}}}{{j{Lbc}}}{}}`{ce{}{}}000{c{{Ab{e}}}{}{}}0009``=<{{{b{Lb}}c}jAd}{{{b{ANb}}{b{Lb}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{c}}}e{}{}}00{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0000000{{{b{c}}}Af{}}000``{{ANf{b{Cl}}}{{j{Lbc}}}Fb}8888","D":"IA`","p":[[1,"reference"],[0,"mut"],[5,"ActiveBlock",31],[1,"unit"],[6,"Result",3752],[10,"Deserializer",3753],[5,"Formatter",3754],[8,"Result",3754],[5,"Request",3755],[10,"Serializer",3756],[5,"TypeId",3757],[6,"Address",58],[6,"SCAddress",58],[5,"SCAddressV0",58],[6,"UserAddress",58],[5,"UserAddressV0",58],[5,"AddressSerializer",58],[5,"AddressDeserializer",58],[5,"ExecutionAddressCycleInfo",58],[6,"Ordering",3758],[1,"u8"],[1,"slice"],[8,"IResult",3759],[10,"ParseError",3760],[10,"ContextError",3760],[1,"bool"],[6,"ModelsError",1948],[6,"PublicKey",3761],[5,"PublicKeyV0",3761],[1,"str"],[1,"u64"],[10,"Hash",3762],[10,"Sized",3763],[10,"BuildHasher",3762],[10,"Hasher",3762],[6,"Option",3764],[5,"Vec",3765],[6,"SerializeError",3766],[5,"String",3767],[5,"Amount",306],[5,"AmountSerializer",306],[5,"AmountDeserializer",306],[1,"u32"],[5,"AmountVisitor",306],[5,"Error",3754],[5,"Decimal",3768],[6,"Bound",3769],[1,"tuple"],[10,"Error",3753],[8,"SecureShareBlock",410],[5,"Block",410],[5,"FilledBlock",410],[8,"SecureShareOperation",2223],[5,"BlockSerializer",410],[5,"BlockDeserializer",410],[10,"Serializer",3766],[5,"SignatureDeserializer",3761],[5,"PublicKeyDeserializer",3761],[5,"SecureShare",2894],[10,"Deserializer",3766],[10,"Id",2894],[6,"BlockGraphStatus",410],[5,"BlockDeserializerArgs",410],[6,"KeyPair",3761],[6,"Signature",3761],[5,"BlockHeader",536],[5,"Hash",3770],[5,"BlockHeaderSerializer",536],[5,"BlockHeaderDeserializer",536],[5,"BlockHeaderDenunciationData",536],[8,"SecuredHeader",536],[5,"Slot",3223],[6,"BlockId",631],[5,"BlockIdV0",631],[5,"BlockIdSerializer",631],[5,"BlockIdDeserializer",631],[5,"Bytecode",746],[5,"BytecodeSerializer",746],[5,"BytecodeDeserializer",746],[5,"Clique",800],[5,"CliqueSerializer",800],[5,"CliqueDeserializer",800],[6,"OperationSearchResultBlockStatus",853],[6,"OperationSearchResultStatus",853],[5,"OperationSearchResult",853],[5,"StakersCycleProductionStats",853],[5,"PubkeySig",853],[10,"Deserialize",3753],[5,"CompactConfig",978],[5,"GENESIS_TIMESTAMP",1010],[5,"MassaTime",3771],[5,"END_TIMESTAMP",1010],[5,"GENESIS_KEY",1010],[5,"POS_MISS_RATE_DEACTIVATION_THRESHOLD",1010],[5,"Ratio",3772],[5,"VERSION",1010],[5,"Version",3669],[5,"CHAINID",1010],[5,"DatastoreSerializer",1211],[5,"DatastoreDeserializer",1211],[5,"BTreeMap",3773],[6,"DeferredCallId",1243],[5,"DeferredCallIdV0",1243],[5,"DeferredCallIdSerializer",1243],[5,"DeferredCallIdDeserializer",1243],[5,"EndorsementDenunciation",1348],[5,"BlockHeaderDenunciation",1348],[6,"Denunciation",1348],[6,"DenunciationIndex",1348],[5,"DenunciationIndexSerializer",1348],[5,"DenunciationIndexDeserializer",1348],[5,"EndorsementDenunciationPrecursor",1348],[5,"BlockHeaderDenunciationPrecursor",1348],[6,"DenunciationPrecursor",1348],[5,"EndorsementDenunciationSerializer",1348],[5,"BlockHeaderDenunciationSerializer",1348],[5,"DenunciationSerializer",1348],[5,"EndorsementDenunciationDeserializer",1348],[5,"BlockHeaderDenunciationDeserializer",1348],[5,"DenunciationDeserializer",1348],[6,"DenunciationIndexTypeId",1348],[6,"DenunciationTypeId",1348],[6,"DenunciationError",1348],[6,"MassaSignatureError",3774],[8,"SecureShareEndorsement",1745],[10,"Error",3775],[5,"TryFromPrimitiveError",3776],[6,"EndorsementId",1745],[5,"EndorsementIdV0",1745],[5,"Endorsement",1745],[5,"EndorsementSerializer",1745],[5,"EndorsementSerializerLW",1745],[5,"EndorsementIdDeserializer",1745],[5,"EndorsementDeserializer",1745],[5,"EndorsementDeserializerLW",1745],[5,"EndorsementDenunciationData",1745],[5,"Error",3760],[6,"Err",3759],[6,"MassaHashError",3777],[6,"TimeError",3778],[5,"EventFilter",2003],[5,"LedgerChanges",2029],[5,"LedgerChange",2029],[8,"ModelsResult",1948],[5,"LedgerData",2029],[8,"PreHashSet",2752],[5,"LedgerDataDeserializer",2029],[5,"LedgerChangeDeserializer",2029],[5,"LedgerChangesSerializer",2029],[5,"LedgerDataSerializer",2029],[5,"LedgerChangeSerializer",2029],[5,"LedgerChangesDeserializer",2029],[5,"DenunciationIndex",3779],[5,"NodeId",2188],[6,"OperationId",2223],[5,"OperationIdV0",2223],[6,"OperationPrefixId",2223],[5,"OperationPrefixIdV0",2223],[5,"OperationIdSerializer",2223],[5,"OperationIdDeserializer",2223],[5,"Operation",2223],[6,"OperationType",2223],[5,"OperationPrefixIdsSerializer",2223],[5,"OperationsSerializer",2223],[5,"OperationSerializer",2223],[5,"OperationTypeSerializer",2223],[5,"OperationIdsSerializer",2223],[5,"OperationPrefixIdDeserializer",2223],[5,"OperationDeserializer",2223],[5,"OperationTypeDeserializer",2223],[5,"OperationIdsDeserializer",2223],[5,"OperationPrefixIdsDeserializer",2223],[8,"OperationPrefixIds",2223],[5,"OperationsDeserializer",2223],[6,"OperationTypeId",2223],[1,"array"],[5,"RangeInclusive",3769],[1,"u16"],[5,"SCOutputEvent",2689],[5,"EventExecutionContext",2689],[5,"HashMapper",2752],[10,"PreHashed",2752],[1,"usize"],[10,"CapacityAllocator",2752],[8,"PreHashMap",2752],[5,"RollUpdates",2775],[5,"RollUpdate",2775],[5,"RollCompensation",2775],[5,"RollCounts",2775],[5,"RollUpdateSerializer",2775],[5,"RollUpdateDeserializer",2775],[10,"Display",3754],[10,"SecureShareContent",2894],[10,"Clone",3780],[5,"SecureShareSerializer",2894],[5,"SecureShareDeserializer",2894],[10,"PartialEq",3758],[10,"Debug",3754],[10,"Serialize",3756],[5,"IpAddrSerializer",2986],[5,"IpAddrDeserializer",2986],[5,"VecU8Serializer",2986],[5,"VecU8Deserializer",2986],[5,"VecSerializer",2986],[5,"VecDeserializer",2986],[5,"PreHashSetSerializer",2986],[5,"PreHashSetDeserializer",2986],[5,"StringSerializer",2986],[10,"TryFrom",3781],[5,"StringDeserializer",2986],[10,"ToUsize",3782],[5,"BitVecSerializer",2986],[5,"BitVecDeserializer",2986],[6,"IpAddr",3783],[10,"Eq",3758],[5,"BitVec",3784],[10,"DeserializeMinBEInt",2986],[10,"SerializeMinBEInt",2986],[5,"SlotSerializer",3223],[5,"SlotDeserializer",3223],[5,"IndexedSlot",3223],[5,"Slot",3779],[5,"ExecutionStats",3341],[5,"NetworkStats",3341],[5,"ConsensusStats",3341],[5,"PoolStats",3341],[6,"StreamingStep",3434],[5,"StreamingStepDeserializer",3434],[5,"StreamingStepSerializer",3434],[10,"Applicable",3498],[6,"SetUpdateOrDelete",3498],[10,"Default",3785],[6,"SetOrDelete",3498],[6,"SetOrKeep",3498],[5,"SetUpdateOrDeleteDeserializer",3498],[5,"SetOrDeleteDeserializer",3498],[5,"SetOrKeepDeserializer",3498],[5,"SetUpdateOrDeleteSerializer",3498],[5,"SetOrDeleteSerializer",3498],[5,"SetOrKeepSerializer",3498],[5,"VersionSerializer",3669],[5,"VersionDeserializer",3669],[5,"VersionVisitor",3669],[15,"Endorsement",1742],[15,"BlockHeader",1742],[15,"Transaction",2676],[15,"CallSC",2676],[15,"ExecuteSC",2676],[15,"RollBuy",2676],[15,"RollSell",2676]],"r":[[963,978],[965,1210]],"b":[[137,"impl-Deserializer%3CUserAddressV0%3E-for-AddressDeserializer"],[138,"impl-Deserializer%3CSCAddressV0%3E-for-AddressDeserializer"],[139,"impl-Deserializer%3CSCAddress%3E-for-AddressDeserializer"],[140,"impl-Deserializer%3CAddress%3E-for-AddressDeserializer"],[141,"impl-Deserializer%3CUserAddress%3E-for-AddressDeserializer"],[168,"impl-Display-for-Address"],[169,"impl-Debug-for-Address"],[246,"impl-Serializer%3CSCAddressV0%3E-for-AddressSerializer"],[247,"impl-Serializer%3CUserAddress%3E-for-AddressSerializer"],[248,"impl-Serializer%3CUserAddressV0%3E-for-AddressSerializer"],[249,"impl-Serializer%3CSCAddress%3E-for-AddressSerializer"],[250,"impl-Serializer%3CAddress%3E-for-AddressSerializer"],[353,"impl-Debug-for-Amount"],[354,"impl-Display-for-Amount"],[451,"impl-Deserialize%3C\'de%3E-for-Block"],[452,"impl-SecureShareContent-for-Block"],[461,"impl-Debug-for-Block"],[462,"impl-Display-for-Block"],[502,"impl-Serialize-for-Block"],[503,"impl-SecureShareContent-for-Block"],[574,"impl-Debug-for-BlockHeader"],[575,"impl-Display-for-BlockHeader"],[669,"impl-Deserializer%3CBlockIdV0%3E-for-BlockIdDeserializer"],[670,"impl-Deserializer%3CBlockId%3E-for-BlockIdDeserializer"],[681,"impl-Display-for-BlockId"],[682,"impl-Debug-for-BlockId"],[720,"impl-Serializer%3CBlockIdV0%3E-for-BlockIdSerializer"],[721,"impl-Serializer%3CBlockId%3E-for-BlockIdSerializer"],[902,"impl-Display-for-PubkeySig"],[903,"impl-Debug-for-PubkeySig"],[990,"impl-Display-for-CompactConfig"],[991,"impl-Debug-for-CompactConfig"],[1293,"impl-Display-for-DeferredCallId"],[1294,"impl-Debug-for-DeferredCallId"],[1484,"impl-Display-for-DenunciationError"],[1485,"impl-Debug-for-DenunciationError"],[1502,"impl-From%3CSerializeError%3E-for-DenunciationError"],[1503,"impl-From%3CMassaSignatureError%3E-for-DenunciationError"],[1505,"impl-From%3C%26Denunciation%3E-for-DenunciationIndex"],[1506,"impl-From%3C%26DenunciationPrecursor%3E-for-DenunciationIndex"],[1514,"impl-From%3C%26SecureShare%3CBlockHeader,+BlockId%3E%3E-for-DenunciationPrecursor"],[1516,"impl-From%3C%26SecureShare%3CEndorsement,+EndorsementId%3E%3E-for-DenunciationPrecursor"],[1667,"impl-TryFrom%3C(%26DenunciationPrecursor,+%26DenunciationPrecursor)%3E-for-Denunciation"],[1668,"impl-TryFrom%3C(%26SecureShare%3CEndorsement,+EndorsementId%3E,+%26SecureShare%3CEndorsement,+EndorsementId%3E)%3E-for-Denunciation"],[1669,"impl-TryFrom%3C(%26SecureShare%3CBlockHeader,+BlockId%3E,+%26SecureShare%3CBlockHeader,+BlockId%3E)%3E-for-Denunciation"],[1805,"impl-Deserializer%3CEndorsementIdV0%3E-for-EndorsementIdDeserializer"],[1806,"impl-Deserializer%3CEndorsementId%3E-for-EndorsementIdDeserializer"],[1829,"impl-Display-for-EndorsementId"],[1830,"impl-Debug-for-EndorsementId"],[1832,"impl-Debug-for-Endorsement"],[1833,"impl-Display-for-Endorsement"],[1984,"impl-Debug-for-ModelsError"],[1985,"impl-Display-for-ModelsError"],[1986,"impl-From%3CErr%3CError%3C%26%5Bu8%5D%3E%3E%3E-for-ModelsError"],[1987,"impl-From%3CMassaHashError%3E-for-ModelsError"],[1989,"impl-From%3CMassaSignatureError%3E-for-ModelsError"],[1990,"impl-From%3C%26str%3E-for-ModelsError"],[1991,"impl-From%3CTimeError%3E-for-ModelsError"],[1992,"impl-From%3CSerializeError%3E-for-ModelsError"],[2204,"impl-Display-for-NodeId"],[2205,"impl-Debug-for-NodeId"],[2376,"impl-Deserializer%3COperationIdV0%3E-for-OperationIdDeserializer"],[2377,"impl-Deserializer%3COperationId%3E-for-OperationIdDeserializer"],[2410,"impl-Display-for-OperationId"],[2411,"impl-Debug-for-OperationId"],[2412,"impl-Display-for-OperationIdV0"],[2413,"impl-Debug-for-OperationIdV0"],[2414,"impl-Debug-for-OperationPrefixId"],[2415,"impl-Display-for-OperationPrefixId"],[2416,"impl-Display-for-OperationPrefixIdV0"],[2417,"impl-Debug-for-OperationPrefixIdV0"],[2419,"impl-Debug-for-Operation"],[2420,"impl-Display-for-Operation"],[2421,"impl-Debug-for-OperationType"],[2422,"impl-Display-for-OperationType"],[2559,"impl-Serializer%3COperationIdV0%3E-for-OperationIdSerializer"],[2560,"impl-Serializer%3COperationId%3E-for-OperationIdSerializer"],[2719,"impl-Debug-for-SCOutputEvent"],[2720,"impl-Display-for-SCOutputEvent"],[2721,"impl-Display-for-EventExecutionContext"],[2722,"impl-Debug-for-EventExecutionContext"],[2931,"impl-Debug-for-SecureShare%3CT,+ID%3E"],[2932,"impl-Display-for-SecureShare%3CT,+ID%3E"],[2938,"impl-SecureShare%3CBlock,+BlockId%3E"],[2939,"impl-SecureShare%3CBlockHeader,+BlockId%3E"],[3265,"impl-Display-for-Slot"],[3266,"impl-Debug-for-Slot"],[3267,"impl-Debug-for-IndexedSlot"],[3268,"impl-Display-for-IndexedSlot"],[3376,"impl-Debug-for-ExecutionStats"],[3377,"impl-Display-for-ExecutionStats"],[3378,"impl-Debug-for-NetworkStats"],[3379,"impl-Display-for-NetworkStats"],[3380,"impl-Debug-for-ConsensusStats"],[3381,"impl-Display-for-ConsensusStats"],[3382,"impl-Debug-for-PoolStats"],[3383,"impl-Display-for-PoolStats"],[3703,"impl-Debug-for-Version"],[3704,"impl-Display-for-Version"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACAKCAEiAAEAJQACACoAAAAsAAAALgAAADAAAAA0AAAANgAFAEAAAABCAAAARAAEAEoAAABMAAEATwA2AIcAKAC9AA8A0gAFAOAABwDtABcACgEoADgBAAA7AQcASgELAFcBAgBbAQgAawEDAHMBAwB6AQAAfgEAAIIBAgCGARMAqgELALgBBQDCAQAAxAEDAMkBCADYAQEA3QEBAOYBBQDxAQIA9wEDAP4BGgAfAg0AMgIDADgCBQA/AgIARgIAAEgCAABOAgUAWAIBAFwCAABgAgMAZQITAHoCAAB+Ai4AsQIDALYCAAC5AgMAvwICAMYCBADNAh0A7wISAAUDAAAJAwIADgMSACQDAQAnAwwANQMAADcDAgA9AwAAQQMCAEcDAABJAwwAYwMYAH0DBACDAwUAjgMEAJoDBACjAwQAqgMZAMcDAADVAwYA3QMAAN8DAQDiAwAA5QMAAOoDAADtAwUAeAQXAJ0EHQC/BAQAygQDANEEDQDhBAIA5gQqABcFBgAfBQEAJQUDACwFGgBIBQAAVAUAAFcFAgBbBQAAYQVHAKsFKADeBQIA4gUBAOUFAADrBQAA7QUKAPkFBAAABgEABAYFAA0GAAAQBgkAGwYCADAGEQBQBgQAVwYHAGEGBwBrBmMA0gYBANoGAQDdBgEA4gYlAAwHAwASBwMAFwcUADUHAwA6BwcARAcCAFAHCQBdBwAAYAcBAGMHAgBpBwAAawcCAG8HLQC8BwgAxgcEAMwHBwDVBwYA3gcAAOAHAADiBwAA5wcAAOkHBAD3BwUAAggRABYIBQAdCAsALAgFADsIAgBICAgAUwgDAF4IAQBhCAAAYwgAAGUIJgCNCAAAjwgPAKAIAACiCAAApAgAAKYIAACoCAgAsggAALQIAAC5CAAAvQgBAMIIAADFCAEAzQgAANEIAADTCAAA1ggAANgIWAA1CQoARQkHAE4JGQBpCQAAawkMAI0JCQCYCQIAnAkFAKcJBQCuCQAAxQkXAOUJAADsCQkA+AkAAPwJCAAICmwAhQoDAIoKBwCUCg8ApgoBAKsKAQCwCgAAsgoBALUKCwDHCgIAzAoAAM4KBQDgCgsA7goHAPgKBAD+CgMAAwsHABELAwAcCwUAKwsDADELHQBUCwUAWwsGAGkLAQBsCwEAbwsGAHkLAQCHCwMAjwsAAJELAQCZCwwAqAsCALoLSgASDAsAKgwSAEkMCQBUDC8AhQwBAIkMDgCdDCgAxwwAAMwMBADTDAEA1wwBAN4MAwDrDAAA7QwEAPcMFgAVDQcAHg0MADENBwA9DQIARQ0DAEwNAwBUDRYAcQ0RAIQNAACIDQAAjA0CAJENEwCzDQEAtg0BALkNAQC9DQIAwQ0zAP4NCgASDkQAWg4fAH4OAwCHDgMAjA4BAJAOGAA="}],\ -["massa_module_cache",{"t":"CCCCCQQCFNNONNNNNOOONNNNOONONNNNNNNFINNONNNNNNONNNNNNNONNNNNNNNNNNNGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSFSSSSNNONNNNONNNNNNNOOONNNNNONNNNNNNFINNONNNNNNNNNNNNNNNNNNNNNNPPPPPPPGGFGFPPNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNN","n":["config","controller","error","hd_cache","lru_cache","metadata_key","module_key","types","ModuleCacheConfig","borrow","borrow_mut","condom_limits","deref","deref_mut","deserialize","drop","from","gas_costs","hd_cache_path","hd_cache_size","init","into","into_request","layout_raw","lru_cache_size","max_module_length","pointer_metadata","snip_amount","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","ModuleCache","PreHashLruMap","borrow","borrow_mut","cfg","compile_cached","deref","deref_mut","deserialize","drop","from","hd_cache","init","into","into_request","layout_raw","load_module","load_module_info","load_tmp_module","lru_cache","new","pointer_metadata","save_module","set_init_cost","set_invalid","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","CacheError","LoadError","VMError","__clone_box","as_error","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","fmt","fmt","from","from","from_ref","init","into","into_request","layout_raw","pointer_metadata","to_owned","to_string","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","CRUD_ERROR","DATA_DESER_ERROR","DATA_IDENT","DATA_SER_ERROR","HDCache","MODULE_IDENT","MOD_DESER_ERROR","MOD_SER_ERROR","OPEN_ERROR","borrow","borrow_mut","db","deref","deref_mut","deserialize","drop","entry_count","from","get","init","insert","into","into_request","layout_raw","max_entry_count","meta_deser","meta_ser","new","pointer_metadata","set_init_cost","set_invalid","snip","snip_amount","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","LRUCache","PreHashLruMap","borrow","borrow_mut","cache","deref","deref_mut","deserialize","drop","from","get","init","insert","into","into_request","layout_raw","new","pointer_metadata","set_init_cost","set_invalid","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","Delta","Delta","Invalid","Invalid","Invalid","Module","ModuleAndDelta","ModuleInfo","ModuleMetadata","ModuleMetadataDeserializer","ModuleMetadataId","ModuleMetadataSerializer","NotExecuted","NotExecuted","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","default","default","delta_deser","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","err_msg_deser","err_msg_ser","fmt","from","from","from","from","from","from_ref","id_deser","init","init","init","init","init","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","new","new","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","serialize","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","u64_ser","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"massa_module_cache"],[8,"massa_module_cache::config"],[35,"massa_module_cache::controller"],[67,"massa_module_cache::error"],[100,"massa_module_cache::hd_cache"],[140,"massa_module_cache::lru_cache"],[167,"massa_module_cache::types"],[310,"rkyv::with"],[311,"core::result"],[312,"tonic::request"],[313,"core::alloc::layout"],[314,"core::any"],[315,"alloc::boxed"],[316,"massa_hash::hash"],[317,"massa_sc_runtime::execution"],[318,"alloc::string"],[319,"dyn_clone::sealed"],[320,"core::error"],[321,"core::fmt"],[322,"anyhow"],[323,"massa_sc_runtime::types"],[324,"core::option"],[325,"std::path"],[326,"nom::internal"],[327,"nom::error"],[328,"alloc::vec"],[329,"massa_serialization"],[330,"num_enum"]],"i":[0,0,0,0,0,0,0,0,0,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,0,0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,0,0,0,0,0,0,0,0,0,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,0,0,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,37,42,17,37,42,17,17,0,0,0,0,0,37,42,17,35,36,17,37,42,35,36,17,37,42,17,17,17,35,36,36,35,36,17,37,42,35,36,17,37,42,35,36,36,17,37,42,35,36,17,37,42,37,42,37,37,37,37,37,37,42,42,42,42,42,42,36,35,42,35,36,17,37,42,17,36,35,36,17,37,42,35,36,17,37,42,35,36,17,37,42,35,36,17,37,42,35,36,35,36,17,37,42,35,17,35,36,17,37,42,42,42,35,36,17,37,42,35,36,17,37,42,35,35,36,17,37,42,35,36,17,37,42,35,36,17,37,42,35,36,17,37,42],"f":"`````````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{f{{b{c}}}{}}{f{{b{dc}}}{}}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{fl}{cc{}}```{{}f}{ce{}{}}{c{{n{e}}}{}{}}{{}{{j{A`Ab}}}}``{b}`{c{{j{e}}}{}{}}0{{{b{c}}}Ad{}}{{{Af{c}}}{{Af{Ah}}}{}}{{{b{dc}}}{{b{dAh}}}{}}{{{b{c}}}{{b{Ah}}}{}}8``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{{{b{dAj}}{b{{An{Al}}}}B`}Bb}{f{{b{c}}}{}}{f{{b{dc}}}{}}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{fl}{cc{}}`{{}f}{ce{}{}}{c{{n{e}}}{}{}}{{}{{j{A`Ab}}}}{{{b{dAj}}{b{{An{Al}}}}Bd}{{j{BfBh}}}}{{{b{dAj}}{b{{An{Al}}}}}Bb}{{{b{Aj}}{b{{An{Al}}}}Bd}{{j{BfBh}}}}`{BjAj}{b}{{{b{dAj}}{b{{An{Al}}}}}l}{{{b{dAj}}{b{{An{Al}}}}Bd}l}{{{b{dAj}}{b{{An{Al}}}}Bl}l}{c{{j{e}}}{}{}}0{{{b{c}}}Ad{}}{{{Af{c}}}{{Af{Ah}}}{}}{{{b{dc}}}{{b{dAh}}}{}}{{{b{c}}}{{b{Ah}}}{}}?```{{{b{c}}Bn}l{}}{{{b{c}}}{{b{C`}}}{}}{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{Bh}}}Bh}{{{b{c}}{b{de}}}l{}{}}{{{b{c}}}l{}}{f{{b{c}}}{}}{f{{b{dc}}}{}}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{fl}{{{b{Bh}}{b{dCb}}}Cd}0{CfBh}{cc{}}{{{b{c}}}c{}}{{}f}{ce{}{}}{c{{n{e}}}{}{}}{{}{{j{A`Ab}}}}{b}{{{b{c}}}e{}{}}{{{b{c}}}Bl{}}{c{{j{e}}}{}{}}0{{{b{c}}}Ad{}}{{{Af{c}}}{{Af{Ah}}}{}}{{{b{dc}}}{{b{dAh}}}{}}{{{b{c}}}{{b{Ah}}}{}}:`````````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{f{{b{c}}}{}}{f{{b{dc}}}{}}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{fl}`{cc{}}{{{b{Ch}}B`CjCl}{{Cn{Bb}}}}{{}f}{{{b{dCh}}B`Bb}l}{ce{}{}}{c{{n{e}}}{}{}}{{}{{j{A`Ab}}}}```{{D`ff}Ch}{b}{{{b{Ch}}B`Bd}l}{{{b{Ch}}B`Bl}l}{{{b{dCh}}}l}`{c{{j{e}}}{}{}}0{{{b{c}}}Ad{}}{{{Af{c}}}{{Af{Ah}}}{}}{{{b{dc}}}{{b{dAh}}}{}}{{{b{c}}}{{b{Ah}}}{}}<``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{f{{b{c}}}{}}{f{{b{dc}}}{}}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{fl}{cc{}}{{{b{dDb}}B`}{{Cn{Bb}}}}{{}f}{{{b{dDb}}B`Bb}l}{ce{}{}}{c{{n{e}}}{}{}}{{}{{j{A`Ab}}}}{DdDb}{b}{{{b{dDb}}B`Bd}l}{{{b{dDb}}B`Bl}l}{c{{j{e}}}{}{}}0{{{b{c}}}Ad{}}{{{Af{c}}}{{Af{Ah}}}{}}{{{b{dc}}}{{b{dAh}}}{}}{{{b{c}}}{{b{Ah}}}{}};``````````````{{{b{c}}Bn}l{}}{{{b{c}}}{{b{e}}}{}{}}0000{{{b{dc}}}{{b{de}}}{}{}}0000{{{b{Bb}}}Bb}{{{b{c}}{b{de}}}l{}{}}{{{b{c}}}l{}}{{}Df}{{}Dh}`{f{{b{c}}}{}}0000{f{{b{dc}}}{}}0000{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}0{{{b{Dh}}{b{{An{Al}}}}}{{Dl{{b{{An{Al}}}}Djc}}}{{Dn{{b{{An{Al}}}}}}{E`{{b{{An{Al}}}}}}}}111{fl}0000{{{b{Dj}}{b{Dj}}}Eb}{{{b{Ed}}{b{Ed}}}Eb}{{{b{c}}{b{e}}}Eb{}{}}00000000000``{{{b{Ed}}{b{dCb}}}Cd}{cc{}}0000{{{b{c}}}c{}}`{{}f}0000{ce{}{}}0000{c{{n{e}}}{}{}}0000{{}{{j{A`Ab}}}}0000{{}Df}{{}Dh}{b}0000{{{b{Df}}{b{Dj}}{b{d{Ef{Al}}}}}{{j{lEh}}}}{{{b{c}}}e{}{}}{c{{j{e}}}{}{}}000{Bd{{j{Ed{Ej{Ed}}}}}}1{c{{j{Ed{Ej{Ed}}}}}{}}22222{{{b{c}}}Ad{}}0000`{{{Af{c}}}{{Af{Ah}}}{}}0000{{{b{dc}}}{{b{dAh}}}{}}0000{{{b{c}}}{{b{Ah}}}{}}0000>>>>>","D":"Hl","p":[[1,"reference"],[0,"mut"],[1,"usize"],[5,"With",310],[6,"Result",311],[1,"unit"],[5,"Request",312],[5,"Layout",313],[5,"LayoutError",313],[5,"TypeId",314],[5,"Box",315],[10,"Any",314],[5,"ModuleCache",35],[1,"u8"],[1,"slice"],[5,"Hash",316],[6,"ModuleInfo",167],[1,"u64"],[6,"RuntimeModule",317],[6,"CacheError",67],[5,"ModuleCacheConfig",8],[5,"String",318],[5,"Private",319],[10,"Error",320],[5,"Formatter",321],[8,"Result",321],[5,"Error",322],[5,"HDCache",100],[5,"GasCosts",323],[5,"CondomLimits",323],[6,"Option",324],[5,"PathBuf",325],[5,"LRUCache",140],[1,"u32"],[5,"ModuleMetadataSerializer",167],[5,"ModuleMetadataDeserializer",167],[6,"ModuleMetadata",167],[8,"IResult",326],[10,"ParseError",327],[10,"ContextError",327],[1,"bool"],[6,"ModuleMetadataId",167],[5,"Vec",328],[6,"SerializeError",329],[5,"TryFromPrimitiveError",330]],"r":[],"b":[[81,"impl-Display-for-CacheError"],[82,"impl-Debug-for-CacheError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAPAAHQABAAQACAADAA0AAwAVAAAAFwABABsAAAAdAAYAJgABACoAAwAwAAAAMgABADkAAAA9AAYARwANAFYAAQBZABYAcQADAHgAAAB7AAEAgQAAAIYABgCPAAYAmAAAAJsAAQCeAAAAoQANALQAOADyAAYA/gA4AA=="}],\ +["massa_models",{"t":"CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCFONNONNNOONONNNNNOOONONNNNNSGFFFPGQFPQSSPGQFPQONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNONNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNOOONNNNNNNNSSFFFFTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNPPFFFGFPFPPPIPPNNNNNNNNNNNNNONNNNNNNOOONNNNNNONNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNOOONNNOOOONNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFIOOONNNNNNNNONNNNOOOONOOOONNOOOOOONNNNNNNNNOONNNNNNNNOONNNOOOONNOOOOOOONNNNNNNNNNNNNNNONNNNSGQFFFPQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNSFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNFFFOOOOONNNNNNNNNNNNNOOONNNNNNNNNNNONNNNNNNNNNNNNNNNNPPPPPFGGPFFPPNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOOOONNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNFOHCCOOOCOOOOOOFONNNNNNNONONNNNONNOOOONOONNNNNNSSSSFSSSSSSSSSSSSSSFFFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSFSSSSSSSSSFSSOOOOOONNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHIFFNNNNNNNNHNNNNOONNNNNNNNNOOONNSGQFFFPQNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPPFFFFGFGGFFGGFGPPPPPFFFFPPPTOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNNNNNNOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNOOOSSSFFFFGQFFPQFFIOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNPPPPPPPPPPPPPPPPPGIPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNOONNNNNOOOONONNNNNFFFFFFFFFOOOOOONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHSFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPSSFFGQFFFPQFFGQFFPQIFFFGFGFFFPPPPIPPOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNOOOOOONNNNONNONNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOONNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOFFONNNNONNNNNNNNOONNNNNNNNNNNNNNNNNNNNONNNNOOONONNONNNNNNNNNNNNIKFIIKNNNNNONNONNNNMNNNFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNKFKFFNNNNNNNONNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNMNNNNONNNNNNOMNNNONNNNONNNOONNNNNNNNNNNNNNNNNFFKFFFFKFFFFFFHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNOOOONNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHOOHHOOONNNNNNNNNNNNFSFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNOOONNNNONONNNNNNNNNNNNNNNNNNNONNNNFFFFOOONNNNNNNNONNNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNONNNNNNNNOOONNNNOOOONNNNNNNNNNNNNNNNNNNNNNNPPPGFFNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNOONNNHHHHHHKPPPPPPGFFGFFGFFPMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNN","n":["active_block","address","amount","block","block_header","block_id","bytecode","clique","composite","config","datastore","deferred_calls","denunciation","endorsement","error","execution","ledger","mapping_grpc","node","operation","output_event","prehash","rolls","secure_share","serialization","slot","stats","streaming_step","timeslots","types","version","ActiveBlock","block_id","borrow","borrow_mut","children","clone","clone_into","clone_to_uninit","creator_address","descendants","deserialize","fitness","fmt","from","from_ref","into","into_request","is_final","parents","same_thread_parent_creator","serialize","slot","to_owned","try_from","try_into","type_id","vzip","ADDRESS_PREFIX","Address","AddressDeserializer","AddressSerializer","ExecutionAddressCycleInfo","SC","SCAddress","SCAddress","SCAddressV0","SCAddressV0","SCAddressVariant","SC_PREFIX","USER_PREFIX","User","UserAddress","UserAddress","UserAddressV0","UserAddressV0","UserAddressVariant","active_rolls","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","cmp","cmp","cmp","compare","compare","compare","compare","compare","cycle","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_bytes","from_bytes","from_public_key","from_public_key","from_public_key","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_str","from_str_without_prefixed_type","from_str_without_prefixed_type","get_hash","get_hash","get_hash","get_hash","get_hash","get_thread","get_thread","get_thread","get_version","get_version","hash","hash","hash","hash","hash","hash_deserializer","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","is_final","new","new","nok_count","ok_count","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_prefixed_bytes","to_prefixed_bytes","to_prefixed_bytes","to_prefixed_bytes","to_prefixed_bytes","to_string","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_deserializer","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_serializer","version_deserializer","version_serializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","AMOUNT_DECIMAL_FACTOR","AMOUNT_DECIMAL_SCALE","Amount","AmountDeserializer","AmountSerializer","AmountVisitor","MAX","MIN","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","checked_add","checked_div","checked_div_u64","checked_mul_u64","checked_rem","checked_rem_u64","checked_sub","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","compare","const_init","default","default","deserialize","deserialize","eq","equivalent","equivalent","equivalent","equivalent","expecting","fmt","fmt","fmt","from","from","from","from","from_decimal","from_mantissa_scale","from_raw","from_ref","from_ref","from_ref","from_str","into","into","into","into","into_request","into_request","into_request","into_request","is_zero","new","new","partial_cmp","saturating_add","saturating_mul_u64","saturating_sub","serialize","serialize","to_decimal","to_mantissa_scale","to_owned","to_owned","to_owned","to_raw","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","u64_deserializer","u64_serializer","visit_str","vzip","vzip","vzip","vzip","zero","ActiveInAlternativeCliques","ActiveInBlockclique","Block","BlockDeserializer","BlockDeserializerArgs","BlockGraphStatus","BlockSerializer","Discarded","FilledBlock","Final","Incoming","NotFound","SecureShareBlock","WaitingForDependencies","WaitingForSlot","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bytes_count","chain_id","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","contains_operation","content","content_creator_address","content_creator_pub_key","default","deserialize","deserialize","deserialize","deserialize","deserialize","endorsement_count","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_ref","from_ref","get_fitness","header","header","header_deserializer","header_serializer","id","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","last_start_period","max_denunciations_per_block_header","max_operations_per_block","new","new","new_verifiable","op_ids_deserializer","op_ids_serializer","operations","operations","serialize","serialize","serialize","serialize","serialize","serialized_data","signature","thread_count","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","BlockHeader","BlockHeaderDenunciationData","BlockHeaderDeserializer","BlockHeaderSerializer","SecuredHeader","announced_version","block_id_deserializer","block_id_serializer","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_id","clone","clone_into","clone_to_uninit","compute_signed_hash","content","content_creator_address","content_creator_pub_key","current_version","default","denunciation_deserializer","denunciation_len_deserializer","denunciation_serializer","denunciations","deserialize","deserialize","endorsement_content_serializer","endorsement_count","endorsement_len_deserializer","endorsement_serializer","endorsement_serializer","endorsements","fmt","fmt","fmt","from","from","from","from","from_ref","get_fitness","hash_deserializer","id","into","into","into","into","into_request","into_request","into_request","into_request","last_start_period","network_versions_deserializer","new","new","new","operation_merkle_root","opt_deserializer","opt_serializer","parents","serialize","serialize","serialized_data","signature","slot","slot","slot_deserializer","slot_serializer","thread_count","to_bytes","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","u32_serializer","vzip","vzip","vzip","vzip","BLOCKID_PREFIX","BlockId","BlockId","BlockIdDeserializer","BlockIdSerializer","BlockIdV0","BlockIdV0","BlockIdVariant","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","compare","compare","default","default","deserialize","deserialize","deserialize","deserialize","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_str","from_str","get_first_bit","get_first_bit","get_hash","get_hash","get_hash","get_hash","get_version","get_version","hash","hash","hash_deserializer","into","into","into","into","into_request","into_request","into_request","into_request","new","new","new","partial_cmp","partial_cmp","serialize","serialize","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","version_deserializer","version_serializer","vzip","vzip","vzip","vzip","BYTECODE_VERSION","Bytecode","BytecodeDeserializer","BytecodeSerializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","default","default","deserialize","deserialize","eq","equivalent","equivalent","equivalent","equivalent","fmt","from","from","from","from_ref","into","into","into","into_request","into_request","into_request","new","new","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vec_u8_deserializer","vec_u8_serializer","version_byte_deserializer","version_byte_serializer","vzip","vzip","vzip","Clique","CliqueDeserializer","CliqueSerializer","block_id_deserializer","block_id_serializer","block_ids","block_ids_length_deserializer","block_ids_length_serializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","default","default","deserialize","deserialize","fitness","fitness_deserializer","fitness_serializer","fmt","from","from","from","from_ref","into","into","into","into_request","into_request","into_request","is_blockclique","new","new","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Active","Discarded","Discarded","InBlock","Incoming","OperationSearchResult","OperationSearchResultBlockStatus","OperationSearchResultStatus","Pending","PubkeySig","StakersCycleProductionStats","WaitingForDependencies","WaitingForSlot","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cycle","deserialize","deserialize","deserialize","deserialize","deserialize","extend","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","in_blocks","in_pool","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","is_final","ok_nok_counts","op","public_key","serialize","serialize","serialize","serialize","serialize","signature","status","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","CompactConfig","block_reward","build_massa_settings","compact_config","constants","delta_f0","end_timestamp","genesis_timestamp","massa_settings","max_block_size","operation_validity_periods","periods_per_cycle","roll_price","t0","thread_count","CompactConfig","block_reward","borrow","borrow_mut","clone","clone_into","clone_to_uninit","clone_to_uninit","default","delta_f0","deserialize","end_timestamp","fmt","fmt","from","from_ref","genesis_timestamp","into","into_request","max_block_size","operation_validity_periods","periods_per_cycle","roll_price","serialize","t0","thread_count","to_owned","to_string","try_from","try_into","type_id","vzip","ASYNC_MSG_CST_GAS_COST","BASE_OPERATION_GAS_COST","BLOCK_REWARD","BOOTSTRAP_RANDOMNESS_SIZE_BYTES","CHAINID","CHANNEL_SIZE","CONSENSUS_BOOTSTRAP_PART_SIZE","DEFERRED_CALL_BASE_FEE_MAX_CHANGE_DENOMINATOR","DEFERRED_CALL_CST_GAS_COST","DEFERRED_CALL_GLOBAL_OVERBOOKING_PENALTY","DEFERRED_CALL_MAX_ASYNC_GAS","DEFERRED_CALL_MAX_FUTURE_SLOTS","DEFERRED_CALL_MAX_POOL_CHANGES","DEFERRED_CALL_MIN_GAS_COST","DEFERRED_CALL_MIN_GAS_INCREMENT","DEFERRED_CALL_SLOT_OVERBOOKING_PENALTY","DELTA_F0","DENUNCIATION_EXPIRE_PERIODS","ENDORSEMENT_COUNT","END_TIMESTAMP","GENESIS_KEY","GENESIS_TIMESTAMP","HANDSHAKE_RANDOMNESS_SIZE_BYTES","INITIAL_DRAW_SEED","IP_LIST_MAX_SIZE","KEEP_EXECUTED_HISTORY_EXTRA_PERIODS","LEDGER_COST_PER_BYTE","LEDGER_ENTRY_BASE_COST","LEDGER_ENTRY_DATASTORE_BASE_SIZE","MAX_ADVERTISE_LENGTH","MAX_ASYNC_GAS","MAX_ASYNC_POOL_LENGTH","MAX_BLOCK_SIZE","MAX_BOOTSTRAP_ASYNC_POOL_CHANGES","MAX_BOOTSTRAP_BLOCKS","MAX_BOOTSTRAP_CHILDREN","MAX_BOOTSTRAP_CLIQUES","MAX_BOOTSTRAP_DEPS","MAX_BOOTSTRAP_ERROR_LENGTH","MAX_BOOTSTRAP_FINAL_STATE_PARTS_SIZE","MAX_BOOTSTRAP_MESSAGE_SIZE","MAX_BOOTSTRAP_MESSAGE_SIZE_BYTES","MAX_BOOTSTRAP_POS_CYCLES","MAX_BOOTSTRAP_VERSIONING_ELEMENTS_SIZE","MAX_BYTECODE_LENGTH","MAX_CONSENSUS_BLOCKS_IDS","MAX_DATASTORE_ENTRY_COUNT","MAX_DATASTORE_KEY_LENGTH","MAX_DATASTORE_VALUE_LENGTH","MAX_DEFERRED_CREDITS_LENGTH","MAX_DENUNCIATIONS_PER_BLOCK_HEADER","MAX_DENUNCIATION_CHANGES_LENGTH","MAX_DUPLEX_BUFFER_SIZE","MAX_ENDORSEMENTS_PER_MESSAGE","MAX_EVENT_DATA_SIZE_V0","MAX_EVENT_DATA_SIZE_V1","MAX_EVENT_PER_OPERATION","MAX_EXECUTED_OPS_CHANGES_LENGTH","MAX_EXECUTED_OPS_LENGTH","MAX_FUNCTION_NAME_LENGTH","MAX_GAS_PER_BLOCK","MAX_LEDGER_CHANGES_COUNT","MAX_LEDGER_CHANGES_PER_SLOT","MAX_LISTENERS_PER_PEER","MAX_MESSAGE_SIZE","MAX_OPERATIONS_PER_BLOCK","MAX_OPERATIONS_PER_MESSAGE","MAX_OPERATION_DATASTORE_ENTRY_COUNT","MAX_OPERATION_DATASTORE_KEY_LENGTH","MAX_OPERATION_DATASTORE_VALUE_LENGTH","MAX_OPERATION_STORAGE_TIME","MAX_PARAMETERS_SIZE","MAX_PEERS_IN_ANNOUNCEMENT_LIST","MAX_PRODUCTION_EVENTS_PER_BLOCK","MAX_PRODUCTION_STATS_LENGTH","MAX_RECURSIVE_CALLS_DEPTH","MAX_RNG_SEED_LENGTH","MAX_ROLLS_COUNT_LENGTH","MAX_RUNTIME_MODULE_CUSTOM_SECTION_DATA_LEN","MAX_RUNTIME_MODULE_CUSTOM_SECTION_LEN","MAX_RUNTIME_MODULE_DEFINED_FUNCTIONS","MAX_RUNTIME_MODULE_EXPORTS","MAX_RUNTIME_MODULE_FUNCTIONS","MAX_RUNTIME_MODULE_FUNCTION_ARGS","MAX_RUNTIME_MODULE_FUNCTION_IMPORTS","MAX_RUNTIME_MODULE_FUNCTION_NAME_LEN","MAX_RUNTIME_MODULE_FUNCTION_RETURN_VALUES","MAX_RUNTIME_MODULE_GLOBAL_INITIALIZER","MAX_RUNTIME_MODULE_IMPORTS","MAX_RUNTIME_MODULE_MEMORIES","MAX_RUNTIME_MODULE_MEMORY_IMPORTS","MAX_RUNTIME_MODULE_NAME_LEN","MAX_RUNTIME_MODULE_PASSIVE_DATA","MAX_RUNTIME_MODULE_PASSIVE_ELEMENT","MAX_RUNTIME_MODULE_SIGNATURE_LEN","MAX_RUNTIME_MODULE_TABLE","MAX_RUNTIME_MODULE_TABLE_INITIALIZER","MAX_SIZE_CHANNEL_COMMANDS_CONNECTIVITY","MAX_SIZE_CHANNEL_COMMANDS_PEERS","MAX_SIZE_CHANNEL_COMMANDS_PEER_TESTERS","MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_BLOCKS","MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_ENDORSEMENTS","MAX_SIZE_CHANNEL_COMMANDS_PROPAGATION_OPERATIONS","MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_BLOCKS","MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_ENDORSEMENTS","MAX_SIZE_CHANNEL_COMMANDS_RETRIEVAL_OPERATIONS","MAX_SIZE_CHANNEL_NETWORK_TO_BLOCK_HANDLER","MAX_SIZE_CHANNEL_NETWORK_TO_ENDORSEMENT_HANDLER","MAX_SIZE_CHANNEL_NETWORK_TO_OPERATION_HANDLER","MAX_SIZE_CHANNEL_NETWORK_TO_PEER_HANDLER","MIP_STORE_STATS_BLOCK_CONSIDERED","NETWORK_CONTROLLER_CHANNEL_SIZE","NETWORK_EVENT_CHANNEL_SIZE","NETWORK_NODE_COMMAND_CHANNEL_SIZE","NETWORK_NODE_EVENT_CHANNEL_SIZE","NODE_SEND_CHANNEL_SIZE","OPERATION_VALIDITY_PERIODS","PERIODS_PER_CYCLE","POOL_CONTROLLER_DENUNCIATIONS_CHANNEL_SIZE","POOL_CONTROLLER_ENDORSEMENTS_CHANNEL_SIZE","POOL_CONTROLLER_OPERATIONS_CHANNEL_SIZE","POS_MISS_RATE_DEACTIVATION_THRESHOLD","POS_SAVED_CYCLES","PROTOCOL_CONTROLLER_CHANNEL_SIZE","PROTOCOL_EVENT_CHANNEL_SIZE","ROLL_COUNT_TO_SLASH_ON_DENUNCIATION","ROLL_PRICE","SELECTOR_DRAW_CACHE_SIZE","SIGNATURE_DESER_SIZE","T0","THREAD_COUNT","VERSION","VERSIONING_ACTIVATION_DELAY_MIN","VERSIONING_THRESHOLD_TRANSITION_ACCEPTED","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","deref","deref","from","from","from","from","from","from","get_period_from_args","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","build_massa_settings","Datastore","DatastoreDeserializer","DatastoreSerializer","borrow","borrow","borrow_mut","borrow_mut","default","deserialize","from","from","get_prefix_bounds","into","into","into_request","into_request","key_deserializer","length_deserializer","new","new","serialize","try_from","try_from","try_into","try_into","type_id","type_id","u64_serializer","value_deserializer","vec_u8_serializer","vzip","vzip","DEFERRED_CALL_ID_PREFIX","DeferredCallId","DeferredCallId","DeferredCallIdDeserializer","DeferredCallIdSerializer","DeferredCallIdV0","DeferredCallIdV0","DeferredCallIdVariant","as_bytes","as_bytes","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bytes_deserializer","bytes_serializer","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","compare","compare","default","default","deserialize","deserialize","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","from","from","from","from","from_bytes","from_bytes","from_ref","from_ref","from_ref","from_ref","from_str","get_hash","get_hash","get_slot","hash","hash","into","into","into","into","into_request","into_request","into_request","into_request","new","new","new","partial_cmp","partial_cmp","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","BlockHeader","BlockHeader","BlockHeader","BlockHeader","BlockHeader","BlockHeaderDenunciation","BlockHeaderDenunciationDeserializer","BlockHeaderDenunciationPrecursor","BlockHeaderDenunciationSerializer","Denunciation","DenunciationDeserializer","DenunciationError","DenunciationIndex","DenunciationIndexDeserializer","DenunciationIndexSerializer","DenunciationIndexTypeId","DenunciationPrecursor","DenunciationSerializer","DenunciationTypeId","Endorsement","Endorsement","Endorsement","Endorsement","Endorsement","EndorsementDenunciation","EndorsementDenunciationDeserializer","EndorsementDenunciationPrecursor","EndorsementDenunciationSerializer","InvalidInput","Serialization","Signature","VARIANT_COUNT","blkh_de_deserializer","blkh_de_serializer","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","compare","compute_hash_for_sig_verif","compute_hash_for_sig_verif","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","endo_de_deserializer","endo_de_serializer","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","get_hash","get_hash","get_hash_1","get_hash_1","get_hash_2","get_hash_2","get_index","get_index","get_index","get_public_key","get_public_key","get_public_key","get_public_key","get_signature_1","get_signature_1","get_signature_2","get_signature_2","get_slot","get_slot","get_slot","get_slot","get_slot","hash","hash","hash","hash_1","hash_1","hash_2","hash_2","hash_deserializer","hash_deserializer","hash_serializer","hash_serializer","id_deserializer","index","index","index_deserializer","index_deserializer","index_serializer","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","is_also_for_block_header","is_also_for_endorsement","is_expired","is_for_block_header","is_for_endorsement","is_valid","new","new","new","new","new","new","new","new","partial_cmp","pubkey_deserializer","pubkey_deserializer","public_key","public_key","public_key","public_key","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","signature","signature","signature_1","signature_1","signature_2","signature_2","signature_deserializer","signature_deserializer","slot","slot","slot","slot","slot_deserializer","slot_deserializer","slot_deserializer","slot_serializer","slot_serializer","slot_serializer","source","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_from_primitive","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id_deserializer","type_id_serializer","u32_serializer","u32_serializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","index","slot","slot","ENDORSEMENTID_PREFIX","ENDORSEMENTID_VERSION","ENDORSEMENT_ID_SIZE_BYTES","Endorsement","EndorsementDenunciationData","EndorsementDeserializer","EndorsementDeserializerLW","EndorsementId","EndorsementId","EndorsementIdDeserializer","EndorsementIdV0","EndorsementIdV0","EndorsementIdVariant","EndorsementSerializer","EndorsementSerializerLW","SecureShareEndorsement","block_id_deserializer","block_id_serializer","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","compare","compare","compute_signed_hash","content","content_creator_address","content_creator_pub_key","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","endorsed_block","endorsed_block","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_str","from_str","get_hash","get_hash","get_hash","get_hash","hash","hash","hash_deserializer","id","index","index","index_deserializer","index_deserializer","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","new","new","new","new","new","new","new","partial_cmp","partial_cmp","serialize","serialize","serialize","serialize","serialize","serialized_data","signature","slot","slot","slot","slot_deserializer","slot_serializer","to_bytes","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","u32_serializer","u32_serializer","version_deserializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","AddressParseError","AmountOverflowError","AmountParseError","BlockIdParseError","BufferError","CheckedOperationError","DeferredCallIdParseError","DeserializeError","EndorsementIdParseError","Err","ErrorRaised","HashError","InvalidLedgerChange","InvalidRollUpdate","InvalidVersionError","MassaHashError","MassaSignatureError","ModelsError","ModelsResult","NodeIdParseError","Ok","OperationIdParseError","OperationPrefixJoinError","OutdatedBootstrapCursor","PeriodOverflowError","SerializationError","SerializeError","ThreadOverflowError","TimeError","TimeOverflowError","WrongPrefix","borrow","borrow_mut","clone","clone_into","clone_to_uninit","fmt","fmt","from","from","from","from","from","from","from","from_ref","into","into_request","source","to_owned","to_string","try_from","try_into","type_id","vzip","EventFilter","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deserialize","emitter_address","end","fmt","from","from_ref","into","into_request","is_error","is_final","original_caller_address","original_operation_id","serialize","start","to_owned","try_from","try_into","type_id","vzip","LedgerChange","LedgerChangeDeserializer","LedgerChangeSerializer","LedgerChanges","LedgerChangesDeserializer","LedgerChangesSerializer","LedgerData","LedgerDataDeserializer","LedgerDataSerializer","address_deserializer","address_serializer","amount_deserializer","amount_deserializer","amount_serializer","amount_serializer","apply","apply_change","balance","balance_delta","balance_increment","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","chain","clone","clone","clone","clone_into","clone_into","clone_into","clone_subset","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","default","default","default","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","get_involved_addresses","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","is_nil","is_nil","ledger_change_deserializer","ledger_change_serializer","length_deserializer","length_serializer","new","new","new","new","new","new","new","serialize","serialize","serialize","serialize","serialize","serialize","sync_from","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","to_denunciation_index","NODEID_PREFIX","NodeId","borrow","borrow_mut","clone","clone_into","clone_to_uninit","clone_to_uninit","cmp","compare","deserialize","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from_ref","from_str","get_hash","get_public_key","hash","into","into_request","new","partial_cmp","serialize","to_owned","to_string","try_from","try_into","type_id","vzip","CallSC","CallSC","ExecuteSC","ExecuteSC","OPERATIONID_PREFIX","OPERATION_ID_PREFIX_SIZE_BYTES","Operation","OperationDeserializer","OperationId","OperationId","OperationIdDeserializer","OperationIdSerializer","OperationIdV0","OperationIdV0","OperationIdVariant","OperationIdsDeserializer","OperationIdsSerializer","OperationPrefixId","OperationPrefixId","OperationPrefixIdDeserializer","OperationPrefixIdV0","OperationPrefixIdV0","OperationPrefixIdVariant","OperationPrefixIds","OperationPrefixIdsDeserializer","OperationPrefixIdsSerializer","OperationSerializer","OperationType","OperationTypeDeserializer","OperationTypeId","OperationTypeSerializer","OperationsDeserializer","OperationsSerializer","RollBuy","RollBuy","RollSell","RollSell","SecureShareOperation","Transaction","Transaction","address_deserializer","address_serializer","amount_deserializer","amount_deserializer","amount_serializer","amount_serializer","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","cmp","cmp","compare","compare","compare","compare","compute_hash","compute_operations_hash","content","content_creator_address","content_creator_pub_key","data_deserializer","datastore_deserializer","datastore_serializer","default","default","default","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","expire_period","expire_period_deserializer","fee","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_str","from_str","function_name_deserializer","function_name_serializer","get_gas_usage","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","get_ledger_involved_addresses","get_max_spending","get_roll_involved_addresses","get_validity_range","get_version","get_version","hash","hash","hash","hash","hash_deserializer","id","id_deserializer","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_prefix","into_prefix","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","length_deserializer","length_deserializer","length_deserializer","max_gas_deserializer","new","new","new","new","new","new","new","new","new","new","new","new","new","new","op","op_id_deserializer","op_id_serializer","op_type_deserializer","op_type_serializer","parameter_deserializer","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pref_deserializer","prefix","prefix","rolls_number_deserializer","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialized_data","signature","signed_op_deserializer","signed_op_serializer","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","u32_serializer","u32_serializer","u32_serializer","u32_serializer","u64_serializer","u64_serializer","vec_u8_serializer","version_deserializer","version_serializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","amount","coins","data","datastore","max_coins","max_gas","max_gas","param","recipient_address","roll_count","roll_count","target_addr","target_func","EventExecutionContext","SCOutputEvent","block","borrow","borrow","borrow_mut","borrow_mut","call_stack","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","cmp","compare","context","data","deserialize","deserialize","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from_ref","from_ref","index_in_slot","into","into","into_request","into_request","is_error","is_final","origin_operation_id","partial_cmp","read_only","serialize","serialize","slot","to_owned","to_owned","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","BuildHashMapper","CapacityAllocator","HashMapper","PreHashMap","PreHashSet","PreHashed","borrow","borrow_mut","default","finish","from","hash","into","into_request","source","try_from","try_into","type_id","vzip","with_capacity","with_capacity","with_capacity","write","RollCompensation","RollCounts","RollUpdate","RollUpdateDeserializer","RollUpdateSerializer","RollUpdates","apply","apply_updates","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","chain","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_subset","clone_subset","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","compensate","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","get_involved_addresses","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","is_empty","is_nil","len","new","new","new","roll_purchases","roll_sales","serialize","serialize","serialize","serialize","serialize","sync_from","sync_from","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","u64_deserializer","u64_serializer","vzip","vzip","vzip","vzip","vzip","vzip","Id","SecureShare","SecureShareContent","SecureShareDeserializer","SecureShareSerializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","bytes_count","chain_id","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","compute_hash","compute_signed_hash","compute_signed_hash","contains_operation","content","content_creator_address","content_creator_pub_key","content_deserializer","default","deserialize","deserialize","deserialize","deserialize_with","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from_ref","from_ref","get_fitness","get_fitness","get_gas_usage","get_hash","get_ledger_involved_addresses","get_max_spending","get_roll_involved_addresses","get_validity_range","id","into","into","into","into_request","into_request","into_request","marker_t","new","new","new","new_verifiable","public_key_deserializer","serialize","serialize","serialize","serialize_with","serialized_data","serialized_size","sign","sign","signature","signature_deserializer","to_owned","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify_signature","verify_signature","vzip","vzip","vzip","BitVecDeserializer","BitVecSerializer","DeserializeMinBEInt","IpAddrDeserializer","IpAddrSerializer","PreHashSetDeserializer","PreHashSetSerializer","SerializeMinBEInt","StringDeserializer","StringSerializer","VecDeserializer","VecSerializer","VecU8Deserializer","VecU8Serializer","array_from_slice","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","data_deserializer","data_deserializer","data_serializer","data_serializer","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","from","from","from","from","from","from","from","from","from","from","from","from","from_be_bytes_min","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","into","into","into","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","len_serializer","len_serializer","len_serializer","length_deserializer","length_serializer","marker_l","marker_l","new","new","new","new","new","new","new","new","new","new","new","new","phantom_t","phantom_t","phantom_t","phantom_t","serialize","serialize","serialize","serialize","serialize","serialize","to_be_bytes_min","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","u32_be_bytes_min_length","u32_deserializer","u32_serializer","u64_be_bytes_min_length","u8_from_slice","varint_u64_deserializer","varint_u64_deserializer","varint_u64_deserializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","IndexedSlot","SLOT_KEY_SIZE","Slot","SlotDeserializer","SlotSerializer","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","compare","default","deserialize","deserialize","deserialize","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","from_bytes_key","from_ref","from_ref","from_ref","from_ref","from_str","get_cycle","get_first_bit","get_hash","get_hash","get_next_slot","get_prev_slot","hash","hash","index","into","into","into","into","into_request","into_request","into_request","into_request","is_first_of_cycle","is_last_of_cycle","max","min","new","new","new","new_first_of_cycle","new_last_of_cycle","partial_cmp","period","period_deserializer","range_thread","serialize","serialize","serialize","skip","slot","slots_since","thread","to_bytes_key","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","u64_serializer","vzip","vzip","vzip","vzip","ConsensusStats","ExecutionStats","NetworkStats","PoolStats","active_cursor","active_node_count","banned_peer_count","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clique_count","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","deserialize","deserialize","deserialize","deserialize","end_timespan","endorsement_count","final_block_count","final_block_count","final_cursor","final_executed_operations_count","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from_ref","from_ref","from_ref","in_connection_count","into","into","into","into","into_request","into_request","into_request","into_request","known_peer_count","operation_count","out_connection_count","serialize","serialize","serialize","serialize","stale_block_count","start_timespan","time_window_end","time_window_start","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Finished","Ongoing","Started","StreamingStep","StreamingStepDeserializer","StreamingStepSerializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","clone_to_uninit","data_deser","data_serializer","deserialize","eq","equivalent","equivalent","equivalent","equivalent","finished","fmt","from","from","from","from_ref","into","into","into","into_request","into_request","into_request","new","new","opt_deser","option_serializer","phantom_t","phantom_t","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","u64_deser","u64_serializer","vzip","vzip","vzip","get_block_slot_timestamp","get_closest_slot_to_timestamp","get_current_latest_block_slot","get_latest_block_slot_at_timestamp","slot_count_in_range","time_range_to_slot_range","Applicable","Delete","Delete","Keep","Set","Set","Set","SetOrDelete","SetOrDeleteDeserializer","SetOrDeleteSerializer","SetOrKeep","SetOrKeepDeserializer","SetOrKeepSerializer","SetUpdateOrDelete","SetUpdateOrDeleteDeserializer","SetUpdateOrDeleteSerializer","Update","apply","apply","apply","apply","apply_to","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","inner_deserializer","inner_deserializer","inner_deserializer_set","inner_deserializer_update","inner_serializer","inner_serializer","inner_serializer_set","inner_serializer_update","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","new","new","new","new","new","new","phantom_t","phantom_t","phantom_t","phantom_t","phantom_t","phantom_t","phantom_v","phantom_v","serialize","serialize","serialize","serialize","serialize","serialize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","INSTANCE_LEN","Version","VersionDeserializer","VersionSerializer","VersionVisitor","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","default","default","deserialize","deserialize","eq","equivalent","equivalent","equivalent","equivalent","expecting","fmt","fmt","fmt","from","from","from","from","from_ref","from_ref","from_ref","from_str","instance","into","into","into","into","into_request","into_request","into_request","into_request","is_compatible","major","minor","new","new","serialize","serialize","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","u32_deserializer","u32_serializer","visit_str","vzip","vzip","vzip","vzip"],"q":[[0,"massa_models"],[31,"massa_models::active_block"],[58,"massa_models::address"],[306,"massa_models::amount"],[410,"massa_models::block"],[536,"massa_models::block_header"],[631,"massa_models::block_id"],[746,"massa_models::bytecode"],[800,"massa_models::clique"],[853,"massa_models::composite"],[963,"massa_models::config"],[978,"massa_models::config::compact_config"],[1010,"massa_models::config::constants"],[1211,"massa_models::config::massa_settings"],[1212,"massa_models::datastore"],[1244,"massa_models::deferred_calls"],[1349,"massa_models::denunciation"],[1743,"massa_models::denunciation::DenunciationIndex"],[1746,"massa_models::endorsement"],[1949,"massa_models::error"],[2004,"massa_models::execution"],[2030,"massa_models::ledger"],[2188,"massa_models::mapping_grpc"],[2189,"massa_models::node"],[2224,"massa_models::operation"],[2677,"massa_models::operation::OperationType"],[2690,"massa_models::output_event"],[2753,"massa_models::prehash"],[2776,"massa_models::rolls"],[2895,"massa_models::secure_share"],[2987,"massa_models::serialization"],[3224,"massa_models::slot"],[3342,"massa_models::stats"],[3435,"massa_models::streaming_step"],[3493,"massa_models::timeslots"],[3499,"massa_models::types"],[3670,"massa_models::version"],[3753,"core::result"],[3754,"serde::de"],[3755,"core::fmt"],[3756,"tonic::request"],[3757,"serde::ser"],[3758,"core::any"],[3759,"core::cmp"],[3760,"nom::internal"],[3761,"nom::error"],[3762,"massa_signature::signature_impl"],[3763,"core::hash"],[3764,"core::marker"],[3765,"core::option"],[3766,"alloc::vec"],[3767,"massa_serialization"],[3768,"alloc::string"],[3769,"rust_decimal::decimal"],[3770,"core::ops::range"],[3771,"massa_hash::hash"],[3772,"massa_time"],[3773,"num_rational"],[3774,"alloc::collections::btree::map"],[3775,"massa_signature::error"],[3776,"core::error"],[3777,"num_enum"],[3778,"massa_hash::error"],[3779,"massa_time::error"],[3780,"massa_proto_rs::massa::model::v1"],[3781,"core::clone"],[3782,"core::convert"],[3783,"nom::traits"],[3784,"core::net::ip_addr"],[3785,"bitvec::vec"],[3786,"core::default"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,12,0,0,0,13,0,0,0,12,0,0,0,15,0,19,12,13,14,15,16,17,18,19,12,13,14,15,16,17,18,19,12,13,14,15,16,17,18,19,12,13,14,15,16,17,18,19,12,12,13,13,14,14,15,15,16,16,17,18,19,12,13,14,15,16,12,13,14,15,16,19,17,18,12,18,18,18,18,18,19,12,13,14,15,16,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,12,12,13,14,15,16,19,12,13,14,15,16,17,18,19,14,16,12,15,16,12,13,14,15,16,17,18,19,12,13,15,12,13,14,15,16,12,15,16,14,16,12,13,14,15,16,18,12,13,14,15,16,17,18,19,12,13,14,15,16,17,18,19,19,17,18,19,19,12,13,14,15,16,12,13,14,15,16,17,17,17,17,17,19,12,13,14,15,16,17,18,19,12,13,14,15,16,12,13,14,15,16,12,13,14,15,16,17,18,19,12,13,14,15,16,17,18,19,18,12,13,14,15,16,17,18,19,17,18,17,12,13,14,15,16,17,18,19,0,0,0,0,0,0,40,40,44,40,41,42,44,40,41,42,40,40,40,40,40,40,40,40,41,42,40,41,42,40,40,41,42,40,40,40,40,41,40,42,40,40,40,40,40,44,44,40,40,44,40,41,42,40,40,40,40,41,42,40,44,40,41,42,44,40,41,42,40,41,42,40,40,40,40,40,41,40,40,40,41,42,40,40,44,40,41,42,44,40,41,42,44,40,41,42,42,41,44,44,40,41,42,40,62,62,0,0,0,0,0,62,0,62,62,62,0,62,62,54,63,55,51,52,62,54,63,55,51,52,62,50,63,51,52,51,52,51,52,50,50,50,50,54,55,51,51,52,62,63,62,62,62,62,62,51,51,52,62,54,63,55,51,52,62,51,52,50,51,52,55,54,50,54,63,55,51,52,62,54,63,55,51,52,62,63,63,63,54,55,51,55,54,51,52,54,51,51,52,62,50,50,63,51,52,51,54,63,55,51,52,62,54,63,55,51,52,62,54,63,55,51,52,62,54,63,55,51,52,62,0,0,0,0,0,66,69,68,68,69,66,70,68,69,66,70,69,66,66,66,66,71,71,71,66,68,69,69,68,66,69,66,68,69,69,68,69,66,66,66,70,68,69,66,70,66,71,69,71,68,69,66,70,68,69,66,70,69,69,68,69,70,66,69,68,66,68,66,71,71,66,70,69,68,69,70,66,66,68,69,66,70,68,69,66,70,68,69,66,70,68,68,69,66,70,0,0,0,0,0,0,73,0,73,74,75,76,73,74,75,76,73,74,75,76,73,74,75,76,73,73,74,74,75,76,73,74,73,74,75,76,73,74,76,76,73,74,73,73,73,73,74,74,74,74,73,73,74,73,74,75,76,73,74,75,76,73,74,73,74,73,73,74,74,73,74,73,74,76,73,74,75,76,73,74,75,76,73,75,76,73,74,73,74,75,75,73,74,75,76,73,74,73,74,75,76,73,74,75,76,73,74,75,76,76,75,73,74,75,76,0,0,0,0,79,77,78,79,77,78,77,77,77,77,78,79,77,77,77,77,77,77,77,79,77,78,77,79,77,78,79,77,78,79,78,77,78,77,79,77,78,79,77,78,79,77,78,79,78,79,78,79,77,78,0,0,0,82,81,80,82,81,82,80,81,82,80,81,80,80,80,80,81,82,80,80,82,81,80,82,80,81,80,82,80,81,82,80,81,80,82,81,80,81,80,82,80,81,82,80,81,82,80,81,82,80,81,83,83,84,84,83,0,0,0,84,0,0,83,83,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,86,83,84,85,86,87,85,83,84,85,86,87,87,83,84,85,86,87,83,84,85,86,87,85,85,83,84,85,86,87,83,84,85,86,87,86,86,85,87,83,84,85,86,87,87,85,83,84,85,86,87,87,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,83,84,85,86,87,0,89,0,0,0,89,89,89,0,89,89,89,89,89,89,0,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,92,93,94,96,98,90,92,93,94,96,98,90,92,93,94,96,98,90,92,93,94,96,98,90,92,93,94,96,98,0,90,92,93,94,96,98,90,92,93,94,96,98,90,92,93,94,96,98,90,92,93,94,96,98,90,92,93,94,96,98,90,92,93,94,96,98,0,0,0,0,100,99,100,99,99,100,100,99,0,100,99,100,99,100,100,100,99,99,100,99,100,99,100,99,99,100,99,100,99,0,0,0,0,0,0,102,0,102,103,102,103,104,105,102,103,104,105,105,104,102,103,104,105,102,103,104,105,102,103,104,105,102,103,102,103,104,105,102,105,102,103,102,102,102,102,103,103,103,103,102,102,103,102,103,104,105,102,103,102,103,104,105,102,102,103,102,102,103,102,103,104,105,102,103,104,105,102,104,105,102,103,102,104,102,103,104,105,102,102,103,104,105,102,103,104,105,102,103,104,105,102,103,104,105,108,122,109,121,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,122,109,121,114,0,0,0,0,123,123,123,122,120,117,115,118,116,119,117,120,106,107,108,122,123,109,121,110,111,112,113,114,115,118,116,119,117,120,106,107,108,122,123,109,121,110,111,112,113,114,106,107,108,109,110,111,112,113,114,106,107,108,109,110,111,112,113,114,106,107,108,109,109,110,111,112,113,114,109,109,106,107,115,116,117,110,118,119,120,106,107,108,109,111,120,117,106,107,108,109,121,112,113,114,109,109,109,109,121,121,121,121,106,107,108,122,123,123,109,121,112,113,114,115,118,116,119,117,120,106,107,108,122,122,123,123,123,109,109,109,121,121,110,111,112,113,114,114,114,106,107,108,109,110,111,112,113,114,109,109,106,107,106,107,106,108,109,106,107,108,114,106,107,106,107,106,107,108,109,114,109,112,113,106,107,106,107,118,119,115,116,111,106,112,118,111,110,115,118,116,119,117,120,106,107,108,122,123,109,121,110,111,112,113,114,115,118,116,119,117,120,106,107,108,122,123,109,121,110,111,112,113,114,108,108,108,108,108,108,115,118,116,119,117,120,110,111,109,118,119,106,107,112,113,115,116,117,106,107,108,109,110,112,113,106,107,106,107,118,119,106,107,112,113,118,119,111,115,116,110,123,106,107,108,109,110,111,112,113,114,123,115,118,116,119,117,120,106,107,108,108,108,108,122,122,123,109,121,121,110,111,112,113,114,122,121,115,118,116,119,117,120,106,107,108,122,123,109,121,110,111,112,113,114,115,118,116,119,117,120,106,107,108,122,123,109,121,110,111,112,113,114,120,117,115,110,115,118,116,119,117,120,106,107,108,122,123,109,121,110,111,112,113,114,244,245,244,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,134,131,133,134,132,135,128,129,130,131,136,133,134,132,135,128,129,130,131,136,128,129,130,131,128,129,130,131,128,128,129,129,130,131,128,129,128,129,130,125,125,125,132,131,133,133,134,135,128,129,130,135,130,128,129,130,128,128,128,128,129,129,129,129,130,130,130,130,128,128,129,130,130,136,133,134,132,135,128,129,130,131,136,128,129,130,131,128,129,128,128,129,129,128,129,133,125,130,136,134,135,133,134,132,135,128,129,130,131,136,133,134,132,135,128,129,130,131,136,133,134,132,135,128,131,136,128,129,132,128,129,130,131,125,125,135,130,136,134,131,136,128,129,130,131,128,129,130,133,134,132,135,128,129,130,131,136,133,134,132,135,128,129,130,131,136,133,134,132,135,128,129,130,131,136,132,131,133,133,134,132,135,128,129,130,131,136,27,27,27,27,27,27,27,27,27,144,27,27,27,27,27,27,27,0,0,27,144,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,0,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,152,149,147,148,150,151,142,145,145,143,143,147,148,149,152,145,150,143,151,142,147,148,149,152,145,150,143,151,142,143,142,145,143,142,145,143,142,142,145,145,143,142,147,148,149,145,150,143,151,142,147,148,152,145,143,142,145,143,142,147,148,149,152,145,150,143,151,142,145,143,142,142,147,148,149,152,145,150,143,151,142,147,148,149,152,145,150,143,151,142,145,143,152,149,152,149,147,148,149,152,145,150,151,149,145,150,143,151,142,142,145,143,142,147,148,149,152,145,150,143,151,142,147,148,149,152,145,150,143,151,142,147,148,149,152,145,150,143,151,142,147,148,149,152,145,150,143,151,142,0,0,0,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,154,175,162,175,162,0,0,0,0,0,0,0,0,0,155,0,0,0,0,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,175,162,175,162,0,175,162,170,166,169,170,165,166,165,169,166,170,167,171,172,174,155,156,157,158,159,160,175,161,162,168,163,164,165,169,166,170,167,171,172,174,155,156,157,158,159,160,175,161,162,168,163,164,155,156,157,158,159,160,161,162,163,164,155,156,157,158,159,160,161,162,163,164,155,155,156,156,157,157,158,158,159,160,161,162,163,164,155,156,157,158,155,156,157,158,161,0,53,53,53,170,170,166,165,166,167,159,160,168,163,164,169,170,171,172,174,155,156,157,158,160,160,161,162,168,155,156,157,158,175,162,155,155,155,155,156,156,156,156,157,157,157,157,158,158,158,158,175,175,175,175,161,169,161,155,155,156,156,157,157,158,158,175,161,161,162,162,165,169,166,170,167,171,172,174,155,156,157,157,158,159,160,175,161,162,168,163,164,155,156,157,158,159,160,161,162,163,164,155,156,170,166,53,155,155,156,156,157,158,53,53,53,53,155,156,155,156,157,158,160,53,170,165,169,166,170,167,171,172,174,155,156,157,158,159,160,175,161,162,168,163,164,155,156,165,169,166,170,167,171,172,174,155,156,157,158,159,160,175,161,162,168,163,164,171,172,174,170,165,169,166,170,167,171,172,174,155,159,160,168,163,164,161,171,167,169,165,170,155,156,157,158,172,155,156,170,165,166,167,155,156,157,158,159,159,161,162,163,164,53,53,174,164,155,156,157,158,159,160,161,162,163,164,155,156,157,158,161,162,165,169,166,170,167,171,172,174,155,156,157,158,159,160,175,175,161,162,168,163,164,175,165,169,166,170,167,171,172,174,155,156,157,158,159,160,175,161,162,168,163,164,165,169,166,170,167,171,172,174,155,156,157,158,159,160,175,161,162,168,163,164,166,167,163,164,165,166,166,160,159,165,169,166,170,167,171,172,174,155,156,157,158,159,160,175,161,162,168,163,164,246,247,248,248,248,248,247,247,246,249,250,247,247,0,0,180,179,180,179,180,180,179,180,179,180,179,180,179,179,179,179,179,180,179,180,179,179,179,179,180,180,180,180,179,179,180,180,179,180,179,180,180,179,180,179,180,180,180,180,179,180,179,180,180,179,180,179,180,179,180,179,180,179,180,179,180,0,0,0,0,0,0,181,181,181,181,181,181,181,181,181,181,181,181,181,184,185,146,181,0,0,0,0,0,0,186,189,190,191,188,187,186,189,190,191,188,187,186,189,187,186,188,187,186,189,188,187,186,189,186,189,188,188,187,186,189,187,190,191,186,189,191,188,187,186,189,188,187,186,189,190,191,188,187,186,189,188,187,186,189,186,190,191,188,187,186,189,190,191,188,187,186,189,189,187,189,190,191,189,187,187,190,188,187,186,189,186,189,188,187,186,189,190,191,188,187,186,189,190,191,188,187,186,189,190,191,188,187,186,189,191,190,190,191,188,187,186,189,0,0,0,0,0,196,59,195,196,59,195,59,196,59,195,59,195,59,195,193,193,59,59,59,59,59,196,195,193,196,59,196,59,59,59,59,59,59,59,196,59,195,59,195,59,59,59,61,59,59,59,59,59,196,59,195,196,59,195,196,61,196,195,193,196,193,59,195,195,59,59,193,59,59,196,59,195,59,196,59,195,196,59,195,196,59,195,193,59,196,59,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,205,207,204,206,200,201,202,212,213,201,203,205,207,210,213,200,201,202,203,204,205,206,207,208,210,212,213,217,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,202,204,206,210,208,208,210,200,201,202,203,204,205,206,207,208,210,212,213,204,205,206,207,200,202,204,206,208,212,218,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,200,201,202,203,204,205,206,207,208,210,212,213,0,213,212,0,0,203,205,207,200,201,202,203,204,205,206,207,208,210,212,213,0,0,0,0,0,72,219,220,221,72,219,220,221,72,219,220,221,72,219,220,221,72,72,219,220,221,72,72,219,72,220,221,72,221,72,72,72,72,221,221,221,221,72,72,221,221,72,72,219,220,221,72,72,219,220,221,72,72,72,72,221,72,72,72,221,221,72,219,220,221,72,219,220,221,72,72,72,72,72,219,220,72,72,72,72,220,220,72,219,221,72,221,72,72,72,72,219,220,221,72,221,72,219,220,221,72,219,220,221,72,219,220,221,219,72,219,220,221,0,0,0,0,223,224,224,223,224,225,226,223,224,225,226,225,223,224,225,223,224,225,223,224,225,223,224,225,226,225,226,223,225,223,223,223,223,224,224,225,225,226,226,223,224,225,226,223,224,225,224,223,224,225,226,223,224,225,226,224,226,224,223,224,225,226,225,225,223,223,223,224,225,223,224,225,226,223,224,225,226,223,224,225,226,223,224,225,226,223,224,225,226,227,227,227,0,0,0,229,228,227,229,228,227,227,227,227,227,228,229,228,227,227,227,227,227,227,227,229,228,227,227,229,228,227,229,228,227,229,228,228,229,229,228,229,227,229,228,227,229,228,227,229,228,227,228,229,229,228,227,0,0,0,0,0,0,0,231,233,234,231,233,234,0,0,0,0,0,0,0,0,0,231,230,231,233,234,234,235,238,236,239,237,240,231,233,234,235,238,236,239,237,240,231,233,234,231,233,234,231,233,234,231,233,234,234,235,236,237,231,233,234,231,233,234,231,231,231,231,233,233,233,233,234,234,234,234,231,233,234,235,238,236,239,237,240,231,233,234,231,233,234,236,237,235,235,239,240,238,238,235,238,236,239,237,240,231,233,234,235,238,236,239,237,240,231,233,234,235,238,236,239,237,240,235,238,236,239,237,240,235,238,238,239,240,231,233,234,231,233,234,235,238,236,239,237,240,231,233,234,235,238,236,239,237,240,231,233,234,235,238,236,239,237,240,231,233,234,235,238,236,239,237,240,231,233,234,0,0,0,0,0,243,97,241,242,243,97,241,242,97,241,242,97,241,242,97,97,241,242,241,242,97,242,97,97,97,97,97,243,243,97,97,243,97,241,242,97,241,242,97,97,243,97,241,242,243,97,241,242,97,97,97,241,242,97,241,97,241,242,97,243,97,241,242,243,97,241,242,243,97,241,242,242,241,243,243,97,241,242],"f":"`````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{{{b{f}}}f}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}``{c{{j{f}}}l}`{{{b{f}}{b{dn}}}A`}{cc{}}{{{b{c}}}c{}}{ce{}{}}{c{{Ab{e}}}{}{}}```{{{b{f}}c}jAd}`{{{b{c}}}e{}{}}{c{{j{e}}}{}{}}0{{{b{c}}}Af{}}5````````````````````>>>>>>>>========{{{b{Ah}}}Ah}{{{b{Aj}}}Aj}{{{b{Al}}}Al}{{{b{An}}}An}{{{b{B`}}}B`}{{{b{Bb}}}Bb}{{{b{Bd}}}Bd}{{{b{Bf}}}Bf}{{{b{c}}{b{de}}}h{}{}}0000000{{{b{c}}}h{}}000000000000{{{b{Ah}}{b{Ah}}}Bh}{{{b{Aj}}{b{Aj}}}Bh}{{{b{Al}}{b{Al}}}Bh}{{{b{An}}{b{An}}}Bh}{{{b{B`}}{b{B`}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}0000`{{}Bb}{{}Bd}{c{{j{Ah}}}l}{{{b{Bd}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Ajc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Bd}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Ahc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Bd}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Anc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Bd}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}B`c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Bd}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Alc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{Bf}}}l}{{{b{Ah}}{b{Ah}}}Cd}{{{b{Aj}}{b{Aj}}}Cd}{{{b{Al}}{b{Al}}}Cd}{{{b{An}}{b{An}}}Cd}{{{b{B`}}{b{B`}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000000000000000{{{b{Ah}}{b{dn}}}A`}0{{{b{Aj}}{b{dn}}}A`}{{{b{Al}}{b{dn}}}A`}{{{b{An}}{b{dn}}}A`}{{{b{B`}}{b{dn}}}A`}{{{b{Bf}}{b{dn}}}A`}{cc{}}0000000{{{b{{Bl{Bj}}}}}{{j{AlCf}}}}{{{b{{Bl{Bj}}}}}{{j{B`Cf}}}}{{{b{Ch}}}Ah}{{{b{Ch}}}An}{{{b{Cj}}}B`}{{{b{c}}}c{}}0000000{{{b{Cl}}}{{j{Ahc}}}{}}{{{b{Cl}}}{{j{AjCf}}}}{{{b{Cl}}}{{j{AnCf}}}}{{{b{c}}{b{e}}}Cn{D`Db}Dd}0000{{{b{Ah}}Bj}Bj}{{{b{An}}Bj}Bj}{{{b{B`}}Bj}Bj}{{{b{Al}}}Cn}{{{b{B`}}}Cn}{{{b{Ah}}{b{dc}}}hDf}{{{b{Aj}}{b{dc}}}hDf}{{{b{Al}}{b{dc}}}hDf}{{{b{An}}{b{dc}}}hDf}{{{b{B`}}{b{dc}}}hDf}`{ce{}{}}0000000{c{{Ab{e}}}{}{}}0000000`{{}Bb}{{}Bd}``{{{b{Ah}}{b{Ah}}}{{Dh{Bh}}}}{{{b{Aj}}{b{Aj}}}{{Dh{Bh}}}}{{{b{Al}}{b{Al}}}{{Dh{Bh}}}}{{{b{An}}{b{An}}}{{Dh{Bh}}}}{{{b{B`}}{b{B`}}}{{Dh{Bh}}}}{{{b{Ah}}c}jAd}{{{b{Aj}}c}jAd}{{{b{Al}}c}jAd}{{{b{An}}c}jAd}{{{b{B`}}c}jAd}{{{b{Bb}}{b{Ah}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bb}}{b{Al}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bb}}{b{Aj}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bb}}{b{B`}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bb}}{b{An}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bf}}c}jAd}{{{b{c}}}e{}{}}0000000{Ah{{Dj{Bj}}}}{Aj{{Dj{Bj}}}}{Al{{Dj{Bj}}}}{An{{Dj{Bj}}}}{B`{{Dj{Bj}}}}{{{b{c}}}Dn{}}0000{c{{j{e}}}{}{}}000000000000000`{{{b{c}}}Af{}}0000000```{ce{}{}}0000000````````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{E`E`}{{Dh{E`}}}}{{E`E`}{{Dh{Cn}}}}{{E`Cn}{{Dh{E`}}}}0{{{b{E`}}{b{E`}}}{{Dh{E`}}}}{{{b{E`}}Cn}{{Dh{E`}}}}4{{{b{E`}}}E`}{{{b{Eb}}}Eb}{{{b{Ed}}}Ed}{{{b{c}}{b{de}}}h{}{}}00{{{b{c}}}h{}}000{{{b{E`}}{b{E`}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}{{CnEf}E`}{{}E`}{{}Eb}{c{{j{E`}}}l}{{{b{Ed}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}E`c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{E`}}{b{E`}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{Eh}}{b{dn}}}A`}{{{b{c}}{b{dn}}}{{j{hEj}}}{}}{{{b{E`}}{b{dn}}}A`}0{cc{}}000{El{{j{E`Cf}}}}{{CnEf}{{j{E`Cf}}}}{CnE`}{{{b{c}}}c{}}00{{{b{Cl}}}{{j{E`c}}}{}}{ce{}{}}000{c{{Ab{e}}}{}{}}000{{{b{E`}}}Cd}{{}Eb}{{{En{E`}}{En{E`}}}Ed}{{{b{E`}}{b{E`}}}{{Dh{Bh}}}}{{E`E`}E`}{{E`Cn}E`}1{{{b{E`}}c}jAd}{{{b{Eb}}{b{E`}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{E`El}{{{b{E`}}}{{F`{CnEf}}}}{{{b{c}}}e{}{}}00{{{b{E`}}}Cn}{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0000000{{{b{c}}}Af{}}000``{{Eh{b{Cl}}}{{j{E`c}}}Fb}{ce{}{}}000{{}E`}```````````````{{{b{c}}}{{b{e}}}{}{}}00000{{{b{dc}}}{{b{de}}}{}{}}00000{{{b{Fd}}}Cn}`{{{b{Ff}}}Ff}{{{b{Fh}}}Fh}{{{b{c}}{b{de}}}h{}{}}0{{{b{c}}}h{}}0{{{b{Fd}}Fj}Cd}```{{}Fl}{{{b{Fn}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Ffc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{Ff}}}l}{{{Dh{{b{G`}}}}{b{Gb}}{b{Gd}}{b{c}}{b{{Bl{Bj}}}}Cn}{{Bn{{b{{Bl{Bj}}}}{Gf{Ffe}}g}}}{{Gh{Ff}}}Gj{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{Fh}}}l}{c{{j{Gl}}}l}`{{{b{Gl}}{b{Gl}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{Ff}}{b{dn}}}A`}0{{{b{Fh}}{b{dn}}}A`}{{{b{Gl}}{b{dn}}}A`}{cc{}}00000{{{b{c}}}c{}}0{{{b{Fd}}}Cn}`````{ce{}{}}00000{c{{Ab{e}}}{}{}}00000```?{GnFn}{{Ffc{b{H`}}Cn}{{j{{Gf{Ffe}}Cf}}}{{G`{Ff}}}Gj}````{{{b{Fl}}{b{Ff}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Ff}}c}jAd}{{{b{Hb}}{b{Ch}}{b{{Bl{Bj}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Fh}}c}jAd}{{{b{Gl}}c}jAd}```{{{b{c}}}e{}{}}0{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}00000000000{{{b{c}}}Af{}}00000<<<<<<````````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000`{{{b{Hd}}}Hd}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{{{b{Hd}}{b{Ch}}{b{Hf}}}Hf}````{{}Hh}````{{{b{Hj}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Hdc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{Hd}}}l}``````{{{b{Hd}}{b{dn}}}A`}0{{{b{Hl}}{b{dn}}}A`}{cc{}}000{{{b{c}}}c{}}{{{b{Hn}}}Cn}``{ce{}{}}000{c{{Ab{e}}}{}{}}000``9{{BjEfEf{Dh{Cn}}Cn}Hj}{I`Hl}````{{{b{Hh}}{b{Hd}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Hd}}c}jAd}```````{{{b{Hl}}}{{Dj{Bj}}}}{{{b{c}}}e{}{}}{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0000000{{{b{c}}}Af{}}000`::::````````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{{b{Ib}}}Ib}{{{b{Id}}}Id}{{{b{If}}}If}{{{b{Ih}}}Ih}{{{b{c}}{b{de}}}h{}{}}000{{{b{c}}}h{}}00000{{{b{Ib}}{b{Ib}}}Bh}{{{b{Id}}{b{Id}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}0{{}If}{{}Ih}{c{{j{Ib}}}l}{c{{j{Id}}}l}{{{b{Ih}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Ibc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Ih}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Idc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Ib}}{b{Ib}}}Cd}{{{b{Id}}{b{Id}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000{{{b{Ib}}{b{dn}}}A`}0{{{b{Id}}{b{dn}}}A`}{cc{}}000{{{b{c}}}c{}}000{{{b{Cl}}}{{j{Ibc}}}{}}{{{b{Cl}}}{{j{Idc}}}{}}{{{b{Ib}}}Cd}{{{b{Id}}}Cd}{{{b{c}}{b{e}}}Cn{D`Db}Dd}{{{b{Ib}}}{{b{Hf}}}}{{{b{Id}}}{{b{Hf}}}}2{{{b{Ib}}}Cn}{{{b{Id}}}Cn}{{{b{Ib}}{b{dc}}}hDf}{{{b{Id}}{b{dc}}}hDf}`{ce{}{}}000{c{{Ab{e}}}{}{}}000{HfIb}{{}If}{{}Ih}{{{b{Ib}}{b{Ib}}}{{Dh{Bh}}}}{{{b{Id}}{b{Id}}}{{Dh{Bh}}}}{{{b{Ib}}c}jAd}{{{b{Id}}c}jAd}{{{b{If}}{b{Ib}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{If}}{b{Id}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{c}}}e{}{}}000{{{b{c}}}Dn{}}0{c{{j{e}}}{}{}}0000000{{{b{c}}}Af{}}000``>>>>````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{Ij}}}Ij}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{{}Ij}{{}Il}{{{b{In}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Ijc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{Ij}}}l}{{{b{Ij}}{b{Ij}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{Ij}}{b{dn}}}A`}{cc{}}00{{{b{c}}}c{}}{ce{}{}}00{c{{Ab{e}}}{}{}}00{CnIn}:{{{b{Ij}}c}jAd}{{{b{Il}}{b{Ij}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{c}}}e{}{}}{c{{j{e}}}{}{}}00000{{{b{c}}}Af{}}00````777````````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{J`}}}J`}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{{}J`}{{}Jb}{{{b{Jd}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}J`c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{J`}}}l}```{{{b{J`}}{b{dn}}}A`}{cc{}}00{{{b{c}}}c{}}{ce{}{}}00{c{{Ab{e}}}{}{}}00`{EfJd}8{{{b{J`}}c}jAd}{{{b{Jb}}{b{J`}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{c}}}e{}{}}{c{{j{e}}}{}{}}00000{{{b{c}}}Af{}}00777`````````````{{{b{c}}}{{b{e}}}{}{}}0000{{{b{dc}}}{{b{de}}}{}{}}0000{{{b{Jf}}}Jf}{{{b{Jh}}}Jh}{{{b{Jj}}}Jj}{{{b{Jl}}}Jl}{{{b{Jn}}}Jn}{{{b{c}}{b{de}}}h{}{}}0000{{{b{c}}}h{}}0000`{c{{j{Jf}}}l}{c{{j{Jh}}}l}{c{{j{Jj}}}l}{c{{j{Jl}}}l}{c{{j{Jn}}}l}{{{b{dJj}}{b{Jj}}}h}{{{b{Jf}}{b{dn}}}A`}{{{b{Jh}}{b{dn}}}A`}{{{b{Jj}}{b{dn}}}A`}{{{b{Jl}}{b{dn}}}A`}{{{b{Jn}}{b{dn}}}A`}0{cc{}}0000{{{b{c}}}c{}}0000``{ce{}{}}0000{c{{Ab{e}}}{}{}}0000````{{{b{Jf}}c}jAd}{{{b{Jh}}c}jAd}{{{b{Jj}}c}jAd}{{{b{Jl}}c}jAd}{{{b{Jn}}c}jAd}``{{{b{c}}}e{}{}}0000{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}000000000{{{b{c}}}Af{}}0000:::::``{{{b{Cl}}{b{Cl}}}cK`}``````````````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{Kb}}}Kb}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}0{{}Kb}`{c{{j{Kb}}}l}`{{{b{Kb}}{b{dn}}}A`}0{cc{}}{{{b{c}}}c{}}`{ce{}{}}{c{{Ab{e}}}{}{}}````{{{b{Kb}}c}jAd}``{{{b{c}}}e{}{}}{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0{{{b{c}}}Af{}}6````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}00000{{{b{dc}}}{{b{de}}}{}{}}00000{{{b{Kd}}}{{b{Kf}}}}{{{b{Kh}}}{{b{{Dh{Kf}}}}}}{{{b{Kj}}}{{b{H`}}}}{{{b{Kl}}}{{b{{Kn{Cn}}}}}}{{{b{L`}}}{{b{Lb}}}}{{{b{Ld}}}{{b{Cn}}}}{cc{}}00000{{}Cn}{ce{}{}}00000{c{{Ab{e}}}{}{}}00000============<<<<<<111111{{{b{Cl}}{b{Cl}}}cK`}```<<;;{{}Lf}{{{b{Lh}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Lj{{Dj{Bj}}{Dj{Bj}}}}c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}66{{{b{{Bl{Bj}}}}}{{F`{{En{{Dj{Bj}}}}{En{{Dj{Bj}}}}}}}}5544``{{CnBjCn}Lh}3{{{b{Lf}}{b{{Lj{{Dj{Bj}}{Dj{Bj}}}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{c{{j{e}}}{}{}}000{{{b{c}}}Af{}}0```99````````{{{b{Ll}}}{{b{{Bl{Bj}}}}}}{{{b{Ln}}}{{b{{Bl{Bj}}}}}}{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000``{{{b{Ll}}}Ll}{{{b{Ln}}}Ln}{{{b{M`}}}M`}{{{b{Mb}}}Mb}{{{b{c}}{b{de}}}h{}{}}000{{{b{c}}}h{}}000{{{b{Ll}}{b{Ll}}}Bh}{{{b{Ln}}{b{Ln}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}0{{}M`}{{}Mb}{c{{j{Ll}}}l}{{{b{Mb}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Llc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Ll}}{b{Ll}}}Cd}{{{b{Ln}}{b{Ln}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000{{{b{Ll}}{b{dn}}}A`}0{{{b{Ln}}{b{dn}}}A`}{cc{}}000{{{b{{Bl{Bj}}}}}{{j{LlCf}}}}{{{b{{Bl{Bj}}}}}{{j{LnCf}}}}{{{b{c}}}c{}}000{{{b{Cl}}}{{j{Llc}}}{}}{{{b{c}}{b{e}}}Cn{D`Db}Dd}0{{{b{Ll}}}{{j{I`Cf}}}}{{{b{Ll}}{b{dc}}}hDf}{{{b{Ln}}{b{dc}}}hDf}{ce{}{}}000{c{{Ab{e}}}{}{}}000{{CnI`Cn{b{{Bl{Bj}}}}}{{j{LlCf}}}}{{}M`}{{}Mb}{{{b{Ll}}{b{Ll}}}{{Dh{Bh}}}}{{{b{Ln}}{b{Ln}}}{{Dh{Bh}}}}{{{b{Ll}}c}jAd}{{{b{M`}}{b{Ll}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{c}}}e{}{}}000{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0000000{{{b{c}}}Af{}}000<<<<``````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}00000000000000000{{{b{dc}}}{{b{de}}}{}{}}00000000000000000{{{b{Md}}}Md}{{{b{Mf}}}Mf}{{{b{Mh}}}Mh}{{{b{Mj}}}Mj}{{{b{Ml}}}Ml}{{{b{Mn}}}Mn}{{{b{N`}}}N`}{{{b{Nb}}}Nb}{{{b{Nd}}}Nd}{{{b{c}}{b{de}}}h{}{}}00000000{{{b{c}}}h{}}000000000{{{b{Mj}}{b{Mj}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}{{{b{Ch}}{b{I`}}{b{Ef}}{b{Hf}}}Hf}{{{b{Ch}}{b{I`}}{b{Hf}}}Hf}{{}Nf}{{}Nh}{{}Nj}{{}Ml}{{{b{Nl}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Mdc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Nn}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Mfc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{O`}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Mhc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{Md}}}l}{c{{j{Mf}}}l}{c{{j{Mh}}}l}{c{{j{Mj}}}l}{{{b{Mn}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Mjc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}``{{{b{Md}}{b{Md}}}Cd}{{{b{Mf}}{b{Mf}}}Cd}{{{b{Mh}}{b{Mh}}}Cd}{{{b{Mj}}{b{Mj}}}Cd}{{{b{Ob}}{b{Ob}}}Cd}{{{b{N`}}{b{N`}}}Cd}{{{b{Nb}}{b{Nb}}}Cd}{{{b{Nd}}{b{Nd}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000{{{b{Md}}{b{dn}}}A`}{{{b{Mf}}{b{dn}}}A`}{{{b{Mh}}{b{dn}}}A`}{{{b{Od}}{b{dn}}}A`}{{{b{Of}}{b{dn}}}A`}0{{{b{Mj}}{b{dn}}}A`}{{{b{Ob}}{b{dn}}}A`}{{{b{N`}}{b{dn}}}A`}{{{b{Nb}}{b{dn}}}A`}{{{b{Nd}}{b{dn}}}A`}{cc{}}00000000{{{b{Mh}}}Od}11{OhOf}{DlOf}{{{b{Mh}}}Mj}4{{{b{Nd}}}Mj}{{{b{Mj}}}Ob}666666{{{b{Oj}}}Nd}{{{b{Hn}}}Nd}{{{b{c}}}c{}}00000000{{{b{Mj}}}Hf}{{{b{c}}{b{e}}}Cn{D`Db}Dd}{{{b{Md}}}{{b{Hf}}}}{{{b{Mf}}}{{b{Hf}}}}10{{{b{Md}}}{{b{Ef}}}}{{{b{Mh}}}{{Dh{{b{Ef}}}}}}{{{b{Mj}}}{{Dh{{b{Ef}}}}}}{{{b{Md}}}{{b{Ch}}}}{{{b{Mf}}}{{b{Ch}}}}{{{b{Mh}}}{{b{Ch}}}}{{{b{Nd}}}{{b{Ch}}}}{{{b{Md}}}{{b{Hb}}}}{{{b{Mf}}}{{b{Hb}}}}10{{{b{Md}}}{{b{I`}}}}{{{b{Mf}}}{{b{I`}}}}{{{b{Mh}}}{{b{I`}}}}{{{b{Mj}}}{{b{I`}}}}{{{b{Nd}}}{{b{I`}}}}{{{b{Mj}}{b{dc}}}hDf}````````````````{ce{}{}}00000000000000000{c{{Ab{e}}}{}{}}00000000000000000{{{b{Mh}}{b{Hn}}}{{j{CdOf}}}}{{{b{Mh}}{b{Oj}}}{{j{CdOf}}}}{{{b{Cn}}{b{Cn}}{b{Cn}}}Cd}{{{b{Mh}}}Cd}00{{}Nf}{{BjEf}Nl}{{}Nh}{BjNn}{{}Nj}{{BjEf}O`}{{}Ml}{{BjEf}Mn}{{{b{Mj}}{b{Mj}}}{{Dh{Bh}}}}``````{{{b{Nf}}{b{Md}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Nh}}{b{Mf}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Nj}}{b{Mh}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Md}}c}jAd}{{{b{Mf}}c}jAd}{{{b{Mh}}c}jAd}{{{b{Mj}}c}jAd}{{{b{Ml}}{b{Mj}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}``````````````````{{{b{Of}}}{{Dh{{b{Ol}}}}}}{{{b{c}}}e{}{}}00000000{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}00000000{{{F`{{b{Oj}}{b{Oj}}}}}{{j{Mhc}}}{}}{{{F`{{b{Nd}}{b{Nd}}}}}{{j{Mhc}}}{}}{{{F`{{b{Hn}}{b{Hn}}}}}{{j{Mhc}}}{}}3{Ef{{j{Od{On{Od}}}}}}44{Ef{{j{Ob{On{Ob}}}}}}555555{c{{j{Od{On{Od}}}}}{}}{c{{j{Ob{On{Ob}}}}}{}}777777777777777777{{{b{c}}}Af{}}00000000000000000````{ce{}{}}00000000000000000`````````````````````{{{b{c}}}{{b{e}}}{}{}}00000000{{{b{dc}}}{{b{de}}}{}{}}00000000{{{b{A@`}}}A@`}{{{b{A@b}}}A@b}{{{b{A@d}}}A@d}{{{b{A@f}}}A@f}{{{b{c}}{b{de}}}h{}{}}000{{{b{c}}}h{}}00000{{{b{A@`}}{b{A@`}}}Bh}{{{b{A@b}}{b{A@b}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}0{{{b{A@d}}{b{Ch}}{b{Hf}}}Hf}```{{}A@h}{{}A@f}{{{b{A@j}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}A@`c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{A@j}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}A@bc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{A@l}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}A@dc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{A@n}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}A@dc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{A@`}}}l}{c{{j{A@b}}}l}{c{{j{A@d}}}l}``{{{b{A@`}}{b{A@`}}}Cd}{{{b{A@b}}{b{A@b}}}Cd}{{{b{A@d}}{b{A@d}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}00000000000{{{b{A@`}}{b{dn}}}A`}0{{{b{A@b}}{b{dn}}}A`}{{{b{A@d}}{b{dn}}}A`}0{{{b{AA`}}{b{dn}}}A`}{cc{}}00000000{{{b{c}}}c{}}000{{{b{Cl}}}{{j{A@`c}}}{}}{{{b{Cl}}}{{j{A@bc}}}{}}{{{b{A@`}}}{{b{Hf}}}}{{{b{c}}{b{e}}}Cn{D`Db}Dd}{{{b{A@b}}}{{b{Hf}}}}1{{{b{A@`}}{b{dc}}}hDf}{{{b{A@b}}{b{dc}}}hDf}``````{ce{}{}}00000000{c{{Ab{e}}}{}{}}00000000{{}A@j}{{BjEf}A@l}{{}A@h}{{EfI`Ib}A@n}{HfA@`}{{}A@f}{{I`Ef}AA`}{{{b{A@`}}{b{A@`}}}{{Dh{Bh}}}}{{{b{A@b}}{b{A@b}}}{{Dh{Bh}}}}{{{b{A@h}}{b{A@d}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{A@`}}c}jAd}{{{b{A@b}}c}jAd}{{{b{A@d}}c}jAd}{{{b{A@f}}{b{A@d}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}```````{{{b{AA`}}}{{Dj{Bj}}}}{{{b{c}}}e{}{}}000{{{b{c}}}Dn{}}00{c{{j{e}}}{}{}}00000000000000000{{{b{c}}}Af{}}00000000```{ce{}{}}00000000```````````````````````````````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{Cf}}}Cf}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{{{b{Cf}}{b{dn}}}A`}0{cc{}}{AAbCf}{{{AAf{{AAd{{b{{Bl{Bj}}}}}}}}}Cf}{DlCf}{OhCf}{AAhCf}{{{b{Cl}}}Cf}{{{b{c}}}c{}}>{c{{Ab{e}}}{}{}}{{{b{Cf}}}{{Dh{{b{Ol}}}}}}{{{b{c}}}e{}{}}{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0{{{b{c}}}Af{}}{ce{}{}}`{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{AAj}}}AAj}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{{}AAj}{c{{j{AAj}}}l}``{{{b{AAj}}{b{dn}}}A`}{cc{}}{{{b{c}}}c{}}:{c{{Ab{e}}}{}{}}````{{{b{AAj}}c}jAd}`{{{b{c}}}e{}{}}??>=```````````````{{{b{dAAl}}{b{Ah}}{b{AAn}}}{{AB`{h}}}}{{{b{dABb}}{b{AAn}}}{{AB`{h}}}}```>>>>>>>>>========={{{b{dAAn}}{b{AAn}}}{{AB`{hCf}}}}{{{b{dAAl}}{b{AAl}}}{{AB`{h}}}}{{{b{ABb}}}ABb}{{{b{AAn}}}AAn}{{{b{AAl}}}AAl}{{{b{c}}{b{de}}}h{}{}}00{{{b{AAl}}{b{{ABd{Ah}}}}}AAl}{{{b{c}}}h{}}000{{}ABf}{{}ABh}{{}ABj}{{}ABb}{{}ABl}{{}AAn}{{}ABn}{{}AAl}{{{b{ABf}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}ABbc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{ABh}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AAnc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AC`}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AAlc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{ABb}}}l}{c{{j{AAn}}}l}{c{{j{AAl}}}l}{{{b{ABb}}{b{dn}}}A`}{{{b{AAn}}{b{dn}}}A`}{{{b{AAl}}{b{dn}}}A`}{cc{}}00000000{{{b{c}}}c{}}00{{{b{AAl}}}{{ABd{Ah}}}}{ce{}{}}00000000{c{{Ab{e}}}{}{}}00000000{{{b{ABb}}}Cd}{{{b{AAn}}}Cd}````{{}ABf}{{}ABh}{{}ABj}{CnAC`}{E`ABb}{{}ABl}{{}ABn}{{{b{ABj}}{b{AAl}}{b{d{Dj{Bj}}}}}{{AB`{hDl}}}}{{{b{ABb}}c}jAd}{{{b{ABl}}{b{ABb}}{b{d{Dj{Bj}}}}}{{AB`{hDl}}}}{{{b{AAn}}c}jAd}{{{b{ABn}}{b{AAn}}{b{d{Dj{Bj}}}}}{{AB`{hDl}}}}{{{b{AAl}}c}jAd}{{{b{dAAl}}{b{{ABd{Ah}}}}AAl}h}{{{b{c}}}e{}{}}00{c{{j{e}}}{}{}}00000000000000000{{{b{c}}}Af{}}00000000{ce{}{}}00000000{ACb{{j{MjCf}}}}``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{ACd}}}ACd}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}0{{{b{ACd}}{b{ACd}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}{c{{j{ACd}}}l}{{{b{ACd}}{b{ACd}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{ACd}}{b{dn}}}A`}0{cc{}}{{{b{c}}}c{}}{{{b{Cl}}}{{j{ACdc}}}{}}{{{b{c}}{b{e}}}Cn{D`Db}Dd}{{{b{ACd}}}Ch}{{{b{ACd}}{b{dc}}}hDf}{ce{}{}}{c{{Ab{e}}}{}{}}{ChACd}{{{b{ACd}}{b{ACd}}}{{Dh{Bh}}}}{{{b{ACd}}c}jAd}{{{b{c}}}e{}{}}{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0{{{b{c}}}Af{}}8``````````````````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}0000000000000000000{{{b{dc}}}{{b{de}}}{}{}}0000000000000000000{{{b{ACf}}}ACf}{{{b{ACh}}}ACh}{{{b{ACj}}}ACj}{{{b{ACl}}}ACl}{{{b{ACn}}}ACn}{{{b{AD`}}}AD`}{{{b{ADb}}}ADb}{{{b{ADd}}}ADd}{{{b{ADf}}}ADf}{{{b{ADh}}}ADh}{{{b{c}}{b{de}}}h{}{}}000000000{{{b{c}}}h{}}0000000000000{{{b{ACf}}{b{ACf}}}Bh}{{{b{ACh}}{b{ACh}}}Bh}{{{b{ACj}}{b{ACj}}}Bh}{{{b{ACl}}{b{ACl}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}000{{{b{ADb}}{b{{Bl{Bj}}}}{b{Ch}}Cn}Hf}{{{b{{Bl{ACf}}}}{b{ACn}}}Hf}``````{{}ADj}{{}ADl}{{}ADn}{{}ACn}{{}AD`}{{}AE`}{{}ADf}{{}ADh}{{{b{AEb}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}ADbc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AEd}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}ADdc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AEf}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Dj{ACf}}c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AEh}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AEjc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AEl}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Dj{Fj}}c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{ACf}}}l}{c{{j{ACh}}}l}{c{{j{ACj}}}l}{c{{j{ACl}}}l}{{{b{AD`}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}ACfc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AD`}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AChc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{ADb}}}l}{c{{j{ADd}}}l}{{{b{AE`}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}ACjc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{ACf}}{b{ACf}}}Cd}{{{b{ACh}}{b{ACh}}}Cd}{{{b{ACj}}{b{ACj}}}Cd}{{{b{ACl}}{b{ACl}}}Cd}{{{b{AEn}}{b{AEn}}}Cd}{{{b{ADd}}{b{ADd}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000000000000000```{{{b{ACf}}{b{dn}}}A`}0{{{b{ACh}}{b{dn}}}A`}0{{{b{ACj}}{b{dn}}}A`}0{{{b{ACl}}{b{dn}}}A`}0{{{b{AEn}}{b{dn}}}A`}{{{b{ADb}}{b{dn}}}A`}0{{{b{ADd}}{b{dn}}}A`}0{cc{}}0000000000{{{b{{AF`{Bj}}}}}ACj}111111111{{{b{c}}}c{}}000000000{{{b{Cl}}}{{j{ACfc}}}{}}{{{b{Cl}}}{{j{AChc}}}{}}``{{{b{Fj}}CnCn}Cn}{{{b{c}}{b{e}}}Cn{D`Db}Dd}{{{b{ACf}}}{{b{Hf}}}}1{{{b{ACh}}}{{b{Hf}}}}22{{{b{Fj}}}{{ABd{Ah}}}}{{{b{Fj}}E`}E`}{{{b{Fj}}}{{j{{ABd{Ah}}Cf}}}}{{{b{Fj}}Cn}{{AFb{Cn}}}}{{{b{ACf}}}Cn}{{{b{ACh}}}Cn}{{{b{ACf}}{b{dc}}}hDf}{{{b{ACh}}{b{dc}}}hDf}{{{b{ACj}}{b{dc}}}hDf}{{{b{ACl}}{b{dc}}}hDf}```{ce{}{}}0000000000000000000{ACfACj}{AChACj}{c{{Ab{e}}}{}{}}0000000000000000000````{{}ADj}{{CnAFdEfCnBjCn}AEb}{{}ADl}{{CnAFdEfCnBjCn}AEd}{{}ADn}{EfAEf}{EfAEh}{{EfCnAFdEfCnBjCnCn}AEl}{HfACf}{{}ACn}{{}AD`}{{}AE`}{{}ADf}{{}ADh}``````{{{b{ACf}}{b{ACf}}}{{Dh{Bh}}}}{{{b{ACh}}{b{ACh}}}{{Dh{Bh}}}}{{{b{ACj}}{b{ACj}}}{{Dh{Bh}}}}{{{b{ACl}}{b{ACl}}}{{Dh{Bh}}}}`{{{b{ACf}}}ACj}{{{b{ACh}}}ACj}`{{{b{ADj}}{b{ADb}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{ADl}}{b{ADd}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{ADn}}{b{{Dj{ACf}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{ACf}}c}jAd}{{{b{ACh}}c}jAd}{{{b{ACj}}c}jAd}{{{b{ACl}}c}jAd}{{{b{ACn}}{b{ACf}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{ACn}}{b{ACh}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{ADb}}c}jAd}{{{b{ADd}}c}jAd}{{{b{ADf}}{b{AEj}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{ADh}}{b{{Dj{Fj}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}````{{{b{c}}}e{}{}}000000000{{{b{c}}}Dn{}}00000{c{{j{e}}}{}{}}0000000000000{Ef{{j{AEn{On{AEn}}}}}}111111{c{{j{AEn{On{AEn}}}}}{}}22222222222222222222{{{b{c}}}Af{}}0000000000000000000`````````{ce{}{}}0000000000000000000````````````````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0`{{{b{AFf}}}AFf}{{{b{AFh}}}AFh}{{{b{c}}{b{de}}}h{}{}}0{{{b{c}}}h{}}0{{{b{AFf}}{b{AFf}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}``{c{{j{AFf}}}l}{c{{j{AFh}}}l}{{{b{AFf}}{b{AFf}}}Cd}{{{b{AFh}}{b{AFh}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000{{{b{AFf}}{b{dn}}}A`}0{{{b{AFh}}{b{dn}}}A`}0{cc{}}0{{{b{c}}}c{}}0`{ce{}{}}0{c{{Ab{e}}}{}{}}0```{{{b{AFf}}{b{AFf}}}{{Dh{Bh}}}}`{{{b{AFf}}c}jAd}{{{b{AFh}}c}jAd}`{{{b{c}}}e{}{}}0{{{b{c}}}Dn{}}0{c{{j{e}}}{}{}}000{{{b{c}}}Af{}}088``````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{}{{AFj{c}}}AFl}{{{b{{AFj{c}}}}}CnAFl}>`<;`554<{AFnAG`}{AFn{{AGb{ce}}}AFl{}}{AFn{{ABd{c}}}AFl}{{{b{d{AFj{c}}}}{b{{Bl{Bj}}}}}hAFl}``````{{{b{dAGd}}{b{Ah}}{b{AGf}}}{{AB`{AGh}}}}{{{b{dAGj}}{b{AGd}}}{{AB`{h}}}}999999888888{{{b{dAGf}}{b{AGf}}}{{AB`{AGh}}}}{{{b{dAGd}}{b{AGd}}}{{AB`{{AGb{AhAGh}}}}}}{{{b{AGh}}}AGh}{{{b{AGf}}}AGf}{{{b{AGd}}}AGd}{{{b{AGj}}}AGj}{{{b{c}}{b{de}}}h{}{}}000{{{b{AGd}}{b{{ABd{Ah}}}}}AGd}{{{b{AGj}}{b{{ABd{Ah}}}}}AGj}{{{b{c}}}h{}}0000{{{b{dAGf}}}AGh}{{}AGl}{{}AGn}{{}AGd}{{}AGj}{{{b{AGn}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AGfc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{AGh}}}l}{c{{j{AGf}}}l}{c{{j{AGd}}}l}{c{{j{AGj}}}l}{{{b{AGh}}{b{dn}}}A`}{{{b{AGf}}{b{dn}}}A`}{{{b{AGd}}{b{dn}}}A`}{{{b{AGj}}{b{dn}}}A`}{cc{}}00000{{{b{c}}}c{}}000{{{b{AGd}}}{{ABd{Ah}}}}{ce{}{}}00000{c{{Ab{e}}}{}{}}00000{{{b{AGj}}}Cd}{{{b{AGf}}}Cd}{{{b{AGj}}}AFn}{{}AGl}{{}AGn}{{}AGj}``{{{b{AGl}}{b{AGf}}{b{d{Dj{Bj}}}}}{{AB`{hDl}}}}{{{b{AGh}}c}jAd}{{{b{AGf}}c}jAd}{{{b{AGd}}c}jAd}{{{b{AGj}}c}jAd}{{{b{dAGd}}{b{{ABd{Ah}}}}AGd}h}{{{b{dAGj}}{b{{ABd{Ah}}}}AGj}h}{{{b{c}}}e{}{}}000{c{{j{e}}}{}{}}00000000000{{{b{c}}}Af{}}00000``{ce{}{}}00000`````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{Gf{FfIb}}}}}Cn}`{{{b{{Gf{ce}}}}}{{Gf{ce}}}{AH`AHbAHd}{GjAHd}}{{{b{AHf}}}AHf}{{{b{c}}{b{de}}}h{}{}}0{{{b{c}}}h{}}0{{{b{AHb}}{b{{Bl{Bj}}}}{b{Ch}}Cn}Hf}{{{b{AHb}}{b{Ch}}{b{Hf}}}Hf}{{{b{{Gf{ce}}}}}Hf{AH`AHb}Gj}{{{b{{Gf{FfIb}}}}Fj}Cd}````{{}AHf}{{{Dh{{b{G`}}}}{b{Gb}}{b{Gd}}{b{c}}{b{{Bl{Bj}}}}Cn}{{Bn{{b{{Bl{Bj}}}}{Gf{AHbe}}g}}}{{Gh{AHb}}}Gj{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AHh{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Gf{cg}}i}}}{AH`AHb}{{Gh{c}}}Gj{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{{Gf{eg}}}}}l{AH`AHbK`}{GjK`}}{{{b{{AHh{ce}}}}{b{g}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Gf{ci}}k}}}{AH`AHb}{{Gh{c}}}{{G`{c}}}Gj{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{Gf{ce}}}}{b{{Gf{ce}}}}}Cd{AH`AHbAHj}{GjAHj}}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{{Gf{ce}}}}{b{dn}}}A`{AH`AHb}Gj}{{{b{{Gf{ce}}}}{b{dn}}}A`{AH`AHbAHl}{GjAHl}}{cc{}}00{{{b{c}}}c{}}0{{{b{{Gf{HdIb}}}}}Cn}{{{b{{Gf{FfIb}}}}}Cn}{{{b{{Gf{ADbACf}}}}CnCn}Cn}{{{b{Gj}}}{{b{Hf}}}}{{{b{{Gf{ADbACf}}}}}{{ABd{Ah}}}}{{{b{{Gf{ADbACf}}}}E`}E`}{{{b{{Gf{ADbACf}}}}}{{j{{ABd{Ah}}Cf}}}}{{{b{{Gf{ADbACf}}}}Cn}{{AFb{Cn}}}}`{ce{}{}}00{c{{Ab{e}}}{}{}}00`{HfGj}{{eCn}{{AHh{ce}}}{AH`AHb}{{Gh{c}}}}{{}AHf}{{AHbc{b{H`}}Cn}{{j{{Gf{AHbe}}Cf}}}{{G`{AHb}}}Gj}`{{{b{Hb}}{b{Ch}}{b{{Bl{Bj}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{{Gf{ce}}}}g}j{AH`AHbAHn}{GjAHn}Ad}{{{b{AHf}}{b{{Gf{ce}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}{AH`AHb}Gj}{{{b{AHf}}{b{e}}{b{{Gf{cg}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}{AH`AHb}{{G`{c}}}Gj}`{{{b{{Gf{ce}}}}}AFn{AH`AHb}Gj}{{{b{AHb}}{b{H`}}{b{Hf}}}{{j{HbCf}}}}{{{b{H`}}{b{Hf}}{b{c}}}{{j{HbCf}}}{AH`AHb}}``{{{b{c}}}e{}{}}0{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}00000{{{b{c}}}Af{}}00{{{b{AHb}}{b{Ch}}{b{Hf}}{b{Hb}}}{{j{hCf}}}}{{{b{{Gf{ce}}}}}{{j{hCf}}}{AH`AHb}Gj}{ce{}{}}00``````````````{{{b{{Bl{Bj}}}}}{{j{{AF`{Bj}}Cf}}}}{{{b{c}}}{{b{e}}}{}{}}00000000000{{{b{dc}}}{{b{de}}}{}{}}00000000000{{{b{AI`}}}AI`}{{{b{AIb}}}AIb}{{{b{AId}}}AId}{{{b{AIf}}}AIf}{{{b{{AIh{ce}}}}}{{AIh{ce}}}AHd{{G`{c}}AHd}}{{{b{{AIj{ce}}}}}{{AIj{ce}}}AHd{{Gh{c}}AHdAHd}}{{{b{{AIl{ce}}}}}{{AIl{ce}}}AHd{{G`{c}}AHd}}{{{b{{AIn{ce}}}}}{{AIn{ce}}}AHd{{Gh{c}}AHdAHd}}{{{b{{AJ`{ec}}}}}{{AJ`{ec}}}{{AJb{AFn}}AHd}{{G`{c}}AHd}}{{{b{{AJd{ec}}}}}{{AJd{ec}}}{{AJb{AFn}}AJfAHd}{{Gh{c}}AHd}}{{{b{AJh}}}AJh}{{{b{AJj}}}AJj}{{{b{c}}{b{de}}}h{}{}}00000000000{{{b{c}}}h{}}00000000000````{{}AI`}{{}AIb}{{}AId}{{}AJh}{{}AJj}{{{b{AIb}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AJlc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AIf}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Dj{Bj}}c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AIj{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Dj{c}}g}}}{}{{Gh{c}}AHd}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AIn{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{ABd{c}}g}}}{AFlAJnD`}{{Gh{c}}AHd}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AJd{ec}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Dng}}}{{AJb{AFn}}AJf}{{Gh{c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AJj}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{AK`{Bj}}c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{cc{}}00000000000{{{b{{Bl{Bj}}}}AKb}{{j{{F`{AKbAFn}}Cf}}}}{{{b{c}}}c{}}00000000000{ce{}{}}00000000000{c{{Ab{e}}}{}{}}00000000000```````?>={{{En{Cn}}{En{Cn}}}AIf}{e{{AIh{ce}}}{}{{G`{c}}}}{{e{En{Cn}}{En{Cn}}}{{AIj{ce}}}{}{{Gh{c}}AHd}}{e{{AIl{ce}}}{}{{G`{c}}}}{{e{En{Cn}}{En{Cn}}}{{AIn{ce}}}{}{{Gh{c}}AHd}}{e{{AJ`{ec}}}{{AJb{AFn}}}{{G`{c}}}}{e{{AJd{ec}}}{{AJb{AFn}}AJf}{{Gh{c}}}}{{}AJh}{{}AJj}````{{{b{AI`}}{b{AJl}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{AId}}{b{{Dj{Bj}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{{AIh{ce}}}}{b{{Dj{c}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}{}{{G`{c}}}}{{{b{{AIl{ce}}}}{b{{ABd{c}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}AFl{{G`{c}}}}{{{b{{AJ`{ec}}}}{b{Dn}}{b{d{Dj{Bj}}}}}{{j{hDl}}}{{AJb{AFn}}}{{G`{c}}}}{{{b{AJh}}{b{{AK`{Bj}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{AKdAKd}{{j{{Dj{Bj}}Cf}}}}{{{b{c}}}e{}{}}00000000000{c{{j{e}}}{}{}}00000000000000000000000{{{b{c}}}Af{}}00000000000{EfAFn}``{CnAFn}{{{b{{Bl{Bj}}}}}{{j{BjCf}}}}```{ce{}{}}00000000000`````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{{b{I`}}}I`}{{{b{AKf}}}AKf}{{{b{AKh}}}AKh}{{{b{AKj}}}AKj}{{{b{c}}{b{de}}}h{}{}}000{{{b{c}}}h{}}0000{{{b{I`}}{b{I`}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}{{}AKf}{c{{j{I`}}}l}{{{b{AKh}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}I`c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{AKj}}}l}{{{b{I`}}{b{I`}}}Cd}{{{b{AKj}}{b{AKj}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000{{{b{I`}}{b{dn}}}A`}0{{{b{AKj}}{b{dn}}}A`}0{AKlI`}{cc{}}000{{{b{{AF`{Bj}}}}}I`}{{{b{c}}}c{}}000{{{b{Cl}}}{{j{I`c}}}{}}{{{b{I`}}Cn}Cn}{{{b{I`}}}Cd}{{{b{c}}{b{e}}}Cn{D`Db}Dd}0{{{b{I`}}Bj}{{j{I`Cf}}}}0{{{b{I`}}{b{dc}}}hDf}{{{b{AKj}}{b{dc}}}hDf}`{ce{}{}}000{c{{Ab{e}}}{}{}}000{{{b{I`}}Cn}Cd}{{{b{I`}}CnBj}Cd}{BjI`}{{}I`}{{CnBj}I`}{{}AKf}{{{F`{{En{Cn}}{En{Cn}}}}{F`{{En{Bj}}{En{Bj}}}}}AKh}{{CnCn}{{j{I`Cf}}}}{{CnCnBj}{{j{I`Cf}}}}{{{b{I`}}{b{I`}}}{{Dh{Bh}}}}```{{{b{I`}}c}jAd}{{{b{AKf}}{b{I`}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{AKj}}c}jAd}{{{b{I`}}CnBj}{{j{I`Cf}}}}`{{{b{I`}}{b{I`}}Bj}{{j{CnCf}}}}`{{{b{I`}}}{{AF`{Bj}}}}{{{b{c}}}e{}{}}000{{{b{c}}}Dn{}}0{c{{j{e}}}{}{}}0000000{{{b{c}}}Af{}}000`{ce{}{}}000```````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000`{{{b{AKn}}}AKn}{{{b{AL`}}}AL`}{{{b{ALb}}}ALb}{{{b{c}}{b{de}}}h{}{}}00{{{b{c}}}h{}}00{c{{j{AKn}}}l}{c{{j{AL`}}}l}{c{{j{ALb}}}l}{c{{j{ALd}}}l}``````{{{b{AKn}}{b{dn}}}A`}0{{{b{AL`}}{b{dn}}}A`}0{{{b{ALb}}{b{dn}}}A`}0{{{b{ALd}}{b{dn}}}A`}0{cc{}}000{{{b{c}}}c{}}00`{ce{}{}}000{c{{Ab{e}}}{}{}}000```{{{b{AKn}}c}jAd}{{{b{AL`}}c}jAd}{{{b{ALb}}c}jAd}{{{b{ALd}}c}jAd}````{{{b{c}}}e{}{}}00{{{b{c}}}Dn{}}000{c{{j{e}}}{}{}}0000000{{{b{c}}}Af{}}0009999``````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{ALf{c}}}}}{{ALf{c}}}AHd}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}0``{{{b{{ALh{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{ALf{c}}g}}}AHd{{Gh{c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{ALf{c}}}}{b{{ALf{c}}}}}CdAHj}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{{ALf{c}}}}}Cd{}}{{{b{{ALf{c}}}}{b{dn}}}A`AHl}{cc{}}00{{{b{c}}}c{}}{ce{}{}}00{c{{Ab{e}}}{}{}}00{e{{ALj{ce}}}{}{{G`{c}}AHd}}{e{{ALh{ce}}}AHd{{Gh{c}}AHd}}````{{{b{{ALj{ce}}}}{b{{ALf{c}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}AHl{{G`{c}}}}{{{b{c}}}e{}{}}{c{{j{e}}}{}{}}00000{{{b{c}}}Af{}}00``777{{BjKfKfI`}{{j{KfCf}}}}{{BjKfKfKf}I`}{{BjKfKf}{{j{{Dh{I`}}Cf}}}}{{BjKfKfKf}{{j{{Dh{I`}}Cf}}}}{{I`I`Bj}{{j{CnCf}}}}{{BjKfKf{Dh{Kf}}{Dh{Kf}}}{{j{{F`{{Dh{I`}}{Dh{I`}}}}Cf}}}}`````````````````{{{b{dALl}}c}h{}}{{{b{d{ALn{ec}}}}{ALn{ec}}}h{AHdALl}{AM`{ALl{c}}}}{{{b{d{AMb{c}}}}{AMb{c}}}hAHd}{{{b{d{AMd{c}}}}{AMd{c}}}hAHd}{{{AMd{c}}{b{dc}}}hAHd}{{{b{c}}}{{b{e}}}{}{}}00000000{{{b{dc}}}{{b{de}}}{}{}}00000000{{{b{{ALn{ec}}}}}{{ALn{ec}}}{AHdALlAHd}{AHdAM`{ALl{c}}}}{{{b{{AMb{c}}}}}{{AMb{c}}}{AHdAHd}}{{{b{{AMd{c}}}}}{{AMd{c}}}{AHdAHd}}{{{b{c}}{b{de}}}h{}{}}00{{{b{c}}}h{}}00{{}{{AMd{c}}}AHd}{{{b{{AMf{ecgi}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{ALn{ec}}k}}}{ALlAHd}{AM`{ALl{c}}}{{Gh{e}}}{{Gh{c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AMh{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{AMb{c}}g}}}AHd{{Gh{c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AMj{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{AMd{c}}g}}}AHd{{Gh{c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{{ALn{ge}}}}}l{K`ALlAHd}{K`AM`{ALl{e}}}}{c{{j{{AMb{e}}}}}l{K`AHd}}{c{{j{{AMd{e}}}}}l{K`AHd}}{{{b{{ALn{ec}}}}{b{{ALn{ec}}}}}Cd{AHjALlAHd}{AHjAM`{ALl{c}}}}{{{b{{AMb{c}}}}{b{{AMb{c}}}}}Cd{AHjAHd}}{{{b{{AMd{c}}}}{b{{AMd{c}}}}}Cd{AHjAHd}}{{{b{c}}{b{e}}}Cd{}{}}00000000000{{{b{{ALn{ec}}}}{b{dn}}}A`{AHlALlAHd}{AHlAM`{ALl{c}}}}{{{b{{AMb{c}}}}{b{dn}}}A`{AHlAHd}}{{{b{{AMd{c}}}}{b{dn}}}A`{AHlAHd}}{cc{}}00000000{{{b{c}}}c{}}00````````{ce{}{}}00000000{c{{Ab{e}}}{}{}}00000000{{gi}{{AMf{ecgi}}}{ALlAHd}{AM`{ALl{c}}}{{Gh{e}}}{{Gh{c}}}}{{gi}{{AMl{ecgi}}}{ALlAHd}{AM`{ALl{c}}}{{G`{e}}}{{G`{c}}}}{e{{AMh{ce}}}AHd{{Gh{c}}}}{e{{AMn{ce}}}AHd{{G`{c}}}}{e{{AMj{ce}}}AHd{{Gh{c}}}}{e{{AN`{ce}}}AHd{{G`{c}}}}````````{{{b{{AMl{ecgi}}}}{b{{ALn{ec}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}{ALlAHd}{AM`{ALl{c}}}{{G`{e}}}{{G`{c}}}}{{{b{{AMn{ce}}}}{b{{AMb{c}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}AHd{{G`{c}}}}{{{b{{AN`{ce}}}}{b{{AMd{c}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}AHd{{G`{c}}}}{{{b{{ALn{ec}}}}g}j{AHnALlAHd}{AHnAM`{ALl{c}}}Ad}{{{b{{AMb{c}}}}e}j{AHnAHd}Ad}{{{b{{AMd{c}}}}e}j{AHnAHd}Ad}{{{b{c}}}e{}{}}00{c{{j{e}}}{}{}}00000000000000000{{{b{c}}}Af{}}00000000{ce{}{}}00000000`````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{{b{Lb}}}Lb}{{{b{ANb}}}ANb}{{{b{ANd}}}ANd}{{{b{c}}{b{de}}}h{}{}}00{{{b{c}}}h{}}000{{}ANb}{{}ANd}{c{{j{Lb}}}l}{{{b{ANd}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Lbc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Lb}}{b{Lb}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{ANf}}{b{dn}}}A`}{{{b{c}}{b{dn}}}{{j{hEj}}}{}}{{{b{Lb}}{b{dn}}}A`}0{cc{}}000{{{b{c}}}c{}}00{{{b{Cl}}}{{j{Lbc}}}{}}`{ce{}{}}000{c{{Ab{e}}}{}{}}0009``=<{{{b{Lb}}c}jAd}{{{b{ANb}}{b{Lb}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{c}}}e{}{}}00{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0000000{{{b{c}}}Af{}}000``{{ANf{b{Cl}}}{{j{Lbc}}}Fb}8888","D":"IAb","p":[[1,"reference"],[0,"mut"],[5,"ActiveBlock",31],[1,"unit"],[6,"Result",3753],[10,"Deserializer",3754],[5,"Formatter",3755],[8,"Result",3755],[5,"Request",3756],[10,"Serializer",3757],[5,"TypeId",3758],[6,"Address",58],[6,"SCAddress",58],[5,"SCAddressV0",58],[6,"UserAddress",58],[5,"UserAddressV0",58],[5,"AddressSerializer",58],[5,"AddressDeserializer",58],[5,"ExecutionAddressCycleInfo",58],[6,"Ordering",3759],[1,"u8"],[1,"slice"],[8,"IResult",3760],[10,"ParseError",3761],[10,"ContextError",3761],[1,"bool"],[6,"ModelsError",1949],[6,"PublicKey",3762],[5,"PublicKeyV0",3762],[1,"str"],[1,"u64"],[10,"Hash",3763],[10,"Sized",3764],[10,"BuildHasher",3763],[10,"Hasher",3763],[6,"Option",3765],[5,"Vec",3766],[6,"SerializeError",3767],[5,"String",3768],[5,"Amount",306],[5,"AmountSerializer",306],[5,"AmountDeserializer",306],[1,"u32"],[5,"AmountVisitor",306],[5,"Error",3755],[5,"Decimal",3769],[6,"Bound",3770],[1,"tuple"],[10,"Error",3754],[8,"SecureShareBlock",410],[5,"Block",410],[5,"FilledBlock",410],[8,"SecureShareOperation",2224],[5,"BlockSerializer",410],[5,"BlockDeserializer",410],[10,"Serializer",3767],[5,"SignatureDeserializer",3762],[5,"PublicKeyDeserializer",3762],[5,"SecureShare",2895],[10,"Deserializer",3767],[10,"Id",2895],[6,"BlockGraphStatus",410],[5,"BlockDeserializerArgs",410],[6,"KeyPair",3762],[6,"Signature",3762],[5,"BlockHeader",536],[5,"Hash",3771],[5,"BlockHeaderSerializer",536],[5,"BlockHeaderDeserializer",536],[5,"BlockHeaderDenunciationData",536],[8,"SecuredHeader",536],[5,"Slot",3224],[6,"BlockId",631],[5,"BlockIdV0",631],[5,"BlockIdSerializer",631],[5,"BlockIdDeserializer",631],[5,"Bytecode",746],[5,"BytecodeSerializer",746],[5,"BytecodeDeserializer",746],[5,"Clique",800],[5,"CliqueSerializer",800],[5,"CliqueDeserializer",800],[6,"OperationSearchResultBlockStatus",853],[6,"OperationSearchResultStatus",853],[5,"OperationSearchResult",853],[5,"StakersCycleProductionStats",853],[5,"PubkeySig",853],[10,"Deserialize",3754],[5,"CompactConfig",978],[5,"GENESIS_TIMESTAMP",1010],[5,"MassaTime",3772],[5,"END_TIMESTAMP",1010],[5,"GENESIS_KEY",1010],[5,"POS_MISS_RATE_DEACTIVATION_THRESHOLD",1010],[5,"Ratio",3773],[5,"VERSION",1010],[5,"Version",3670],[5,"CHAINID",1010],[5,"DatastoreSerializer",1212],[5,"DatastoreDeserializer",1212],[5,"BTreeMap",3774],[6,"DeferredCallId",1244],[5,"DeferredCallIdV0",1244],[5,"DeferredCallIdSerializer",1244],[5,"DeferredCallIdDeserializer",1244],[5,"EndorsementDenunciation",1349],[5,"BlockHeaderDenunciation",1349],[6,"Denunciation",1349],[6,"DenunciationIndex",1349],[5,"DenunciationIndexSerializer",1349],[5,"DenunciationIndexDeserializer",1349],[5,"EndorsementDenunciationPrecursor",1349],[5,"BlockHeaderDenunciationPrecursor",1349],[6,"DenunciationPrecursor",1349],[5,"EndorsementDenunciationSerializer",1349],[5,"BlockHeaderDenunciationSerializer",1349],[5,"DenunciationSerializer",1349],[5,"EndorsementDenunciationDeserializer",1349],[5,"BlockHeaderDenunciationDeserializer",1349],[5,"DenunciationDeserializer",1349],[6,"DenunciationIndexTypeId",1349],[6,"DenunciationTypeId",1349],[6,"DenunciationError",1349],[6,"MassaSignatureError",3775],[8,"SecureShareEndorsement",1746],[10,"Error",3776],[5,"TryFromPrimitiveError",3777],[6,"EndorsementId",1746],[5,"EndorsementIdV0",1746],[5,"Endorsement",1746],[5,"EndorsementSerializer",1746],[5,"EndorsementSerializerLW",1746],[5,"EndorsementIdDeserializer",1746],[5,"EndorsementDeserializer",1746],[5,"EndorsementDeserializerLW",1746],[5,"EndorsementDenunciationData",1746],[6,"MassaHashError",3778],[5,"Error",3761],[6,"Err",3760],[6,"TimeError",3779],[5,"EventFilter",2004],[5,"LedgerChanges",2030],[5,"LedgerChange",2030],[8,"ModelsResult",1949],[5,"LedgerData",2030],[8,"PreHashSet",2753],[5,"LedgerDataDeserializer",2030],[5,"LedgerChangeDeserializer",2030],[5,"LedgerChangesSerializer",2030],[5,"LedgerDataSerializer",2030],[5,"LedgerChangeSerializer",2030],[5,"LedgerChangesDeserializer",2030],[5,"DenunciationIndex",3780],[5,"NodeId",2189],[6,"OperationId",2224],[5,"OperationIdV0",2224],[6,"OperationPrefixId",2224],[5,"OperationPrefixIdV0",2224],[5,"OperationIdSerializer",2224],[5,"OperationIdDeserializer",2224],[5,"Operation",2224],[6,"OperationType",2224],[5,"OperationPrefixIdsSerializer",2224],[5,"OperationsSerializer",2224],[5,"OperationSerializer",2224],[5,"OperationTypeSerializer",2224],[5,"OperationIdsSerializer",2224],[5,"OperationPrefixIdDeserializer",2224],[5,"OperationDeserializer",2224],[5,"OperationTypeDeserializer",2224],[5,"OperationIdsDeserializer",2224],[5,"OperationPrefixIdsDeserializer",2224],[8,"OperationPrefixIds",2224],[5,"OperationsDeserializer",2224],[6,"OperationTypeId",2224],[1,"array"],[5,"RangeInclusive",3770],[1,"u16"],[5,"SCOutputEvent",2690],[5,"EventExecutionContext",2690],[5,"HashMapper",2753],[10,"PreHashed",2753],[1,"usize"],[10,"CapacityAllocator",2753],[8,"PreHashMap",2753],[5,"RollUpdates",2776],[5,"RollUpdate",2776],[5,"RollCompensation",2776],[5,"RollCounts",2776],[5,"RollUpdateSerializer",2776],[5,"RollUpdateDeserializer",2776],[10,"Display",3755],[10,"SecureShareContent",2895],[10,"Clone",3781],[5,"SecureShareSerializer",2895],[5,"SecureShareDeserializer",2895],[10,"PartialEq",3759],[10,"Debug",3755],[10,"Serialize",3757],[5,"IpAddrSerializer",2987],[5,"IpAddrDeserializer",2987],[5,"VecU8Serializer",2987],[5,"VecU8Deserializer",2987],[5,"VecSerializer",2987],[5,"VecDeserializer",2987],[5,"PreHashSetSerializer",2987],[5,"PreHashSetDeserializer",2987],[5,"StringSerializer",2987],[10,"TryFrom",3782],[5,"StringDeserializer",2987],[10,"ToUsize",3783],[5,"BitVecSerializer",2987],[5,"BitVecDeserializer",2987],[6,"IpAddr",3784],[10,"Eq",3759],[5,"BitVec",3785],[10,"DeserializeMinBEInt",2987],[10,"SerializeMinBEInt",2987],[5,"SlotSerializer",3224],[5,"SlotDeserializer",3224],[5,"IndexedSlot",3224],[5,"Slot",3780],[5,"ExecutionStats",3342],[5,"NetworkStats",3342],[5,"ConsensusStats",3342],[5,"PoolStats",3342],[6,"StreamingStep",3435],[5,"StreamingStepDeserializer",3435],[5,"StreamingStepSerializer",3435],[10,"Applicable",3499],[6,"SetUpdateOrDelete",3499],[10,"Default",3786],[6,"SetOrDelete",3499],[6,"SetOrKeep",3499],[5,"SetUpdateOrDeleteDeserializer",3499],[5,"SetOrDeleteDeserializer",3499],[5,"SetOrKeepDeserializer",3499],[5,"SetUpdateOrDeleteSerializer",3499],[5,"SetOrDeleteSerializer",3499],[5,"SetOrKeepSerializer",3499],[5,"VersionSerializer",3670],[5,"VersionDeserializer",3670],[5,"VersionVisitor",3670],[15,"Endorsement",1743],[15,"BlockHeader",1743],[15,"Transaction",2677],[15,"CallSC",2677],[15,"ExecuteSC",2677],[15,"RollBuy",2677],[15,"RollSell",2677]],"r":[[963,978],[965,1211]],"b":[[137,"impl-Deserializer%3CSCAddress%3E-for-AddressDeserializer"],[138,"impl-Deserializer%3CAddress%3E-for-AddressDeserializer"],[139,"impl-Deserializer%3CUserAddress%3E-for-AddressDeserializer"],[140,"impl-Deserializer%3CUserAddressV0%3E-for-AddressDeserializer"],[141,"impl-Deserializer%3CSCAddressV0%3E-for-AddressDeserializer"],[168,"impl-Display-for-Address"],[169,"impl-Debug-for-Address"],[246,"impl-Serializer%3CAddress%3E-for-AddressSerializer"],[247,"impl-Serializer%3CSCAddressV0%3E-for-AddressSerializer"],[248,"impl-Serializer%3CSCAddress%3E-for-AddressSerializer"],[249,"impl-Serializer%3CUserAddressV0%3E-for-AddressSerializer"],[250,"impl-Serializer%3CUserAddress%3E-for-AddressSerializer"],[353,"impl-Display-for-Amount"],[354,"impl-Debug-for-Amount"],[451,"impl-Deserialize%3C\'de%3E-for-Block"],[452,"impl-SecureShareContent-for-Block"],[461,"impl-Debug-for-Block"],[462,"impl-Display-for-Block"],[502,"impl-Serialize-for-Block"],[503,"impl-SecureShareContent-for-Block"],[574,"impl-Display-for-BlockHeader"],[575,"impl-Debug-for-BlockHeader"],[669,"impl-Deserializer%3CBlockId%3E-for-BlockIdDeserializer"],[670,"impl-Deserializer%3CBlockIdV0%3E-for-BlockIdDeserializer"],[681,"impl-Debug-for-BlockId"],[682,"impl-Display-for-BlockId"],[720,"impl-Serializer%3CBlockId%3E-for-BlockIdSerializer"],[721,"impl-Serializer%3CBlockIdV0%3E-for-BlockIdSerializer"],[902,"impl-Debug-for-PubkeySig"],[903,"impl-Display-for-PubkeySig"],[990,"impl-Display-for-CompactConfig"],[991,"impl-Debug-for-CompactConfig"],[1294,"impl-Debug-for-DeferredCallId"],[1295,"impl-Display-for-DeferredCallId"],[1485,"impl-Debug-for-DenunciationError"],[1486,"impl-Display-for-DenunciationError"],[1504,"impl-From%3CMassaSignatureError%3E-for-DenunciationError"],[1505,"impl-From%3CSerializeError%3E-for-DenunciationError"],[1506,"impl-From%3C%26Denunciation%3E-for-DenunciationIndex"],[1508,"impl-From%3C%26DenunciationPrecursor%3E-for-DenunciationIndex"],[1516,"impl-From%3C%26SecureShare%3CEndorsement,+EndorsementId%3E%3E-for-DenunciationPrecursor"],[1517,"impl-From%3C%26SecureShare%3CBlockHeader,+BlockId%3E%3E-for-DenunciationPrecursor"],[1669,"impl-TryFrom%3C(%26SecureShare%3CEndorsement,+EndorsementId%3E,+%26SecureShare%3CEndorsement,+EndorsementId%3E)%3E-for-Denunciation"],[1670,"impl-TryFrom%3C(%26DenunciationPrecursor,+%26DenunciationPrecursor)%3E-for-Denunciation"],[1671,"impl-TryFrom%3C(%26SecureShare%3CBlockHeader,+BlockId%3E,+%26SecureShare%3CBlockHeader,+BlockId%3E)%3E-for-Denunciation"],[1806,"impl-Deserializer%3CEndorsementId%3E-for-EndorsementIdDeserializer"],[1807,"impl-Deserializer%3CEndorsementIdV0%3E-for-EndorsementIdDeserializer"],[1830,"impl-Debug-for-EndorsementId"],[1831,"impl-Display-for-EndorsementId"],[1833,"impl-Display-for-Endorsement"],[1834,"impl-Debug-for-Endorsement"],[1985,"impl-Display-for-ModelsError"],[1986,"impl-Debug-for-ModelsError"],[1988,"impl-From%3CMassaHashError%3E-for-ModelsError"],[1989,"impl-From%3CErr%3CError%3C%26%5Bu8%5D%3E%3E%3E-for-ModelsError"],[1990,"impl-From%3CSerializeError%3E-for-ModelsError"],[1991,"impl-From%3CMassaSignatureError%3E-for-ModelsError"],[1992,"impl-From%3CTimeError%3E-for-ModelsError"],[1993,"impl-From%3C%26str%3E-for-ModelsError"],[2205,"impl-Display-for-NodeId"],[2206,"impl-Debug-for-NodeId"],[2377,"impl-Deserializer%3COperationId%3E-for-OperationIdDeserializer"],[2378,"impl-Deserializer%3COperationIdV0%3E-for-OperationIdDeserializer"],[2411,"impl-Debug-for-OperationId"],[2412,"impl-Display-for-OperationId"],[2413,"impl-Debug-for-OperationIdV0"],[2414,"impl-Display-for-OperationIdV0"],[2415,"impl-Display-for-OperationPrefixId"],[2416,"impl-Debug-for-OperationPrefixId"],[2417,"impl-Debug-for-OperationPrefixIdV0"],[2418,"impl-Display-for-OperationPrefixIdV0"],[2420,"impl-Display-for-Operation"],[2421,"impl-Debug-for-Operation"],[2422,"impl-Display-for-OperationType"],[2423,"impl-Debug-for-OperationType"],[2560,"impl-Serializer%3COperationId%3E-for-OperationIdSerializer"],[2561,"impl-Serializer%3COperationIdV0%3E-for-OperationIdSerializer"],[2720,"impl-Display-for-SCOutputEvent"],[2721,"impl-Debug-for-SCOutputEvent"],[2722,"impl-Display-for-EventExecutionContext"],[2723,"impl-Debug-for-EventExecutionContext"],[2932,"impl-Display-for-SecureShare%3CT,+ID%3E"],[2933,"impl-Debug-for-SecureShare%3CT,+ID%3E"],[2939,"impl-SecureShare%3CBlockHeader,+BlockId%3E"],[2940,"impl-SecureShare%3CBlock,+BlockId%3E"],[3266,"impl-Display-for-Slot"],[3267,"impl-Debug-for-Slot"],[3268,"impl-Debug-for-IndexedSlot"],[3269,"impl-Display-for-IndexedSlot"],[3377,"impl-Display-for-ExecutionStats"],[3378,"impl-Debug-for-ExecutionStats"],[3379,"impl-Debug-for-NetworkStats"],[3380,"impl-Display-for-NetworkStats"],[3381,"impl-Display-for-ConsensusStats"],[3382,"impl-Debug-for-ConsensusStats"],[3383,"impl-Debug-for-PoolStats"],[3384,"impl-Display-for-PoolStats"],[3704,"impl-Display-for-Version"],[3705,"impl-Debug-for-Version"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACAKBgEiAAEAJQACACoAAAAsAAAALgAAADAAAAA0AAAANgAFAEAAAABCAAAARAAEAEoAAABMAAEATwA2AIcAKAC9AA8A0gAFAOAABwDtABcACgEoADgBAAA7AQcASgELAFcBAgBbAQgAawEDAHMBAwB6AQAAfgEAAIIBAgCGARMAqgELALgBBQDCAQAAxAEDAMkBCADYAQEA3QEBAOYBBQDxAQIA9wEDAP4BGgAfAg0AMgIDADgCBQA/AgIARgIAAEgCAABOAgUAWAIBAFwCAABgAgMAZQITAHoCAAB+Ai4AsQIDALYCAAC5AgMAvwICAMYCBADNAh0A7wISAAUDAAAJAwIADgMSACQDAQAnAwwANQMAADcDAgA9AwAAQQMCAEcDAABJAwwAYwMYAH0DBACDAwUAjgMEAJoDBACjAwQAqgMZAMcDAADVAwYA3QMAAN8DAQDiAwAA5QMAAOoDAADtAwUAeQQXAJ4EHQDABAQAywQDANIEDQDiBAIA5wQqABgFBgAgBQEAJgUDAC0FGgBJBQAAVQUAAFgFAgBcBQAAYgVHAKwFKADeBQAA4QUCAOUFAQDtBQoA+QUFAAEGAQAFBgUADgYAABEGCQAcBgIAMQYRAFEGBABYBgcAYgYHAGwGYwDTBgEA2wYBAN4GAQDjBiUADQcDABMHAwAYBxQANgcDADsHBwBFBwIAUQcJAF4HAABhBwEAZAcCAGoHAABsBwIAcActAL0HBgDFBwYAzQcHANYHBgDfBwAA4QcAAOMHAADoBwAA6gcEAPgHBQADCBEAFwgFAB4ICwAtCAUAPAgCAEkICABUCAMAXwgBAGIIAABkCAAAZggmAI4IAACQCA8AoQgAAKMIAAClCAAApwgAAKkICACzCAAAtQgAALoIAAC+CAEAwwgAAMYIAQDOCAAA0ggAANQIAADXCAAA2QhYADYJCgBGCQcATwkZAGoJAABsCQwAjgkJAJkJAgCdCQUAqAkFAK8JAADGCRcA5gkAAO0JCQD5CQAA/QkIAAkKbACGCgMAiwoHAJUKDwCnCgEArAoBALEKAACzCgEAtgoLAMgKAgDNCgAAzwoFAOEKCwDvCgcA+QoEAP8KAwAECwcAEgsDAB0LBQAsCwMAMgsdAFULBQBcCwYAagsBAG0LAQBwCwYAegsBAIgLAwCQCwAAkgsBAJoLDACpCwIAuwtKABMMCwArDBIASgwJAFUMLwCGDAEAigwOAJ4MKQDNDAQA1AwBANgMAQDfDAMA7AwAAO4MBAD4DBYAFg0HAB8NDAAyDQcAPg0CAEYNAwBNDQMAVQ0WAHINEQCFDQAAiQ0AAI0NAgCSDRMAtA0BALcNAQC6DQEAvg0CAMINMwD/DQoAEw5EAFsOHwB/DgMAiA4DAI0OAQCRDhgA"}],\ +["massa_module_cache",{"t":"CCCCCQQCFNNONNNNNOOONNNNOONONNNNNNNFINNONNNNNNONNNNNNNONNNNNNNNNNNNGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSFSSSSNNONNNNONNNNNNNOOONNNNNONNNNNNNFINNONNNNNNNNNNNNNNNNNNNNNNPPPPPPPGGFGFPPNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNN","n":["config","controller","error","hd_cache","lru_cache","metadata_key","module_key","types","ModuleCacheConfig","borrow","borrow_mut","condom_limits","deref","deref_mut","deserialize","drop","from","gas_costs","hd_cache_path","hd_cache_size","init","into","into_request","layout_raw","lru_cache_size","max_module_length","pointer_metadata","snip_amount","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","ModuleCache","PreHashLruMap","borrow","borrow_mut","cfg","compile_cached","deref","deref_mut","deserialize","drop","from","hd_cache","init","into","into_request","layout_raw","load_module","load_module_info","load_tmp_module","lru_cache","new","pointer_metadata","save_module","set_init_cost","set_invalid","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","CacheError","LoadError","VMError","__clone_box","as_error","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","fmt","fmt","from","from","from_ref","init","into","into_request","layout_raw","pointer_metadata","to_owned","to_string","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","CRUD_ERROR","DATA_DESER_ERROR","DATA_IDENT","DATA_SER_ERROR","HDCache","MODULE_IDENT","MOD_DESER_ERROR","MOD_SER_ERROR","OPEN_ERROR","borrow","borrow_mut","db","deref","deref_mut","deserialize","drop","entry_count","from","get","init","insert","into","into_request","layout_raw","max_entry_count","meta_deser","meta_ser","new","pointer_metadata","set_init_cost","set_invalid","snip","snip_amount","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","LRUCache","PreHashLruMap","borrow","borrow_mut","cache","deref","deref_mut","deserialize","drop","from","get","init","insert","into","into_request","layout_raw","new","pointer_metadata","set_init_cost","set_invalid","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","Delta","Delta","Invalid","Invalid","Invalid","Module","ModuleAndDelta","ModuleInfo","ModuleMetadata","ModuleMetadataDeserializer","ModuleMetadataId","ModuleMetadataSerializer","NotExecuted","NotExecuted","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","default","default","delta_deser","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","err_msg_deser","err_msg_ser","fmt","from","from","from","from","from","from_ref","id_deser","init","init","init","init","init","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","new","new","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","serialize","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","u64_ser","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"massa_module_cache"],[8,"massa_module_cache::config"],[35,"massa_module_cache::controller"],[67,"massa_module_cache::error"],[100,"massa_module_cache::hd_cache"],[140,"massa_module_cache::lru_cache"],[167,"massa_module_cache::types"],[310,"rkyv::with"],[311,"core::result"],[312,"tonic::request"],[313,"core::alloc::layout"],[314,"core::any"],[315,"alloc::boxed"],[316,"massa_hash::hash"],[317,"massa_sc_runtime::types"],[318,"massa_sc_runtime::execution"],[319,"alloc::string"],[320,"dyn_clone::sealed"],[321,"core::error"],[322,"core::fmt"],[323,"anyhow"],[324,"core::option"],[325,"std::path"],[326,"nom::internal"],[327,"nom::error"],[328,"alloc::vec"],[329,"massa_serialization"],[330,"num_enum"]],"i":[0,0,0,0,0,0,0,0,0,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,0,0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,0,0,0,0,0,0,0,0,0,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,0,0,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,37,42,18,37,42,18,18,0,0,0,0,0,37,42,18,35,36,18,37,42,35,36,18,37,42,18,18,18,35,36,36,35,36,18,37,42,35,36,18,37,42,35,36,36,18,37,42,35,36,18,37,42,37,42,37,37,37,37,37,37,42,42,42,42,42,42,36,35,42,35,36,18,37,42,18,36,35,36,18,37,42,35,36,18,37,42,35,36,18,37,42,35,36,18,37,42,35,36,35,36,18,37,42,35,18,35,36,18,37,42,42,42,35,36,18,37,42,35,36,18,37,42,35,35,36,18,37,42,35,36,18,37,42,35,36,18,37,42,35,36,18,37,42],"f":"`````````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{f{{b{c}}}{}}{f{{b{dc}}}{}}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{fl}{cc{}}```{{}f}{ce{}{}}{c{{n{e}}}{}{}}{{}{{j{A`Ab}}}}``{b}`{c{{j{e}}}{}{}}0{{{b{c}}}Ad{}}{{{Af{c}}}{{Af{Ah}}}{}}{{{b{dc}}}{{b{dAh}}}{}}{{{b{c}}}{{b{Ah}}}{}}8``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{{{b{dAj}}{b{{An{Al}}}}B`Bb}Bd}{f{{b{c}}}{}}{f{{b{dc}}}{}}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{fl}{cc{}}`{{}f}{ce{}{}}{c{{n{e}}}{}{}}{{}{{j{A`Ab}}}}{{{b{dAj}}{b{{An{Al}}}}BfBb}{{j{BhBj}}}}{{{b{dAj}}{b{{An{Al}}}}Bb}Bd}{{{b{Aj}}{b{{An{Al}}}}BfBb}{{j{BhBj}}}}`{BlAj}{b}{{{b{dAj}}{b{{An{Al}}}}Bb}l}{{{b{dAj}}{b{{An{Al}}}}Bf}l}{{{b{dAj}}{b{{An{Al}}}}Bn}l}{c{{j{e}}}{}{}}0{{{b{c}}}Ad{}}{{{Af{c}}}{{Af{Ah}}}{}}{{{b{dc}}}{{b{dAh}}}{}}{{{b{c}}}{{b{Ah}}}{}}?```{{{b{c}}C`}l{}}{{{b{c}}}{{b{Cb}}}{}}{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{Bj}}}Bj}{{{b{c}}{b{de}}}l{}{}}{{{b{c}}}l{}}{f{{b{c}}}{}}{f{{b{dc}}}{}}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{fl}{{{b{Bj}}{b{dCd}}}Cf}0{ChBj}{cc{}}{{{b{c}}}c{}}{{}f}{ce{}{}}{c{{n{e}}}{}{}}{{}{{j{A`Ab}}}}{b}{{{b{c}}}e{}{}}{{{b{c}}}Bn{}}{c{{j{e}}}{}{}}0{{{b{c}}}Ad{}}{{{Af{c}}}{{Af{Ah}}}{}}{{{b{dc}}}{{b{dAh}}}{}}{{{b{c}}}{{b{Ah}}}{}}:`````````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{f{{b{c}}}{}}{f{{b{dc}}}{}}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{fl}`{cc{}}{{{b{Cj}}B`ClBb}{{Cn{Bd}}}}{{}f}{{{b{dCj}}B`Bd}l}{ce{}{}}{c{{n{e}}}{}{}}{{}{{j{A`Ab}}}}```{{D`ff}Cj}{b}{{{b{Cj}}B`Bf}l}{{{b{Cj}}B`Bn}l}{{{b{dCj}}}l}`{c{{j{e}}}{}{}}0{{{b{c}}}Ad{}}{{{Af{c}}}{{Af{Ah}}}{}}{{{b{dc}}}{{b{dAh}}}{}}{{{b{c}}}{{b{Ah}}}{}}<``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{f{{b{c}}}{}}{f{{b{dc}}}{}}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{fl}{cc{}}{{{b{dDb}}B`}{{Cn{Bd}}}}{{}f}{{{b{dDb}}B`Bd}l}{ce{}{}}{c{{n{e}}}{}{}}{{}{{j{A`Ab}}}}{DdDb}{b}{{{b{dDb}}B`Bf}l}{{{b{dDb}}B`Bn}l}{c{{j{e}}}{}{}}0{{{b{c}}}Ad{}}{{{Af{c}}}{{Af{Ah}}}{}}{{{b{dc}}}{{b{dAh}}}{}}{{{b{c}}}{{b{Ah}}}{}};``````````````{{{b{c}}C`}l{}}{{{b{c}}}{{b{e}}}{}{}}0000{{{b{dc}}}{{b{de}}}{}{}}0000{{{b{Bd}}}Bd}{{{b{c}}{b{de}}}l{}{}}{{{b{c}}}l{}}{{}Df}{{}Dh}`{f{{b{c}}}{}}0000{f{{b{dc}}}{}}0000{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}0{{{b{Dh}}{b{{An{Al}}}}}{{Dl{{b{{An{Al}}}}Djc}}}{{Dn{{b{{An{Al}}}}}}{E`{{b{{An{Al}}}}}}}}111{fl}0000{{{b{Dj}}{b{Dj}}}Eb}{{{b{Ed}}{b{Ed}}}Eb}{{{b{c}}{b{e}}}Eb{}{}}00000000000``{{{b{Ed}}{b{dCd}}}Cf}{cc{}}0000{{{b{c}}}c{}}`{{}f}0000{ce{}{}}0000{c{{n{e}}}{}{}}0000{{}{{j{A`Ab}}}}0000{{}Df}{{}Dh}{b}0000{{{b{Df}}{b{Dj}}{b{d{Ef{Al}}}}}{{j{lEh}}}}{{{b{c}}}e{}{}}{c{{j{e}}}{}{}}000{Bf{{j{Ed{Ej{Ed}}}}}}1{c{{j{Ed{Ej{Ed}}}}}{}}22222{{{b{c}}}Ad{}}0000`{{{Af{c}}}{{Af{Ah}}}{}}0000{{{b{dc}}}{{b{dAh}}}{}}0000{{{b{c}}}{{b{Ah}}}{}}0000>>>>>","D":"Hl","p":[[1,"reference"],[0,"mut"],[1,"usize"],[5,"With",310],[6,"Result",311],[1,"unit"],[5,"Request",312],[5,"Layout",313],[5,"LayoutError",313],[5,"TypeId",314],[5,"Box",315],[10,"Any",314],[5,"ModuleCache",35],[1,"u8"],[1,"slice"],[5,"Hash",316],[5,"CondomLimits",317],[6,"ModuleInfo",167],[1,"u64"],[6,"RuntimeModule",318],[6,"CacheError",67],[5,"ModuleCacheConfig",8],[5,"String",319],[5,"Private",320],[10,"Error",321],[5,"Formatter",322],[8,"Result",322],[5,"Error",323],[5,"HDCache",100],[5,"GasCosts",317],[6,"Option",324],[5,"PathBuf",325],[5,"LRUCache",140],[1,"u32"],[5,"ModuleMetadataSerializer",167],[5,"ModuleMetadataDeserializer",167],[6,"ModuleMetadata",167],[8,"IResult",326],[10,"ParseError",327],[10,"ContextError",327],[1,"bool"],[6,"ModuleMetadataId",167],[5,"Vec",328],[6,"SerializeError",329],[5,"TryFromPrimitiveError",330]],"r":[],"b":[[81,"impl-Display-for-CacheError"],[82,"impl-Debug-for-CacheError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAPAAHQABAAQACAADAA0AAwAVAAAAFwABABsAAAAdAAYAJgABACoAAwAwAAAAMgABADkAAAA9AAYARwANAFYAAQBZABYAcQADAHgAAAB7AAEAgQAAAIYABgCPAAYAmAAAAJsAAQCeAAAAoQANALQAOADyAAYA/gA4AA=="}],\ ["massa_node",{"t":"FFNNONNNNNNHONNNNNNNNOOONNNNNNNNNNNOHNNHHONNOOOHOCHCNNNNNNNNNNNNNFFFFFFFFFFFFFFFFFFNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNOOFFNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNONNNNNNNNNN","n":["Args","Managers","augment_args","augment_args_for_update","bootstrap_manager","borrow","borrow","borrow_mut","borrow_mut","command","command_for_update","configure_grpc","consensus_manager","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","event_cache_manager","execution_manager","factory_manager","from","from","from_arg_matches","from_arg_matches_mut","group_id","init","init","into","into","into_request","into_request","keep_ledger","launch","layout_raw","layout_raw","load_wallet","main","password","pointer_metadata","pointer_metadata","pool_manager","protocol_manager","restart_from_snapshot_at_period","run","selector_manager","settings","stop","survey","try_from","try_from","try_into","try_into","type_id","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","update_from_arg_matches","update_from_arg_matches_mut","vzip","vzip","APISettings","BlockDumpSettings","BootstrapSettings","ConsensusSettings","ExecutionSettings","FactorySettings","GrpcApiSettings","GrpcSettings","LedgerSettings","LoggingSettings","MetricsSettings","NetworkSettings","PoolSettings","ProtocolSettings","SETTINGS","SelectionSettings","Settings","VersioningSettings","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__private_field","abi_gas_costs_file","accept_compressed","accept_http1","allow_hosts","api","ask_block_timeout","asked_operations_buffer_capacity","batch_request_limit","bind","bind","bind","bind","bind_api","bind_private","bind_public","block_db_prune_interval","block_dump","block_dump_folder_path","block_propagation_tick","bootstrap","bootstrap_blacklist_path","bootstrap_list","bootstrap_protocol","bootstrap_timeout","bootstrap_whitelist_path","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broadcast_blocks_channel_capacity","broadcast_blocks_headers_channel_capacity","broadcast_endorsements_channel_capacity","broadcast_filled_blocks_channel_capacity","broadcast_operations_channel_capacity","broadcast_slot_execution_output_channel_capacity","broadcast_slot_execution_traces_channel_capacity","cache_duration","certificate_authority_root_path","client_certificate_authority_root_path","client_certificate_path","client_private_key_path","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","concurrency_limit_per_connection","connect_timeout","connect_timeout","consensus","cursor_delay","default_category_info","deferred_credits_delta","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","disk_ledger_path","draw_lookahead_period_count","draw_lookahead_period_count","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","enable_broadcast","enable_cors","enable_health","enable_http","enable_mtls","enable_reflection","enable_tls","enable_ws","enabled","enabled","event_cache_path","event_cache_size","event_snip_amount","execution","execution_traces_limit","factory","final_history_length","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","force_keep_final_periods","force_keep_final_periods_without_ops","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","generate_self_signed_certificates","grpc","hd_cache_path","hd_cache_size","http2_adaptive_window","http2_keepalive_interval","http2_keepalive_timeout","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","initial_connection_window_size","initial_deferred_credits_path","initial_delay","initial_ledger_path","initial_peers_file","initial_rolls_path","initial_stream_window_size","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","ip_list_max_size","keypair_file","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","ledger","ledger_backup_periods_interval","level","logging","lru_cache_size","max_addresses_per_request","max_arguments","max_arguments","max_block_ids_per_request","max_block_propagation_time","max_blocks_kept_for_propagation","max_channel_size","max_clock_delta","max_concurrent_streams","max_connections","max_datastore_entries_per_request","max_decoding_message_size","max_dependency_blocks","max_discarded_blocks","max_encoding_message_size","max_endorsement_ids_per_request","max_endorsements_pool_size_per_thread","max_endorsements_propagation_time","max_event_per_query","max_filters_per_request","max_final_events","max_frame_size","max_future_processing_blocks","max_in_connections","max_item_return_count","max_known_blocks_size","max_known_endorsements_size","max_known_ops_size","max_ledger_backups","max_log_length","max_node_known_blocks_size","max_node_known_endorsements_size","max_node_known_ops_size","max_node_wanted_blocks_size","max_operation_ids_per_request","max_operation_pool_excess_items","max_operation_pool_size","max_operations_per_message","max_operations_propagation_time","max_ops_kept_for_propagation","max_ping","max_query_items_per_request","max_read_only_gas","max_request_body_size","max_response_body_size","max_send_wait","max_simultaneous_ask_blocks_per_node","max_simultaneous_bootstraps","max_slot_ranges_per_request","max_subscriptions_per_connection","message_timeout","metrics","minimal_fees","mip_stats_warn_announced_version","network","openrpc_spec_path","operation_announcement_buffer_capacity","operation_announcement_interval","operation_batch_buffer_capacity","operation_batch_proc_period","operation_max_future_start_delay","operation_pool_refresh_interval","peers_categories","per_ip_min_interval","ping_interval","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pool","private","protocol","public","rate_limit","rate_limit","read_error_timeout","read_timeout","read_write_limit_bytes_per_second","readonly_queue_length","retry_delay","routable_ip","routable_ip","selector","send_compressed","server_certificate_path","server_private_key_path","snip_amount","staking_wallet_path","stats_time_window_duration","stats_timespan","stop_production_when_zero_connections","subject_alt_names","tcp_keepalive","tcp_nodelay","test_oldest_peer_cooldown","tester_timeout","thread_tester_count","tick_delay","timeout","timeout_connection","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_connection_timer","try_connection_timer_same_peer","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unban_everyone_timer","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","versioning","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write_error_timeout","write_timeout","MassaSurvey","MassaSurveyStopper","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","from","from","handle","init","init","into","into","into_request","into_request","layout_raw","layout_raw","pointer_metadata","pointer_metadata","run","stop","try_from","try_from","try_into","try_into","tx_stopper","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","vzip","vzip"],"q":[[0,"massa_node"],[65,"massa_node::settings"],[752,"massa_node::survey"],[796,"clap_builder::builder::command"],[797,"massa_grpc::config"],[798,"massa_signature::signature_impl"],[799,"massa_final_state::controller_trait"],[800,"parking_lot::rwlock"],[801,"alloc::sync"],[802,"massa_models::amount"],[803,"rkyv::with"],[804,"core::result"],[805,"clap_builder::parser::matches::arg_matches"],[806,"clap_builder"],[807,"clap_builder::util::id"],[808,"core::option"],[809,"tonic::request"],[810,"massa_wallet"],[811,"std::sync::mutex"],[812,"std::sync::condvar"],[813,"massa_consensus_exports::events"],[814,"massa_channel::receiver"],[815,"massa_bootstrap::server"],[816,"massa_consensus_exports::controller_trait"],[817,"alloc::boxed"],[818,"massa_execution_exports::controller_traits"],[819,"massa_pos_exports::controller_traits"],[820,"massa_pool_exports::controller_traits"],[821,"massa_protocol_exports::controller_trait"],[822,"massa_factory_exports::controller_traits"],[823,"massa_event_cache::worker"],[824,"massa_api"],[825,"massa_grpc::server"],[826,"massa_metrics"],[827,"core::alloc::layout"],[828,"alloc::string"],[829,"std::path"],[830,"anyhow"],[831,"core::any"],[832,"dyn_clone::sealed"],[833,"serde::de"],[834,"core::fmt"],[835,"core::time"],[836,"massa_time"],[837,"massa_versioning::versioning"]],"i":[0,0,17,17,48,48,17,48,17,17,17,0,48,48,17,48,17,48,17,48,17,48,48,48,48,17,17,17,17,48,17,48,17,48,17,17,0,48,17,0,0,17,48,17,48,48,17,0,48,0,0,0,48,17,48,17,48,17,17,17,17,17,17,48,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,68,53,5,5,59,60,64,64,59,56,63,64,5,59,59,59,61,60,67,64,60,56,56,56,56,56,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,61,61,58,61,58,53,53,56,5,5,5,5,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,5,56,64,60,53,64,59,68,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,68,52,52,53,53,54,54,55,55,56,56,57,57,58,58,59,59,60,60,61,61,62,62,63,63,64,64,5,5,65,65,66,66,67,67,55,59,5,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,59,5,5,59,5,5,5,59,63,5,53,53,53,60,53,60,55,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,61,61,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,5,60,53,53,5,5,5,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,5,55,57,55,64,54,5,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,56,64,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,60,55,52,60,53,5,59,5,5,64,64,5,56,5,59,5,5,61,61,5,5,58,64,53,5,53,5,61,64,58,64,64,64,55,59,64,64,64,64,5,58,58,64,64,64,56,5,53,59,59,64,64,56,5,59,64,60,58,66,60,59,64,64,64,64,58,58,64,56,59,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,60,65,60,65,56,64,56,56,64,53,56,62,64,60,5,5,5,53,57,53,61,57,5,5,5,64,64,64,63,5,64,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,64,64,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,64,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,60,68,52,53,54,55,56,57,58,59,60,61,62,63,64,5,65,66,67,56,56,0,0,79,41,79,41,79,41,79,41,79,41,79,41,79,41,41,79,41,79,41,79,41,79,41,79,41,79,41,79,41,79,41,41,79,41,79,41,79,41,79,41,79,41],"f":"``{bb}0`{{{d{c}}}{{d{e}}}{}{}}0{{{d{fc}}}{{d{fe}}}{}{}}0{{}b}0{{h{d{j}}l{d{{Ab{{A`{n}}}}}}Ad}Af}`{Ah{{d{c}}}{}}0{Ah{{d{fc}}}{}}0{{{d{c}}{d{fe}}}{{Al{{Aj{gi}}}}}{}{}{}{}}0{AhAn}0```{cc{}}0{{{d{B`}}}{{Al{BbBd}}}}{{{d{fB`}}}{{Al{BbBd}}}}{{}{{Bh{Bf}}}}{{}Ah}0{ce{}{}}0{c{{Bj{e}}}{}{}}0`{{{d{Bb}}{Ab{{A`{Bl}}}}{Ab{{Cd{{C`{Bn}}Cb}}}}}{{Cd{{Ch{Cf}}{Bh{Cj}}{Cn{Cl}}{Cn{D`}}{Cn{Db}}{Cn{Dd}}{Cn{Df}}{Cn{Dh}}{Cn{Dj}}DlDlDl{Bh{Dn}}{Bh{Dn}}E`Eb}}}}{{}{{Al{EdEf}}}}0{{{Bh{Eh}}{d{Ej}}El}{{En{{Ab{{A`{Bl}}}}}}}}{{}{{En{An}}}}`{d}0```{Bb{{En{An}}}}``{{{Ch{Cf}}F`DlDlDl{Bh{Dn}}{Bh{Dn}}E`Eb}An}`{c{{Al{e}}}{}{}}000{{{d{c}}}Fb{}}0{{{Cn{c}}}{{Cn{Fd}}}{}}{{{d{fc}}}{{d{fFd}}}{}}{{{d{c}}}{{d{Fd}}}{}}{{{d{fBb}}{d{B`}}}{{Al{AnBd}}}}{{{d{fBb}}{d{fB`}}}{{Al{AnBd}}}}??``````````````````{{{d{c}}Ff}An{}}0000000000000000``````````````````````````{{{d{c}}}{{d{e}}}{}{}}00000000000000000{{{d{fc}}}{{d{fe}}}{}{}}00000000000000000````````````{{{d{Fh}}}Fh}{{{d{Fj}}}Fj}{{{d{Fl}}}Fl}{{{d{Fn}}}Fn}{{{d{G`}}}G`}{{{d{Gb}}}Gb}{{{d{Gd}}}Gd}{{{d{Gf}}}Gf}{{{d{Gh}}}Gh}{{{d{Gj}}}Gj}{{{d{Gl}}}Gl}{{{d{Gn}}}Gn}{{{d{H`}}}H`}{{{d{j}}}j}{{{d{Hb}}}Hb}{{{d{Hd}}}Hd}{{{d{Hf}}}Hf}{{{d{c}}{d{fe}}}An{}{}}0000000000000000{{{d{c}}}An{}}0000000000000000```````{{{d{Hh}}}{{d{Gh}}}}{Ah{{d{c}}}{}}00000000000000000{Ah{{d{fc}}}{}}00000000000000000{{{d{c}}{d{fe}}}{{Al{{Aj{gi}}}}}{}{}{}{}}0{c{{Al{Fh}}}Hj}1{c{{Al{Fj}}}Hj}2{c{{Al{Fl}}}Hj}{c{{Al{Fn}}}Hj}4{c{{Al{G`}}}Hj}5{c{{Al{Gb}}}Hj}66{c{{Al{Gd}}}Hj}{c{{Al{Gf}}}Hj}88{c{{Al{Gh}}}Hj}9{c{{Al{Gj}}}Hj}{c{{Al{Gl}}}Hj};{c{{Al{Gn}}}Hj}<<{c{{Al{H`}}}Hj}{c{{Al{j}}}Hj}>>{c{{Al{Hb}}}Hj}?{c{{Al{Hd}}}Hj}{c{{Al{Hf}}}Hj}{{{d{c}}{d{fe}}}{{Al{{Aj{gi}}}}}{}{}{}{}}```{AhAn}00000000000000000`````````````````{{{d{Fh}}{d{fHl}}}Hn}{{{d{Fj}}{d{fHl}}}Hn}{{{d{Fl}}{d{fHl}}}Hn}{{{d{Fn}}{d{fHl}}}Hn}{{{d{G`}}{d{fHl}}}Hn}{{{d{Gb}}{d{fHl}}}Hn}{{{d{Gd}}{d{fHl}}}Hn}{{{d{Gf}}{d{fHl}}}Hn}{{{d{Gh}}{d{fHl}}}Hn}{{{d{Gj}}{d{fHl}}}Hn}{{{d{Gl}}{d{fHl}}}Hn}{{{d{Gn}}{d{fHl}}}Hn}{{{d{H`}}{d{fHl}}}Hn}{{{d{j}}{d{fHl}}}Hn}{{{d{Hb}}{d{fHl}}}Hn}{{{d{Hd}}{d{fHl}}}Hn}{{{d{Hf}}{d{fHl}}}Hn}``{cc{}}00000000000000000{{{d{c}}}c{}}0000000000000000```````{{}Ah}00000000000000000```````{ce{}{}}00000000000000000{c{{Bj{e}}}{}{}}00000000000000000``{{}{{Al{EdEf}}}}00000000000000000``````````````````````````````````````````````````````````````````````{d}00000000000000000```````````````````````````````{{{d{c}}}e{}{}}0000000000000000``{c{{Al{e}}}{}{}}00000000000000000000000000000000000{{{d{c}}}Fb{}}00000000000000000`{{{Cn{c}}}{{Cn{Fd}}}{}}00000000000000000{{{d{fc}}}{{d{fFd}}}{}}00000000000000000{{{d{c}}}{{d{Fd}}}{}}00000000000000000`999999999999999999````{{{d{c}}}{{d{e}}}{}{}}0{{{d{fc}}}{{d{fe}}}{}{}}0{Ah{{d{c}}}{}}0{Ah{{d{fc}}}{}}0{{{d{c}}{d{fe}}}{{Al{{Aj{gi}}}}}{}{}{}{}}0{AhAn}0{cc{}}0`{{}Ah}0{ce{}{}}0{c{{Bj{e}}}{}{}}0{{}{{Al{EdEf}}}}0{d}0{{I`{Cn{Ib}}{Cn{Id}}If{Cd{IhIjIjElEl}}Il}Eb}{{{d{fEb}}}An}{c{{Al{e}}}{}{}}000`{{{d{c}}}Fb{}}0{{{Cn{c}}}{{Cn{Fd}}}{}}0{{{d{fc}}}{{d{fFd}}}{}}0{{{d{c}}}{{d{Fd}}}{}}0::","D":"ADj","p":[[5,"Command",796],[1,"reference"],[0,"mut"],[6,"ServiceName",797],[5,"GrpcSettings",65],[6,"KeyPair",798],[10,"FinalStateController",799],[8,"RwLock",800],[5,"Arc",801],[5,"Amount",802],[5,"GrpcConfig",797],[1,"usize"],[5,"With",803],[6,"Result",804],[1,"unit"],[5,"ArgMatches",805],[5,"Args",0],[8,"Error",806],[5,"Id",807],[6,"Option",808],[5,"Request",809],[5,"Wallet",810],[1,"bool"],[5,"Mutex",811],[5,"Condvar",812],[1,"tuple"],[6,"ConsensusEvent",813],[5,"MassaReceiver",814],[5,"BootstrapManager",815],[10,"ConsensusManager",816],[5,"Box",817],[10,"ExecutionManager",818],[10,"SelectorManager",819],[10,"PoolManager",820],[10,"ProtocolManager",821],[10,"FactoryManager",822],[10,"EventCacheManager",823],[5,"StopHandle",824],[5,"StopHandle",825],[5,"MetricsStopper",826],[5,"MassaSurveyStopper",752],[5,"Layout",827],[5,"LayoutError",827],[5,"String",828],[5,"Path",829],[1,"u64"],[8,"Result",830],[5,"Managers",0],[5,"TypeId",831],[10,"Any",831],[5,"Private",832],[5,"LoggingSettings",65],[5,"ExecutionSettings",65],[5,"SelectionSettings",65],[5,"LedgerSettings",65],[5,"BootstrapSettings",65],[5,"FactorySettings",65],[5,"PoolSettings",65],[5,"APISettings",65],[5,"Settings",65],[5,"ConsensusSettings",65],[5,"NetworkSettings",65],[5,"MetricsSettings",65],[5,"ProtocolSettings",65],[5,"GrpcApiSettings",65],[5,"VersioningSettings",65],[5,"BlockDumpSettings",65],[5,"SETTINGS",65],[10,"Deserializer",833],[5,"Formatter",834],[8,"Result",834],[5,"Duration",835],[10,"ExecutionController",818],[10,"PoolController",820],[5,"MassaMetrics",826],[1,"u8"],[5,"MassaTime",836],[5,"MipStore",837],[5,"MassaSurvey",752]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHcCPwABABcAGwAEACIABQApAAAAKwADADAAAQAzAA4AQwAAAEYAAABKAAMAUAAWAGkAAQBtAAEAcgACAHYAAAB5AAMAfgAkAKoAAACvADIA4wAAAOUAAQDoAEoANAESAEkBAABNAQAAUAEXAHwBEACOAQIAlAERAKcBAACpAQAAqwEAAL8BEgDTARYA6wEAAPEBAADzAQAA+gEAAPwBAAD+AQAAAgIAAAYCAQANAgEAEgIAABQCAgAZAgAAGwIAAB0CAAAfAgIAJgIBACkCFAA/AgAAQQIAAEMCAQBGAgEASgIAAE4CAABQAgAAXAIQAG8CNQCmAlgAAQMCAAYDFgA="}],\ ["massa_pool_exports",{"t":"FFFKKMMMOOOOOCMCMMCOOOOOOMMMMMMMOOOOOOOOOOMOOOOOOOOOMOOFFNNNNNNONNNNNNNNNNNNNNOONNNNNNNNNNNNONNONNNNNNNNNNNNNNNNFNONNOOONNNNOONNNNNONNNONNNONOOOOOOOOOOOOOONONOOONNNNNNNNKKMMMMMMMMMMMMMMM","n":["PoolBroadcasts","PoolChannels","PoolConfig","PoolController","PoolManager","add_denunciation_precursor","add_endorsements","add_operations","base_operation_gas_cost","broadcast_enabled","broadcast_endorsements_channel_capacity","broadcast_operations_channel_capacity","broadcasts","channels","clone_box","config","contains_endorsements","contains_operations","controller_traits","denunciation_expire_periods","denunciations_channel_size","endorsement_sender","endorsements_channel_size","execution_controller","genesis_timestamp","get_block_denunciations","get_block_endorsements","get_block_operations","get_denunciation_count","get_endorsement_count","get_final_cs_periods","get_operation_count","last_start_period","max_block_endorsement_count","max_block_gas","max_block_size","max_denunciations_per_block_header","max_endorsements_pool_size_per_thread","max_operation_pool_excess_items","max_operation_pool_size","max_operations_per_block","minimal_fees","notify_final_cs_periods","operation_max_future_start_delay","operation_pool_refresh_interval","operation_sender","operation_validity_periods","operations_channel_size","periods_per_cycle","roll_price","selector","sp_compilation_cost","stop","t0","thread_count","PoolBroadcasts","PoolChannels","__clone_box","__clone_box","borrow","borrow","borrow_mut","borrow_mut","broadcasts","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","endorsement_sender","execution_controller","from","from","from_ref","from_ref","init","init","into","into","into_request","into_request","layout_raw","layout_raw","operation_sender","pointer_metadata","pointer_metadata","selector","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","vzip","vzip","PoolConfig","__clone_box","base_operation_gas_cost","borrow","borrow_mut","broadcast_enabled","broadcast_endorsements_channel_capacity","broadcast_operations_channel_capacity","clone","clone_into","clone_to_uninit","clone_to_uninit","denunciation_expire_periods","denunciations_channel_size","deref","deref_mut","deserialize","deserialize","drop","endorsements_channel_size","fmt","from","from_ref","genesis_timestamp","init","into","into_request","last_start_period","layout_raw","max_block_endorsement_count","max_block_gas","max_block_size","max_denunciations_per_block_header","max_endorsements_pool_size_per_thread","max_operation_pool_excess_items","max_operation_pool_size","max_operations_per_block","minimal_fees","operation_max_future_start_delay","operation_pool_refresh_interval","operation_validity_periods","operations_channel_size","periods_per_cycle","pointer_metadata","roll_price","serialize","sp_compilation_cost","t0","thread_count","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","PoolController","PoolManager","add_denunciation_precursor","add_endorsements","add_operations","clone_box","contains_endorsements","contains_operations","get_block_denunciations","get_block_endorsements","get_block_operations","get_denunciation_count","get_endorsement_count","get_final_cs_periods","get_operation_count","notify_final_cs_periods","stop"],"q":[[0,"massa_pool_exports"],[55,"massa_pool_exports::channels"],[112,"massa_pool_exports::config"],[169,"massa_pool_exports::controller_traits"],[186,"massa_models::denunciation"],[187,"massa_storage"],[188,"alloc::boxed"],[189,"massa_models::endorsement"],[190,"alloc::vec"],[191,"massa_models::operation"],[192,"massa_models::slot"],[193,"massa_models::block_id"],[194,"core::option"],[195,"dyn_clone::sealed"],[196,"rkyv::with"],[197,"core::result"],[198,"tonic::request"],[199,"core::alloc::layout"],[200,"core::any"],[201,"serde::de"],[202,"core::fmt"],[203,"serde::ser"]],"i":[0,0,0,0,0,1,1,1,31,31,31,31,22,0,1,0,1,1,0,31,31,23,31,22,31,1,1,1,1,1,1,1,31,31,31,31,31,31,31,31,31,31,1,31,31,23,31,31,31,31,22,31,20,31,31,0,0,22,23,22,23,22,23,22,22,23,22,23,22,23,22,23,22,23,22,23,22,23,23,22,22,23,22,23,22,23,22,23,22,23,22,23,23,22,23,22,22,23,22,23,22,23,22,23,22,23,22,23,22,23,22,23,0,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,20],"f":"`````{{{d{b}}f}h}{{{d{jb}}l}h}0``````{{{d{b}}}{{n{b}}}}`{{{d{b}}{d{{Ab{A`}}}}}{{Af{Ad}}}}{{{d{b}}{d{{Ab{Ah}}}}}{{Af{Ad}}}}```````{{{d{b}}{d{Aj}}}{{Af{Al}}}}{{{d{b}}{d{An}}{d{Aj}}}{{Bb{{Af{{B`{A`}}}}l}}}}{{{d{b}}{d{Aj}}}{{Bb{{Af{Ah}}l}}}}{{{d{b}}}Bd}0{{{d{b}}}{{Af{Bf}}}}1``````````{{{d{jb}}{d{{Ab{Bf}}}}}h}`````````{{{d{jBh}}}h}````{{{d{c}}Bj}h{}}0{{{d{c}}}{{d{e}}}{}{}}0{{{d{jc}}}{{d{je}}}{}{}}0`{{{d{Bl}}}Bl}{{{d{Bn}}}Bn}{{{d{c}}{d{je}}}h{}{}}0{{{d{c}}}h{}}0{Bd{{d{c}}}{}}0{Bd{{d{jc}}}{}}0{{{d{c}}{d{je}}}{{Cb{{C`{gi}}}}}{}{}{}{}}0{Bdh}0``{cc{}}0{{{d{c}}}c{}}0{{}Bd}0{ce{}{}}0{c{{Cd{e}}}{}{}}0{{}{{Cb{CfCh}}}}0`{d}0`{{{d{c}}}e{}{}}0{c{{Cb{e}}}{}{}}000{{{d{c}}}Cj{}}0{{{n{c}}}{{n{Cl}}}{}}0{{{d{jc}}}{{d{jCl}}}{}}0{{{d{c}}}{{d{Cl}}}{}}099`{{{d{c}}Bj}h{}}`{{{d{c}}}{{d{e}}}{}{}}{{{d{jc}}}{{d{je}}}{}{}}```{{{d{Cn}}}Cn}{{{d{c}}{d{je}}}h{}{}}{{{d{c}}}h{}}0``{Bd{{d{c}}}{}}{Bd{{d{jc}}}{}}{{{d{c}}{d{je}}}{{Cb{{C`{gi}}}}}{}{}{}{}}{c{{Cb{Cn}}}D`}{Bdh}`{{{d{Cn}}{d{jDb}}}Dd}{cc{}}{{{d{c}}}c{}}`{{}Bd}{ce{}{}}{c{{Cd{e}}}{}{}}`{{}{{Cb{CfCh}}}}``````````````{d}`{{{d{Cn}}c}CbDf}```{{{d{c}}}e{}{}}{c{{Cb{e}}}{}{}}0{{{d{c}}}Cj{}}{{{n{c}}}{{n{Cl}}}{}}{{{d{jc}}}{{d{jCl}}}{}}{{{d{c}}}{{d{Cl}}}{}}:``{{{d{b}}f}h}{{{d{jb}}l}h}0{{{d{b}}}{{n{b}}}}{{{d{b}}{d{{Ab{A`}}}}}{{Af{Ad}}}}{{{d{b}}{d{{Ab{Ah}}}}}{{Af{Ad}}}}{{{d{b}}{d{Aj}}}{{Af{Al}}}}{{{d{b}}{d{An}}{d{Aj}}}{{Bb{{Af{{B`{A`}}}}l}}}}{{{d{b}}{d{Aj}}}{{Bb{{Af{Ah}}l}}}}{{{d{b}}}Bd}0{{{d{b}}}{{Af{Bf}}}}1{{{d{jb}}{d{{Ab{Bf}}}}}h}{{{d{jBh}}}h}","D":"N`","p":[[10,"PoolController",169],[1,"reference"],[6,"DenunciationPrecursor",186],[1,"unit"],[0,"mut"],[5,"Storage",187],[5,"Box",188],[6,"EndorsementId",189],[1,"slice"],[1,"bool"],[5,"Vec",190],[6,"OperationId",191],[5,"Slot",192],[6,"Denunciation",186],[6,"BlockId",193],[6,"Option",194],[1,"tuple"],[1,"usize"],[1,"u64"],[10,"PoolManager",169],[5,"Private",195],[5,"PoolChannels",55],[5,"PoolBroadcasts",55],[5,"With",196],[6,"Result",197],[5,"Request",198],[5,"Layout",199],[5,"LayoutError",199],[5,"TypeId",200],[10,"Any",200],[5,"PoolConfig",112],[10,"Deserializer",201],[5,"Formatter",202],[8,"Result",202],[10,"Serializer",203]],"r":[[0,55],[1,55],[2,112],[3,169],[4,169]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEoAFAAOAAAAEwAAADoABQBBAA0AUwADAFkAAwBeAAEAYQAPAHIAAAB0AAEAeQADAH8ABACFAAAAhwAAAIkAAACLAAAAjQAAAJwAAACeAAAAogAHAA=="}],\ ["massa_pool_worker",{"t":"CCCCHCCPPGPFFPNONNNNNNNNNNNNNNNOOOONNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNONNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNPPFGNNNNNNNOHNNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNFNNNOONNNNNOONNNNNNONNNNONNNNNNNOFNNNOONNNNNNNNNNNNNNNONNNNNNNOONNNNNNNNOFNNNNNNONNNNONNNNONNNNOONOONNNNNNNONFFFNNNNNNONNNNNNNNNNNNONNNNNNNNNNNNNNNONNNOOONNNNNNHNNNNNNNNNNNN","n":["controller_impl","denunciation_pool","endorsement_pool","operation_pool","start_pool_controller","types","worker","AddDenunciationPrecursor","AddItems","Command","NotifyFinalCsPeriods","PoolControllerImpl","PoolManagerImpl","Stop","__clone_box","_config","add_denunciation_precursor","add_endorsements","add_operations","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_box","clone_into","clone_to_uninit","contains_endorsements","contains_operations","denunciation_pool","denunciations_input_sender","denunciations_input_sender","denunciations_thread_handle","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","endorsement_pool","endorsements_input_sender","endorsements_input_sender","endorsements_thread_handle","from","from","from","from_ref","get_block_denunciations","get_block_endorsements","get_block_operations","get_denunciation_count","get_endorsement_count","get_final_cs_periods","get_operation_count","init","init","init","into","into","into","into_request","into_request","into_request","last_cs_final_periods","layout_raw","layout_raw","layout_raw","notify_final_cs_periods","operation_pool","operations_input_sender","operations_input_sender","operations_thread_handle","pointer_metadata","pointer_metadata","pointer_metadata","stop","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","upcast_any_ref","vzip","vzip","vzip","Accumulating","DenunciationEmitted","DenunciationPool","DenunciationStatus","__clone_box","add_denunciation_precursor","add_endorsements","borrow","borrow","borrow_mut","borrow_mut","channels","cleanup_cache","cleanup_caches","clone","clone_into","clone_to_uninit","config","denunciations_cache","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","eq","fmt","from","from","from_ref","get_block_denunciations","init","init","init","into","into","into_request","into_request","last_cs_final_periods","layout_raw","layout_raw","len","notify_final_cs_periods","pointer_metadata","pointer_metadata","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","upcast_any_box","upcast_any_box","upcast_any_mut","upcast_any_mut","upcast_any_ref","upcast_any_ref","vzip","vzip","EndorsementPool","add_endorsements","borrow","borrow_mut","channels","config","contains","deref","deref_mut","deserialize","drop","endorsements_indexed","endorsements_sorted","from","get_block_endorsements","init","init","into","into_request","last_cs_final_periods","layout_raw","len","notify_final_cs_periods","pointer_metadata","storage","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","wallet","OperationPool","add_operations","borrow","borrow_mut","channels","config","contains","deref","deref_mut","deserialize","drop","eliminate_balance_overflows","from","get_block_operations","get_execution_statuses","get_pos_draws","get_sender_balances","init","init","into","into_request","last_cs_final_periods","layout_raw","len","notify_final_cs_periods","pointer_metadata","prefilter_ops","refresh","score_operations","sorted_ops","storage","truncate_container","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","wallet","OperationInfo","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","creator_address","deref","deref_mut","deserialize","drop","fee","fmt","from","from_op","from_ref","id","init","into","into_request","layout_raw","max_gas_usage","max_spending","pointer_metadata","size","thread","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","validity_period_range","vzip","DenunciationPoolThread","EndorsementPoolThread","OperationPoolThread","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","denunciation_pool","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","endorsement_pool","from","from","from","init","init","init","into","into","into","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","operation_pool","pointer_metadata","pointer_metadata","pointer_metadata","receiver","receiver","receiver","run","run","run","spawn","spawn","spawn","start_pool_controller","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip"],"q":[[0,"massa_pool_worker"],[7,"massa_pool_worker::controller_impl"],[106,"massa_pool_worker::denunciation_pool"],[168,"massa_pool_worker::endorsement_pool"],[201,"massa_pool_worker::operation_pool"],[241,"massa_pool_worker::types"],[277,"massa_pool_worker::worker"],[341,"massa_pool_exports::config"],[342,"massa_storage"],[343,"massa_pool_exports::channels"],[344,"massa_wallet"],[345,"parking_lot::rwlock"],[346,"alloc::sync"],[347,"massa_pool_exports::controller_traits"],[348,"alloc::boxed"],[349,"dyn_clone::sealed"],[350,"massa_models::denunciation"],[351,"massa_models::endorsement"],[352,"alloc::vec"],[353,"massa_models::operation"],[354,"rkyv::with"],[355,"core::result"],[356,"massa_models::slot"],[357,"massa_models::block_id"],[358,"core::option"],[359,"tonic::request"],[360,"core::alloc::layout"],[361,"core::any"],[362,"alloc::collections::btree::map"],[363,"core::fmt"],[364,"massa_models::address"],[365,"massa_models::amount"],[366,"massa_models::prehash"],[367,"alloc::collections::btree::set"],[368,"std::sync::mpsc"],[369,"std::thread"]],"i":[0,0,0,0,0,0,0,55,55,0,55,0,0,55,14,14,14,14,14,55,33,14,55,33,14,14,14,14,14,14,14,14,33,14,33,55,33,14,55,33,14,55,33,14,55,33,14,14,33,14,33,55,33,14,14,14,14,14,14,14,14,14,55,33,14,55,33,14,55,33,14,14,55,33,14,14,14,33,14,33,55,33,14,33,14,55,33,14,55,33,14,55,33,14,55,33,14,55,33,14,55,33,14,55,33,14,38,38,0,0,38,36,36,36,38,36,38,36,0,36,38,38,38,36,36,36,38,36,38,36,38,36,38,38,38,36,38,38,36,36,36,38,36,38,36,38,36,36,38,36,36,36,38,38,36,38,36,38,36,38,36,38,36,38,36,38,36,38,0,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,0,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,0,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,0,0,0,52,53,54,52,53,54,54,52,53,54,52,53,54,52,53,54,52,53,54,52,52,53,54,52,53,54,52,53,54,52,53,54,52,53,54,53,52,53,54,52,53,54,52,53,54,52,53,54,0,52,53,54,52,53,54,52,53,54,52,53,54],"f":"````{{b{f{d}}h{n{{l{j}}}}}{{Af{{Ab{A`}}{Ab{Ad}}}}}}`````````{{{f{c}}Ah}Aj{}}`{{{f{Al}}An}Aj}{{{f{B`Al}}d}Aj}0{{{f{c}}}{{f{e}}}{}{}}00{{{f{B`c}}}{{f{B`e}}}{}{}}00{{{f{Al}}}Al}{{{f{Al}}}{{Ab{Ad}}}}{{{f{c}}{f{B`e}}}Aj{}{}}{{{f{c}}}Aj{}}{{{f{Al}}{f{{Bd{Bb}}}}}{{Bh{Bf}}}}{{{f{Al}}{f{{Bd{Bj}}}}}{{Bh{Bf}}}}````{Bl{{f{c}}}{}}00{Bl{{f{B`c}}}{}}00{{{f{c}}{f{B`e}}}{{C`{{Bn{gi}}}}}{}{}{}{}}00{BlAj}00````{cc{}}00{{{f{c}}}c{}}{{{f{Al}}{f{Cb}}}{{Bh{Cd}}}}{{{f{Al}}{f{Cf}}{f{Cb}}}{{Af{{Bh{{Ch{Bb}}}}d}}}}{{{f{Al}}{f{Cb}}}{{Af{{Bh{Bj}}d}}}}{{{f{Al}}}Bl}0{{{f{Al}}}{{Bh{Cj}}}}1{{}Bl}00{ce{}{}}00{c{{Cl{e}}}{}{}}00`{{}{{C`{CnD`}}}}00{{{f{B`Al}}{f{{Bd{Cj}}}}}Aj}````{f}00{{{f{B`Db}}}Aj}{{{f{c}}}e{}{}}{c{{C`{e}}}{}{}}00000{{{f{c}}}Dd{}}00{{{Ab{c}}}{{Ab{Df}}}{}}00{{{f{B`c}}}{{f{B`Df}}}{}}00{{{f{c}}}{{f{Df}}}{}}00;;;````{{{f{c}}Ah}Aj{}}{{{f{B`Dh}}An}Aj}{{{f{B`Dh}}d}Aj}{{{f{c}}}{{f{e}}}{}{}}0{{{f{B`c}}}{{f{B`e}}}{}{}}0`{{{f{B`{Dn{DjDl}}}}{f{Cj}}{f{Cj}}}Aj}{{{f{B`Dh}}}Aj}{{{f{Dl}}}Dl}{{{f{c}}{f{B`e}}}Aj{}{}}{{{f{c}}}Aj{}}``{Bl{{f{c}}}{}}0{Bl{{f{B`c}}}{}}0{{{f{c}}{f{B`e}}}{{C`{{Bn{gi}}}}}{}{}{}{}}0{BlAj}0{{{f{Dl}}{f{Dl}}}Bf}{{{f{Dl}}{f{B`E`}}}Eb}{cc{}}0{{{f{c}}}c{}}{{{f{Dh}}{f{Cb}}}{{Bh{Cd}}}}{{}Bl}{{bh}Dh}1{ce{}{}}0{c{{Cl{e}}}{}{}}0`{{}{{C`{CnD`}}}}0{{{f{Dh}}}Bl}{{{f{B`Dh}}{f{{Bd{Cj}}}}}Aj}{f}0{{{f{c}}}e{}{}}{c{{C`{e}}}{}{}}000{{{f{c}}}Dd{}}0{{{Ab{c}}}{{Ab{Df}}}{}}0{{{f{B`c}}}{{f{B`Df}}}{}}0{{{f{c}}}{{f{Df}}}{}}0;;`{{{f{B`Ed}}d}Aj}{{{f{c}}}{{f{e}}}{}{}}{{{f{B`c}}}{{f{B`e}}}{}{}}``{{{f{Ed}}{f{Bb}}}Bf}{Bl{{f{c}}}{}}{Bl{{f{B`c}}}{}}{{{f{c}}{f{B`e}}}{{C`{{Bn{gi}}}}}{}{}{}{}}{BlAj}``{cc{}}{{{f{Ed}}{f{Cb}}{f{Cf}}}{{Af{{Bh{{Ch{Bb}}}}d}}}}{{b{f{d}}h{n{{l{j}}}}}Ed}{{}Bl}{ce{}{}}{c{{Cl{e}}}{}{}}`{{}{{C`{CnD`}}}}{{{f{Ed}}}Bl}{{{f{B`Ed}}{f{{Bd{Cj}}}}}Aj}{f}`{c{{C`{e}}}{}{}}0{{{f{c}}}Dd{}}{{{Ab{c}}}{{Ab{Df}}}{}}{{{f{B`c}}}{{f{B`Df}}}{}}{{{f{c}}}{{f{Df}}}{}}:``{{{f{B`Ef}}d}Aj}{{{f{c}}}{{f{e}}}{}{}}{{{f{B`c}}}{{f{B`e}}}{}{}}``{{{f{Ef}}{f{Bj}}}Bf}{Bl{{f{c}}}{}}{Bl{{f{B`c}}}{}}{{{f{c}}{f{B`e}}}{{C`{{Bn{gi}}}}}{}{}{}{}}{BlAj}{{{f{B`Ef}}{f{{El{EhEj}}}}}Aj}{cc{}}{{{f{Ef}}{f{Cb}}}{{Af{{Bh{Bj}}d}}}}{{{f{Ef}}}{{El{BjBf}}}}{{{f{B`Ef}}}{{En{Cb}}}}{{{f{Ef}}}{{El{EhEj}}}}{{}Bl}{{b{f{d}}h{n{{l{j}}}}}Ef}{ce{}{}}{c{{Cl{e}}}{}{}}`{{}{{C`{CnD`}}}}{{{f{Ef}}}Bl}{{{f{B`Ef}}{f{{Bd{Cj}}}}}Aj}{f}{{{f{B`Ef}}{f{{El{BjBf}}}}{f{{En{Cb}}}}{f{{El{EhEj}}}}}Aj}{{{f{B`Ef}}}Aj}{{{f{Ef}}{f{{El{BjBf}}}}{f{{En{Cb}}}}}{{El{BjF`}}}}``1{c{{C`{e}}}{}{}}0{{{f{c}}}Dd{}}{{{Ab{c}}}{{Ab{Df}}}{}}{{{f{B`c}}}{{f{B`Df}}}{}}{{{f{c}}}{{f{Df}}}{}}=``{{{f{c}}Ah}Aj{}}{{{f{c}}}{{f{e}}}{}{}}{{{f{B`c}}}{{f{B`e}}}{}{}}{{{f{Fb}}}Fb}{{{f{c}}{f{B`e}}}Aj{}{}}{{{f{c}}}Aj{}}`{Bl{{f{c}}}{}}{Bl{{f{B`c}}}{}}{{{f{c}}{f{B`e}}}{{C`{{Bn{gi}}}}}{}{}{}{}}{BlAj}`{{{f{Fb}}{f{B`E`}}}Eb}{cc{}}{{{f{Fd}}CjEjFfCjCj}Fb}{{{f{c}}}c{}}`{{}Bl}{ce{}{}}{c{{Cl{e}}}{}{}}{{}{{C`{CnD`}}}}``{f}``{{{f{c}}}e{}{}}{c{{C`{e}}}{}{}}0{{{f{c}}}Dd{}}{{{Ab{c}}}{{Ab{Df}}}{}}{{{f{B`c}}}{{f{B`Df}}}{}}{{{f{c}}}{{f{Df}}}{}}`9```{{{f{c}}}{{f{e}}}{}{}}00{{{f{B`c}}}{{f{B`e}}}{}{}}00`{Bl{{f{c}}}{}}00{Bl{{f{B`c}}}{}}00{{{f{c}}{f{B`e}}}{{C`{{Bn{gi}}}}}{}{}{}{}}00{BlAj}00`{cc{}}00{{}Bl}00{ce{}{}}00{c{{Cl{e}}}{}{}}00{{}{{C`{CnD`}}}}00`{f}00```{FhAj}{{Fjb}Aj}{FlAj}{{{G`{Fn}}{n{{l{Ed}}}}}{{Gb{Aj}}}}{{{G`{Fn}}{n{{l{Ef}}}}b}{{Gb{Aj}}}}{{{G`{Fn}}{n{{l{Dh}}}}}{{Gb{Aj}}}}{{b{f{d}}h{n{{l{j}}}}}{{Af{{Ab{A`}}{Ab{Ad}}}}}}{c{{C`{e}}}{}{}}00000{{{f{c}}}Dd{}}00<<<","D":"A@`","p":[[5,"PoolConfig",341],[5,"Storage",342],[1,"reference"],[5,"PoolChannels",343],[5,"Wallet",344],[8,"RwLock",345],[5,"Arc",346],[10,"PoolManager",347],[5,"Box",348],[10,"PoolController",347],[1,"tuple"],[5,"Private",349],[1,"unit"],[5,"PoolControllerImpl",7],[6,"DenunciationPrecursor",350],[0,"mut"],[6,"EndorsementId",351],[1,"slice"],[1,"bool"],[5,"Vec",352],[6,"OperationId",353],[1,"usize"],[5,"With",354],[6,"Result",355],[5,"Slot",356],[6,"Denunciation",350],[6,"BlockId",357],[6,"Option",358],[1,"u64"],[5,"Request",359],[5,"Layout",360],[5,"LayoutError",360],[5,"PoolManagerImpl",7],[5,"TypeId",361],[10,"Any",361],[5,"DenunciationPool",106],[6,"DenunciationIndex",350],[6,"DenunciationStatus",106],[5,"BTreeMap",362],[5,"Formatter",363],[8,"Result",363],[5,"EndorsementPool",168],[5,"OperationPool",201],[6,"Address",364],[5,"Amount",365],[8,"PreHashMap",366],[5,"BTreeSet",367],[1,"f32"],[5,"OperationInfo",241],[8,"SecureShareOperation",353],[1,"u8"],[5,"EndorsementPoolThread",277],[5,"OperationPoolThread",277],[5,"DenunciationPoolThread",277],[6,"Command",7],[5,"Receiver",368],[5,"JoinHandle",369]],"r":[[4,277]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAANUALgAGAAAADwAAABQABgAcAAEAJAALADcAAAA/AAIARQACAEkAAgBRAAIAVQAVAG0AAABvAAAAcgADAHkAAgB+AAkAigAAAIwAAgCRAAEAlAABAJgAEQCrAAEAsAADALgAAQC7AAAAvQAAAMAAAADCAAYAygAAAMwAAQDRAAMA2wABAN4AAADgAAAA4wAAAOoABgDyAA0AAQEDAAYBAQAKAQsAGQEFACABCwAwAQIANgEFAD0BAgBKAQsA"}],\ @@ -39,7 +39,7 @@ var searchIndex = new Map(JSON.parse('[\ ["massa_storage",{"t":"FCOONNNNNNNNNNNNNNCOONNNNNNNNNNOOOCOONNNNNNNNNNNNFNONNNNNNNNNNOOOONNNNNNNNFNNNNONNNONNNNNNNNFNNNNNNNNOONNNONNNNN","n":["Storage","block_indexes","block_owners","blocks","borrow","borrow_mut","claim_block_refs","claim_endorsement_refs","claim_operation_refs","clone","clone_into","clone_to_uninit","clone_without_refs","create_root","drop","drop_block_refs","drop_endorsement_refs","drop_operation_refs","endorsement_indexes","endorsement_owners","endorsements","extend","fmt","from","from_ref","get_block_refs","get_endorsement_refs","get_op_refs","internal_claim_refs","into","into_request","local_used_blocks","local_used_endorsements","local_used_ops","operation_indexes","operation_owners","operations","read_blocks","read_endorsements","read_operations","split_off","store_block","store_endorsements","store_operations","to_owned","try_from","try_into","type_id","vzip","BlockIndexes","aggregate_blocks_by_slot_range","blocks","borrow","borrow_mut","contains","default","from","get","get_blocks_by_endorsement","get_blocks_by_operation","get_blocks_by_slot","get_blocks_created_by","index_by_creator","index_by_endorsement","index_by_op","index_by_slot","insert","into","into_request","remove","try_from","try_into","type_id","vzip","EndorsementIndexes","borrow","borrow_mut","contains","default","endorsements","from","get","get_endorsements_created_by","index_by_creator","insert","into","into_request","remove","try_from","try_into","type_id","vzip","OperationIndexes","borrow","borrow_mut","contains","default","from","get","get_operations_by_prefix","get_operations_created_by","index_by_creator","index_by_prefix","insert","into","into_request","operations","remove","try_from","try_into","type_id","vzip"],"q":[[0,"massa_storage"],[49,"massa_storage::block_indexes"],[74,"massa_storage::endorsement_indexes"],[92,"massa_storage::operation_indexes"],[112,"massa_models::block_id"],[113,"massa_models::prehash"],[114,"massa_models::endorsement"],[115,"massa_models::operation"],[116,"core::fmt"],[117,"parking_lot::rwlock"],[118,"massa_models::secure_share"],[119,"core::cmp"],[120,"core::hash"],[121,"core::marker"],[122,"tonic::request"],[123,"massa_models::block"],[124,"alloc::vec"],[125,"core::result"],[126,"core::any"],[127,"massa_models::slot"],[128,"core::ops::range"],[129,"core::option"],[130,"massa_models::address"],[131,"alloc::boxed"]],"i":[0,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,0,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,0,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24],"f":"````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{df}}{b{{j{h}}}}}{{j{h}}}}{{{b{df}}{b{{j{l}}}}}{{j{l}}}}{{{b{df}}{b{{j{n}}}}}{{j{n}}}}{{{b{f}}}f}{{{b{c}}{b{de}}}A`{}{}}{{{b{c}}}A`{}}2{{}f}{{{b{df}}}A`}{{{b{df}}{b{{j{h}}}}}A`}{{{b{df}}{b{{j{l}}}}}A`}{{{b{df}}{b{{j{n}}}}}A`}```{{{b{df}}f}A`}{{{b{f}}{b{dAb}}}Ad}{cc{}}{{{b{c}}}c{}}{{{b{f}}}{{b{{j{h}}}}}}{{{b{f}}}{{b{{j{l}}}}}}{{{b{f}}}{{b{{j{n}}}}}}{{{b{{j{c}}}}{b{d{Aj{{Ah{cAf}}}}}}{b{d{j{c}}}}}A`{AlAnB`BbBdBf}}{ce{}{}}{c{{Bh{e}}}{}{}}``````{{{b{f}}}{{Bl{Bj}}}}{{{b{f}}}{{Bl{Bn}}}}{{{b{f}}}{{Bl{C`}}}}{{{b{df}}{b{{j{h}}}}{b{{j{n}}}}{b{{j{l}}}}}f}{{{b{df}}Cb}A`}{{{b{df}}{Cf{Cd}}}A`}{{{b{df}}{Cf{Ch}}}A`}{{{b{c}}}e{}{}}{c{{Cj{e}}}{}{}}0{{{b{c}}}Cl{}};`{{{b{Bj}}c}{{j{h}}}{{D`{Cn}}}}`{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{Bj}}{b{h}}}Db}{{}Bj}{cc{}}{{{b{Bj}}{b{h}}}{{Dd{{b{Cb}}}}}}{{{b{Bj}}{b{l}}}{{Dd{{b{{j{h}}}}}}}}{{{b{Bj}}{b{n}}}{{Dd{{b{{j{h}}}}}}}}{{{b{Bj}}{b{Cn}}}{{Dd{{b{{j{h}}}}}}}}{{{b{Bj}}{b{Df}}}{{Dd{{b{{j{h}}}}}}}}````{{{b{dBj}}Cb}A`}{ce{}{}}{c{{Bh{e}}}{}{}}{{{b{dBj}}{b{h}}}{{Dd{{Dh{Cb}}}}}}{c{{Cj{e}}}{}{}}0{{{b{c}}}Cl{}}4`?>{{{b{Bn}}{b{l}}}Db}{{}Bn}`={{{b{Bn}}{b{l}}}{{Dd{{b{Cd}}}}}}{{{b{Bn}}{b{Df}}}{{Dd{{b{{j{l}}}}}}}}`{{{b{dBn}}Cd}A`}98{{{b{dBn}}{b{l}}}{{Dd{{Dh{Cd}}}}}}776:`{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{C`}}{b{n}}}Db}{{}C`}{cc{}}{{{b{C`}}{b{n}}}{{Dd{{b{Ch}}}}}}{{{b{C`}}{b{Dj}}}{{Dd{{b{{j{n}}}}}}}}{{{b{C`}}{b{Df}}}{{Dd{{b{{j{n}}}}}}}}``{{{b{dC`}}Ch}A`}{ce{}{}}{c{{Bh{e}}}{}{}}`{{{b{dC`}}{b{n}}}{{Dd{{Dh{Ch}}}}}}{c{{Cj{e}}}{}{}}0{{{b{c}}}Cl{}}4","D":"Ib","p":[[1,"reference"],[0,"mut"],[5,"Storage",0],[6,"BlockId",112],[8,"PreHashSet",113],[6,"EndorsementId",114],[6,"OperationId",115],[1,"unit"],[5,"Formatter",116],[8,"Result",116],[1,"usize"],[8,"PreHashMap",113],[8,"RwLockWriteGuard",117],[10,"Id",118],[10,"PartialEq",119],[10,"Eq",119],[10,"Hash",120],[10,"PreHashed",113],[10,"Copy",121],[5,"Request",122],[5,"BlockIndexes",49],[8,"RwLockReadGuard",117],[5,"EndorsementIndexes",74],[5,"OperationIndexes",92],[8,"SecureShareBlock",123],[8,"SecureShareEndorsement",114],[5,"Vec",124],[8,"SecureShareOperation",115],[6,"Result",125],[5,"TypeId",126],[5,"Slot",127],[10,"RangeBounds",128],[1,"bool"],[6,"Option",129],[6,"Address",130],[5,"Box",131],[6,"OperationPrefixId",115]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAACcAEAAAAAIABQAGAAoACwAMABMAFwAZAB8AIwAtAC4ALwAwADEANQA2ADgARQBHAEgASQBKAEwATQBPAFcAWQBaAFsAXABeAF8AYQBqAG0AbgBvAHAA"}],\ ["massa_test_framework",{"t":"","n":[],"q":[],"i":[],"f":"","D":"`","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAAAEAAAAAAA"}],\ ["massa_time",{"t":"PPTFFFGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNOONNNPPGPNNNNNNNNNNNNNNNNN","n":["CheckedOperationError","ConversionError","EPSILON","MassaTime","MassaTimeDeserializer","MassaTimeSerializer","TimeError","TimeOverflowError","abs_diff","as_millis","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","checked_add","checked_div_time","checked_div_u64","checked_mul","checked_rem_time","checked_rem_u64","checked_sub","clone","clone_into","clone_to_uninit","clone_to_uninit","cmp","compare","days_hours_mins_secs","default","deserialize","deserialize","eq","equivalent","equivalent","equivalent","equivalent","error","estimate_instant","fmt","fmt","format_duration","format_instant","from","from","from","from_millis","from_ref","from_utc_ymd_hms","get_hash","hash","into","into","into","into_request","into_request","into_request","mapping_grpc","max","new","new","now","partial_cmp","saturating_add","saturating_mul","saturating_sub","serialize","serialize","to_duration","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","u64_deserializer","u64_serializer","vzip","vzip","vzip","CheckedOperationError","ConversionError","TimeError","TimeOverflowError","borrow","borrow_mut","clone","clone_into","clone_to_uninit","fmt","fmt","from","from_ref","into","into_request","to_owned","to_string","try_from","try_into","type_id","vzip"],"q":[[0,"massa_time"],[86,"massa_time::error"],[107,"core::result"],[108,"core::cmp"],[109,"nom::internal"],[110,"nom::error"],[111,"serde::de"],[112,"std::time"],[113,"core::fmt"],[114,"alloc::string"],[115,"core::hash"],[116,"core::marker"],[117,"tonic::request"],[118,"core::ops::range"],[119,"core::option"],[120,"alloc::vec"],[121,"massa_serialization"],[122,"serde::ser"],[123,"core::time"],[124,"core::any"]],"i":[5,5,1,0,0,0,0,5,1,1,11,12,1,11,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,11,12,1,1,1,1,1,1,0,1,1,1,1,1,11,12,1,1,1,1,1,1,11,12,1,11,12,1,0,1,11,12,1,1,1,1,1,11,1,1,1,1,11,12,1,11,12,1,11,12,1,12,11,11,12,1,5,5,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],"f":"````````{{{d{b}}b}b}{{{d{b}}}f}{{{d{c}}}{{d{e}}}{}{}}00{{{d{hc}}}{{d{he}}}{}{}}00{{bb}{{l{bj}}}}{{bb}{{l{fj}}}}{{bf}{{l{bj}}}}0202{{{d{b}}}b}{{{d{c}}{d{he}}}n{}{}}{{{d{c}}}n{}}0{{{d{b}}{d{b}}}A`}{{{d{c}}{d{e}}}A`{}{}}{{{d{b}}}{{l{{Ad{AbAbAbAb}}j}}}}{{}Af}{{{d{Ah}}{d{{Al{Aj}}}}}{{An{{d{{Al{Aj}}}}bc}}}{{B`{{d{{Al{Aj}}}}}}{Bb{{d{{Al{Aj}}}}}}}}{c{{l{b}}}Bd}{{{d{b}}{d{b}}}Bf}{{{d{c}}{d{e}}}Bf{}{}}000`{b{{l{Bhj}}}}{{{d{b}}{d{hBj}}}Bl}0{{{d{b}}}{{l{Bnj}}}}{{{d{b}}}Bn}{cc{}}00{fb}{{{d{c}}}c{}}{{C`AjAjAjAjAj}{{l{bj}}}}{{{d{c}}{d{e}}}f{CbCd}Cf}{{{d{b}}{d{hc}}}nCh}{ce{}{}}00{c{{Cj{e}}}{}{}}00`{{}b}{{}Af}{{{Ad{{Cl{b}}{Cl{b}}}}}Ah}2{{{d{b}}{d{b}}}{{Cn{A`}}}}{{bb}b}{{bf}b}1{{{d{Af}}{d{b}}{d{h{D`{Aj}}}}}{{l{nDb}}}}{{{d{b}}c}lDd}{{{d{b}}}Df}{{{d{c}}}e{}{}}{{{d{c}}}Bn{}}{c{{l{e}}}{}{}}00000{{{d{c}}}Dh{}}00``>>>````{{{d{c}}}{{d{e}}}{}{}}{{{d{hc}}}{{d{he}}}{}{}}{{{d{j}}}j}{{{d{c}}{d{he}}}n{}{}}{{{d{c}}}n{}}{{{d{j}}{d{hBj}}}Bl}0{cc{}}{{{d{c}}}c{}}{ce{}{}}{c{{Cj{e}}}{}{}}=<;;:1","D":"Ch","p":[[5,"MassaTime",0],[1,"reference"],[1,"u64"],[0,"mut"],[6,"TimeError",86],[6,"Result",107],[1,"unit"],[6,"Ordering",108],[1,"i64"],[1,"tuple"],[5,"MassaTimeSerializer",0],[5,"MassaTimeDeserializer",0],[1,"u8"],[1,"slice"],[8,"IResult",109],[10,"ParseError",110],[10,"ContextError",110],[10,"Deserializer",111],[1,"bool"],[5,"Instant",112],[5,"Formatter",113],[8,"Result",113],[5,"String",114],[1,"i32"],[10,"Hash",115],[10,"Sized",116],[10,"BuildHasher",115],[10,"Hasher",115],[5,"Request",117],[6,"Bound",118],[6,"Option",119],[5,"Vec",120],[6,"SerializeError",121],[10,"Serializer",122],[5,"Duration",123],[5,"TypeId",124]],"r":[[6,86]],"b":[[40,"impl-Display-for-MassaTime"],[41,"impl-Debug-for-MassaTime"],[95,"impl-Display-for-TimeError"],[96,"impl-Debug-for-TimeError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAE8ACQAJAAAACwAhADEAAwA4AAMAQAAFAEcADwBbAAYAYwAAAGUABgA="}],\ -["massa_versioning",{"t":"CCCCCCCGFPPNNNNNNNNNNNNNNNNNONNNNNNNNNOOFNNNNNNNNNNNNONNNNNHFPPPFPFPPPGGGFPPPPPPPPPGFPPPPPPPGGGPFPPGFFFFFFPPPPFPPGPPPPGTTPNNOONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONOONNOONNNNNNNNNNNNNNNNOONONOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNORPRPGGPPRPPKNNNNNNNNNNMNNNNNNNNNNMNNMNNNNNNNNNNNNNNNFFSSFFSSSSFFFFFFFFOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNOOOONNNNNNOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOONNNNNNNNNNNN","n":["address_factory","grpc_mapping","keypair_factory","mips","versioning","versioning_factory","versioning_ser_der","AddressArgs","AddressFactory","SC","User","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","create","from","from","from_ref","get_component","get_versioning_store","into","into","into_request","into_request","mip_store","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","hash","hash","KeyPairFactory","borrow","borrow_mut","clone","clone_into","clone_to_uninit","create","from","from_ref","get_component","get_versioning_store","into","into_request","mip_store","to_owned","try_from","try_into","type_id","vzip","get_mip_list","Active","Active","Active","Address","Advance","Advance","AdvanceLW","AtError","BeforeInitialState","Block","ComponentState","ComponentStateMessages","ComponentStateTypeId","Defined","Defined","Defined","Deserialize","Deserialize","Downgrade","EmptyHistory","EmptyHistory","Error","Error","ExtendFromDbError","Failed","Failed","Failed","FinalStateHashKind","Invalid","InvalidActivationDelay","InvalidHistory","InvalidPrefix","IsConsistentError","IsConsistentWithShutdownPeriodError","IsKVValidError","KeyPair","LockedIn","LockedIn","LockedIn","MipComponent","MipInfo","MipState","MipStatsConfig","MipStore","MipStoreRaw","MipStoreStats","NonConsistent","NonConsistent","NonConsistent","Overlapping","Started","Started","Started","StateAtError","UnknownDbColumn","Unpredictable","Update","Update","UpdateWithError","VARIANT_COUNT","VARIANT_COUNT","VM","_is_key_value_valid","activation_at","activation_delay","activation_delay","active","advance_states_on_updated_stats","at","at","block_count_considered","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","cmp","cmp","compare","compare","compare","compare","components","config","default","defined","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error","execute","extend_from_db","extend_from_db","failed","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_primitive","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","get_all_active_component_versions","get_all_active_component_versions","get_all_component_versions","get_all_component_versions","get_hash","get_latest_component_version_at","get_latest_component_version_at","get_mip_status","get_network_version_active_at","get_network_version_current","get_network_version_to_announce","get_network_versions_stats","hash","history","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","is_consistent_with","is_consistent_with_shutdown_period","is_consistent_with_shutdown_period","is_final","is_final","is_key_value_valid","is_key_value_valid","latest_announcements","locked_in","name","network_version_counters","new","new","now","now","on_advance","on_advance","on_advance","on_advance","on_advance","on_advance","on_advance","partial_cmp","partial_cmp","partial_cmp","partial_cmp","reset","reset_db","reset_from","source","source","start","start_timestamp","started","state","state_at","stats","store","threshold","threshold","timeout","timeout","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_db","try_from_db","try_from_primitive","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_batches","update_batches","update_for_network_shutdown","update_for_network_shutdown","update_network_version_stats","update_network_version_stats","update_with","update_with","version","vote_ratio","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","warn_announced_version_ratio","Arguments","At","Error","Exact","FactoryError","FactoryStrategy","OnCreate","OnStateNotReady","Output","UnimplementedVersion","UnknownVersion","VersioningFactory","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","create","fmt","fmt","fmt","from","from","from","from_ref","from_ref","get_all_active_component_versions","get_all_component_versions","get_component","get_component_version_with_strategy","get_latest_component_version_at","get_versioning_store","into","into","into_request","into_request","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","AdvanceLWDeserializer","AdvanceLWSerializer","COMPONENT_STATE_ID_VARIANT_COUNT","COMPONENT_STATE_VARIANT_COUNT","ComponentStateDeserializer","ComponentStateSerializer","MIP_INFO_COMPONENTS_MAX_ENTRIES","MIP_INFO_NAME_MAX_LEN","MIP_STORE_MAX_ENTRIES","MIP_STORE_MAX_SIZE","MipInfoDeserializer","MipInfoSerializer","MipStateDeserializer","MipStateSerializer","MipStoreRawDeserializer","MipStoreRawSerializer","MipStoreStatsDeserializer","MipStoreStatsSerializer","advance_deserializer","advance_serializer","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","components_len_deserializer","config","default","default","default","default","default","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","entry_count_deserializer","from","from","from","from","from","from","from","from","from","from","from","from","info_deserializer","info_serializer","into","into","into","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","name_len_deserializer","new","new","new","new","new","new","new","new","new","new","new","new","ratio_deserializer","ratio_deserializer","ratio_serializer","ratio_serializer","serialize","serialize","serialize","serialize","serialize","serialize","state_deserializer","state_deserializer","state_deserializer","state_id_deserializer","state_serializer","state_serializer","stats_deserializer","stats_serializer","time_deserializer","time_deserializer","time_deserializer","time_serializer","time_serializer","time_serializer","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","u32_deserializer","u32_deserializer","u32_deserializer","u32_serializer","u32_serializer","u32_serializer","u32_serializer","u32_serializer","u64_deserializer","u64_serializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"massa_versioning"],[7,"massa_versioning::address_factory"],[38,"massa_versioning::address_factory::AddressArgs"],[40,"massa_versioning::keypair_factory"],[59,"massa_versioning::mips"],[60,"massa_versioning::versioning"],[599,"massa_versioning::versioning_factory"],[651,"massa_versioning::versioning_ser_der"],[847,"core::result"],[848,"tonic::request"],[849,"core::any"],[850,"massa_time"],[851,"core::option"],[852,"core::cmp"],[853,"massa_db_exports::controller"],[854,"alloc::vec"],[855,"alloc::collections::btree::map"],[856,"core::fmt"],[857,"massa_models::error"],[858,"core::hash"],[859,"core::marker"],[860,"std::collections::hash::map"],[861,"massa_models::slot"],[862,"core::error"],[863,"num_rational"],[864,"alloc::string"],[865,"num_enum"],[866,"massa_db_exports::db_batch"],[867,"massa_serialization"],[868,"nom::internal"],[869,"nom::error"]],"i":[0,0,0,0,0,0,0,0,0,82,82,82,3,82,3,3,3,3,3,82,3,3,3,3,82,3,82,3,3,3,82,3,82,3,82,3,82,3,83,84,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,22,28,7,0,31,0,36,37,7,0,0,0,0,22,28,42,19,38,36,37,22,28,0,0,22,28,7,36,38,36,19,0,0,0,7,0,22,28,0,0,0,0,0,0,0,36,38,45,38,0,22,28,0,42,37,42,45,0,7,28,7,16,13,12,29,22,16,25,26,32,7,12,22,23,24,25,26,27,28,29,30,31,36,13,37,8,32,33,38,42,45,19,16,7,12,22,23,24,25,26,27,28,29,30,31,36,13,37,8,32,33,38,42,45,19,16,7,12,22,23,24,25,26,27,28,29,30,31,13,8,32,33,16,7,12,22,23,24,25,26,27,28,29,30,31,13,8,32,33,16,7,12,22,22,23,23,24,24,25,25,26,26,27,27,28,29,30,31,13,8,32,33,16,7,12,28,30,7,12,28,30,12,33,22,22,7,12,22,23,24,25,26,27,28,29,30,31,36,13,37,32,33,38,16,7,7,7,7,12,12,12,12,28,28,28,28,29,29,29,29,30,30,30,30,22,22,8,16,22,7,12,22,23,24,25,26,27,28,29,30,31,36,36,13,37,37,8,32,33,38,38,42,42,45,45,19,19,16,7,7,12,22,23,24,25,26,27,28,28,29,30,30,31,36,13,37,8,32,33,38,42,42,45,45,19,16,7,7,12,22,23,24,25,26,27,28,29,30,31,13,8,32,33,16,8,16,8,16,7,8,16,8,8,8,8,16,7,13,7,12,22,23,24,25,26,27,28,29,30,31,36,13,37,8,32,33,38,42,45,19,16,7,12,22,23,24,25,26,27,28,29,30,31,36,13,37,8,32,33,38,42,45,19,16,13,8,16,22,13,8,16,33,22,12,33,13,33,29,30,22,23,24,25,26,27,13,7,12,28,30,33,8,13,42,45,12,29,22,13,13,16,16,29,30,12,29,7,12,22,23,24,25,26,27,28,29,30,31,13,8,32,33,16,36,37,38,42,45,19,7,12,22,23,24,25,26,27,28,28,29,30,31,36,13,37,8,8,32,33,38,42,45,19,16,16,8,16,28,7,12,22,23,24,25,26,27,28,29,30,31,36,13,37,8,32,33,38,42,45,19,16,7,12,22,23,24,25,26,27,28,29,30,31,36,13,37,8,32,33,38,42,45,19,16,8,16,8,16,8,16,8,16,12,24,7,12,22,23,24,25,26,27,28,29,30,31,36,13,37,8,32,33,38,42,45,19,16,32,65,5,65,5,0,0,61,61,65,61,61,0,61,5,61,5,61,5,61,5,61,5,65,61,61,5,61,5,5,61,5,65,65,65,65,65,65,61,5,61,5,61,5,61,61,5,61,5,61,5,61,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,72,66,67,68,69,70,71,72,73,74,79,75,80,66,67,68,69,70,71,72,73,74,79,75,80,67,79,66,67,68,69,70,71,72,73,74,75,67,69,71,73,79,80,80,66,67,68,69,70,71,72,73,74,79,75,80,80,75,66,67,68,69,70,71,72,73,74,79,75,80,66,67,68,69,70,71,72,73,74,79,75,80,67,66,67,68,69,70,71,72,73,74,79,75,80,69,71,68,70,66,68,70,72,74,75,69,73,80,73,72,75,80,75,67,69,71,66,68,70,66,67,68,69,70,71,72,73,74,79,75,80,66,67,68,69,70,71,72,73,74,79,75,80,66,67,68,69,70,71,72,73,74,79,75,80,67,73,79,66,68,72,74,75,79,74,66,67,68,69,70,71,72,73,74,79,75,80],"f":"```````````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{f}}}f}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{{{b{f}}{b{c}}j}{{l{eg}}}{}{}{}}{cc{}}0{{{b{c}}}c{}}{{}n}{{{b{f}}}A`}{ce{}{}}0{c{{Ab{e}}}{}{}}0`{{{b{c}}}e{}{}}{c{{l{e}}}{}{}}000{{{b{c}}}Ad{}}044```>={{{b{Af}}}Af}<;{{{b{Af}}{b{c}}j}{{l{eg}}}{}{}{}}:98{{{b{Af}}}A`}76`54437{{}{{An{{Al{AhAj}}}}}}``````````````````````````````````````````````````````````````{{{b{B`}}{b{{Bd{Bb}}}}{b{{Bd{Bb}}}}}{{l{hBf}}}}{{{b{Aj}}{b{Ah}}}{{Bj{Bh}}}}``{BhBl}{{{b{dB`}}Bh}h}```{{{b{c}}}{{b{e}}}{}{}}0000000000000000000000{{{b{dc}}}{{b{de}}}{}{}}0000000000000000000000{{{b{n}}}n}{{{b{Ah}}}Ah}{{{b{Bl}}}Bl}{{{b{Bn}}}Bn}{{{b{C`}}}C`}{{{b{Cb}}}Cb}{{{b{Cd}}}Cd}{{{b{Cf}}}Cf}{{{b{Ch}}}Ch}{{{b{Cj}}}Cj}{{{b{Cl}}}Cl}{{{b{Cn}}}Cn}{{{b{Aj}}}Aj}{{{b{A`}}}A`}{{{b{D`}}}D`}{{{b{Db}}}Db}{{{b{B`}}}B`}{{{b{c}}{b{de}}}h{}{}}0000000000000000{{{b{c}}}h{}}0000000000000000000000{{{b{n}}{b{n}}}Dd}{{{b{Ah}}{b{Ah}}}Dd}{{{b{Ch}}{b{Ch}}}Dd}{{{b{Cl}}{b{Cl}}}Dd}{{{b{c}}{b{e}}}Dd{}{}}000``{{}Bl}0{{{b{n}}{b{n}}}Df}{{{b{Ah}}{b{Ah}}}Df}{{{b{Bl}}{b{Bl}}}Df}{{{b{Bn}}{b{Bn}}}Df}{{{b{C`}}{b{C`}}}Df}{{{b{Cb}}{b{Cb}}}Df}{{{b{Cd}}{b{Cd}}}Df}{{{b{Cf}}{b{Cf}}}Df}{{{b{Ch}}{b{Ch}}}Df}{{{b{Cj}}{b{Cj}}}Df}{{{b{Cl}}{b{Cl}}}Df}{{{b{Cn}}{b{Cn}}}Df}{{{b{Dh}}{b{Dh}}}Df}{{{b{Aj}}{b{Aj}}}Df}{{{b{Dj}}{b{Dj}}}Df}{{{b{D`}}{b{D`}}}Df}{{{b{Db}}{b{Db}}}Df}{{{b{Dl}}{b{Dl}}}Df}{{{b{B`}}{b{B`}}}Df}{{{b{c}}{b{e}}}Df{}{}}0000000000000000000{{}Bl}{{BlCn}Bl}{{{b{dA`}}Dn}{{l{{Al{{E`{Ah}}{Eb{AhAj}}}}Ed}}}}{{{b{dB`}}Dn}{{l{{Al{{E`{Ah}}{Eb{AhAj}}}}Ed}}}}3{{{b{n}}{b{dEf}}}Eh}{{{b{Ah}}{b{dEf}}}Eh}{{{b{Bl}}{b{dEf}}}Eh}{{{b{Bn}}{b{dEf}}}Eh}{{{b{C`}}{b{dEf}}}Eh}{{{b{Cb}}{b{dEf}}}Eh}{{{b{Cd}}{b{dEf}}}Eh}{{{b{Cf}}{b{dEf}}}Eh}{{{b{Ch}}{b{dEf}}}Eh}{{{b{Cj}}{b{dEf}}}Eh}{{{b{Cl}}{b{dEf}}}Eh}{{{b{Cn}}{b{dEf}}}Eh}{{{b{Dh}}{b{dEf}}}Eh}0{{{b{Aj}}{b{dEf}}}Eh}{{{b{Dj}}{b{dEf}}}Eh}0{{{b{A`}}{b{dEf}}}Eh}{{{b{D`}}{b{dEf}}}Eh}{{{b{Db}}{b{dEf}}}Eh}{{{b{Dl}}{b{dEf}}}Eh}0{{{b{Ed}}{b{dEf}}}Eh}0{{{b{Ej}}{b{dEf}}}Eh}0{{{b{Bf}}{b{dEf}}}Eh}0{{{b{B`}}{b{dEf}}}Eh}{cc{}}{Eln}11111111{{{b{Bl}}}Ch}2{{{b{Cj}}}Cl}333333333{DlEd}4{EnEj}555{cn{}}{{{b{c}}}c{}}0000000000000000{{{b{A`}}{b{n}}}{{E`{El}}}}{{{b{B`}}{b{n}}}{{E`{El}}}}{{{b{A`}}{b{n}}}{{Eb{ElCh}}}}{{{b{B`}}{b{n}}}{{Eb{ElCh}}}}{{{b{c}}{b{e}}}F`{FbFd}Ff}{{{b{A`}}{b{n}}Bh}El}{{{b{B`}}{b{n}}Bh}El}{{{b{A`}}}{{Eb{AhCh}}}}{{{b{A`}}Bh}El}{{{b{A`}}}El}{{{b{A`}}}{{Bj{El}}}}{{{b{B`}}}{{Fh{ElF`}}}}{{{b{n}}{b{dc}}}hFj}`{ce{}{}}0000000000000000000000{c{{Ab{e}}}{}{}}0000000000000000000000{{{b{Aj}}{b{Ah}}}{{l{hDh}}}}{{{b{A`}}FlFlBbBhBh}{{l{hEj}}}}{{{b{B`}}FlFlBbBhBh}{{l{hEj}}}}{{{b{Bl}}}Df}{{{b{Aj}}}Df}{{{b{A`}}{b{{Bd{Bb}}}}{b{{Bd{Bb}}}}}Df}{{{b{B`}}{b{{Bd{Bb}}}}{b{{Bd{Bb}}}}}Df}`{BhBl}``{BhAj}{D`Db}``{{BlCj}Bl}{{BnCj}Bl}{{C`Cj}Bl}{{CbCj}Bl}{{CdCj}Cd}{{CfCj}Cf}{{{b{dAj}}{b{Cj}}}h}{{{b{n}}{b{n}}}{{Bj{Dd}}}}{{{b{Ah}}{b{Ah}}}{{Bj{Dd}}}}{{{b{Ch}}{b{Ch}}}{{Bj{Dd}}}}{{{b{Cl}}{b{Cl}}}{{Bj{Dd}}}}{{{b{dDb}}}h}{{{b{A`}}Dn}h}{{{b{Aj}}}{{Bj{Aj}}}}{{{b{Ed}}}{{Bj{{b{Fn}}}}}}{{{b{Ej}}}{{Bj{{b{Fn}}}}}}``{{{G`{F`}}}Bl}`{{{b{Aj}}BhBhBhBh}{{l{ChDj}}}}``````{{{b{c}}}e{}{}}0000000000000000{{{b{c}}}Gb{}}00000{c{{l{e}}}{}{}}0000000{El{{l{Ch{Gd{Ch}}}}}}11111111{{{Al{{An{{Al{AhAj}}}}D`}}}{{l{A`c}}}{}}2222222{{{Al{{An{{Al{AhAj}}}}D`}}}{{l{B`c}}}{}}{{DnD`}{{l{A`Ed}}}}{{DnD`}{{l{B`Ed}}}}{c{{l{Ch{Gd{Ch}}}}}{}}66666666666666666666666{{{b{c}}}Ad{}}0000000000000000000000{{{b{A`}}{b{dGf}}{b{dGf}}{Bj{{Al{{b{Bh}}{b{Bh}}}}}}}{{l{hGh}}}}{{{b{B`}}{b{dGf}}{b{dGf}}{Bj{{Al{{b{Bh}}{b{Bh}}}}}}}{{l{hGh}}}}{{{b{dA`}}FlFlBbBhBh}{{l{hEn}}}}{{{b{dB`}}FlFlBbBhBh}{{l{hEn}}}}{{{b{dA`}}Bh{Bj{{Al{El{Bj{El}}}}}}}h}{{{b{dB`}}Bh{Bj{{Al{El{Bj{El}}}}}}}h}{{{b{dA`}}{b{A`}}}{{l{{Al{{E`{Ah}}{Eb{AhAj}}}}Dl}}}}{{{b{dB`}}{b{B`}}}{{l{{Al{{E`{Ah}}{Eb{AhAj}}}}Dl}}}}``{ce{}{}}0000000000000000000000`````````````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{Gj}}}Gj}{{{b{j}}}j}{{{b{c}}{b{de}}}h{}{}}0{{{b{c}}}h{}}0{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}{b{g}}j}{{l{ce}}}{}{}{}}{{{b{Gj}}{b{dEf}}}Eh}0{{{b{j}}{b{dEf}}}Eh}{cc{}}0{Elj}{{{b{c}}}c{}}0{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}}{{E`{El}}}{}{}{}}{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}}{{Eb{ElCh}}}{}{}{}}{{}n}{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}j}{{l{ElGj}}}{}{}{}}{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}Bh}{{l{ElGj}}}{}{}{}}{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}}A`{}{}{}}{ce{}{}}0{c{{Ab{e}}}{}{}}0{{{b{c}}}e{}{}}0{{{b{c}}}Gb{}}{c{{l{e}}}{}{}}000{{{b{c}}}Ad{}}055````````````````````{{{b{c}}}{{b{e}}}{}{}}00000000000{{{b{dc}}}{{b{de}}}{}{}}00000000000``{{}Hd}{{}Hf}{{}Hh}{{}Hj}{{}Hl}{{}Hn}{{}I`}{{}Ib}{{}Id}{{}If}{{{b{Hf}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}Ahc}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}{{{b{Hj}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}Blc}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}{{{b{Hn}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}Clc}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}{{{b{Ib}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}Ajc}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}{{{b{In}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}Dbc}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}{{{b{J`}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}B`c}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}`{cc{}}00000000000``{ce{}{}}00000000000{c{{Ab{e}}}{}{}}00000000000`{{}Hd}{{}Hf}{{}Hh}{{}Hj}{{}Hl}{{}Hn}{{}I`}{{}Ib}{{}Id}{{Jb{G`{F`}}}In}{{}If}{{Jb{G`{F`}}}J`}````{{{b{Hd}}{b{Ah}}{b{d{E`{Bb}}}}}{{l{hGh}}}}{{{b{Hh}}{b{Bl}}{b{d{E`{Bb}}}}}{{l{hGh}}}}{{{b{Hl}}{b{Cl}}{b{d{E`{Bb}}}}}{{l{hGh}}}}{{{b{I`}}{b{Aj}}{b{d{E`{Bb}}}}}{{l{hGh}}}}{{{b{Id}}{b{Db}}{b{d{E`{Bb}}}}}{{l{hGh}}}}{{{b{If}}{b{B`}}{b{d{E`{Bb}}}}}{{l{hGh}}}}``````````````{c{{l{e}}}{}{}}00000000000000000000000{{{b{c}}}Ad{}}00000000000``````````{ce{}{}}00000000000","D":"AFl","p":[[1,"reference"],[0,"mut"],[5,"AddressFactory",7],[1,"unit"],[6,"FactoryStrategy",599],[6,"Result",847],[6,"MipComponent",60],[5,"MipStore",60],[5,"Request",848],[5,"TypeId",849],[5,"KeyPairFactory",40],[5,"MipInfo",60],[5,"MipState",60],[1,"tuple"],[1,"array"],[5,"MipStoreRaw",60],[1,"u8"],[1,"slice"],[6,"IsKVValidError",60],[5,"MassaTime",850],[6,"Option",851],[6,"ComponentState",60],[5,"Defined",60],[5,"Started",60],[5,"LockedIn",60],[5,"Active",60],[5,"Failed",60],[6,"ComponentStateTypeId",60],[5,"Advance",60],[5,"AdvanceLW",60],[6,"ComponentStateMessages",60],[5,"MipStatsConfig",60],[5,"MipStoreStats",60],[6,"Ordering",852],[1,"bool"],[6,"IsConsistentError",60],[6,"StateAtError",60],[6,"UpdateWithError",60],[8,"ShareableMassaDBController",853],[5,"Vec",854],[5,"BTreeMap",855],[6,"ExtendFromDbError",60],[5,"Formatter",856],[8,"Result",856],[6,"IsConsistentWithShutdownPeriodError",60],[1,"u32"],[6,"ModelsError",857],[1,"u64"],[10,"Hash",858],[10,"Sized",859],[10,"BuildHasher",858],[5,"HashMap",860],[10,"Hasher",858],[5,"Slot",861],[10,"Error",862],[5,"Ratio",863],[5,"String",864],[5,"TryFromPrimitiveError",865],[8,"DBBatch",866],[6,"SerializeError",867],[6,"FactoryError",599],[17,"Output"],[17,"Error"],[17,"Arguments"],[10,"VersioningFactory",599],[5,"MipInfoSerializer",651],[5,"MipInfoDeserializer",651],[5,"ComponentStateSerializer",651],[5,"ComponentStateDeserializer",651],[5,"AdvanceLWSerializer",651],[5,"AdvanceLWDeserializer",651],[5,"MipStateSerializer",651],[5,"MipStateDeserializer",651],[5,"MipStoreStatsSerializer",651],[5,"MipStoreRawSerializer",651],[8,"IResult",868],[10,"ParseError",869],[10,"ContextError",869],[5,"MipStoreStatsDeserializer",651],[5,"MipStoreRawDeserializer",651],[1,"usize"],[6,"AddressArgs",7],[15,"User",38],[15,"SC",38]],"r":[],"b":[[302,"impl-Display-for-IsConsistentError"],[303,"impl-Debug-for-IsConsistentError"],[305,"impl-Debug-for-StateAtError"],[306,"impl-Display-for-StateAtError"],[310,"impl-Display-for-UpdateWithError"],[311,"impl-Debug-for-UpdateWithError"],[312,"impl-Display-for-ExtendFromDbError"],[313,"impl-Debug-for-ExtendFromDbError"],[314,"impl-Debug-for-IsConsistentWithShutdownPeriodError"],[315,"impl-Display-for-IsConsistentWithShutdownPeriodError"],[316,"impl-Display-for-IsKVValidError"],[317,"impl-Debug-for-IsKVValidError"],[622,"impl-Debug-for-FactoryError"],[623,"impl-Display-for-FactoryError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJkCOAABABIAFgACABsAFAAxAAIANQAHAD4AAgBCAAQASAABAEsACABWAAYAXwABAGIAAQBrAAMAcAABAHMAAwB4AAMAfwAAAIEAcQD0ACwAIgEdAEEBAABKAQAATAEAAFYBAABYAQAAXAERAHIBAAB5AQIAkwEWAKsBAACtAQAArwEDALQBAAC2AQAAuQEAAMABBQDHAQEAywEBAM4BAQDUATAABwIvADgCBAA/AhgAXgIBAGECAQBkAgkAbwICAHQCAgB/AgwAjgIBAJICAACUAgEAngIsANcCAQDlAgwA/gJRAA=="}],\ +["massa_versioning",{"t":"CCCCCCCGFPPNNNNNNNNNNNNNNNNNONNNNNNNNNOOFNNNNNNNNNNNNONNNNNHFPPPFPFPPPGGGFPPPPPPPPPPGFPPPPPPPPGGGPFPPGFFFFFFPPPPFPPGPPPPGTTPNNOONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONOONNOONNNNNNNNNNNNNNNNOONONOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNORPRPGGPPRPPKNNNNNNNNNNMNNNNNNNNNNMNNMNNNNNNNNNNNNNNNFFSSFFSSSSFFFFFFFFOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNOOOONNNNNNOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOONNNNNNNNNNNN","n":["address_factory","grpc_mapping","keypair_factory","mips","versioning","versioning_factory","versioning_ser_der","AddressArgs","AddressFactory","SC","User","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","create","from","from","from_ref","get_component","get_versioning_store","into","into","into_request","into_request","mip_store","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","hash","hash","KeyPairFactory","borrow","borrow_mut","clone","clone_into","clone_to_uninit","create","from","from_ref","get_component","get_versioning_store","into","into_request","mip_store","to_owned","try_from","try_into","type_id","vzip","get_mip_list","Active","Active","Active","Address","Advance","Advance","AdvanceLW","AtError","BeforeInitialState","Block","ComponentState","ComponentStateMessages","ComponentStateTypeId","Defined","Defined","Defined","Deserialize","Deserialize","Downgrade","EmptyHistory","EmptyHistory","Error","Error","Execution","ExtendFromDbError","Failed","Failed","Failed","FinalState","FinalStateHashKind","Invalid","InvalidActivationDelay","InvalidHistory","InvalidPrefix","IsConsistentError","IsConsistentWithShutdownPeriodError","IsKVValidError","KeyPair","LockedIn","LockedIn","LockedIn","MipComponent","MipInfo","MipState","MipStatsConfig","MipStore","MipStoreRaw","MipStoreStats","NonConsistent","NonConsistent","NonConsistent","Overlapping","Started","Started","Started","StateAtError","UnknownDbColumn","Unpredictable","Update","Update","UpdateWithError","VARIANT_COUNT","VARIANT_COUNT","VM","_is_key_value_valid","activation_at","activation_delay","activation_delay","active","advance_states_on_updated_stats","at","at","block_count_considered","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","cmp","cmp","compare","compare","compare","compare","components","config","default","defined","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error","execute","extend_from_db","extend_from_db","failed","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_primitive","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","get_all_active_component_versions","get_all_active_component_versions","get_all_component_versions","get_all_component_versions","get_hash","get_latest_component_version_at","get_latest_component_version_at","get_mip_status","get_network_version_active_at","get_network_version_current","get_network_version_to_announce","get_network_versions_stats","hash","history","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","is_consistent_with","is_consistent_with_shutdown_period","is_consistent_with_shutdown_period","is_final","is_final","is_key_value_valid","is_key_value_valid","latest_announcements","locked_in","name","network_version_counters","new","new","now","now","on_advance","on_advance","on_advance","on_advance","on_advance","on_advance","on_advance","partial_cmp","partial_cmp","partial_cmp","partial_cmp","reset","reset_db","reset_from","source","source","start","start_timestamp","started","state","state_at","stats","store","threshold","threshold","timeout","timeout","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_db","try_from_db","try_from_primitive","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_batches","update_batches","update_for_network_shutdown","update_for_network_shutdown","update_network_version_stats","update_network_version_stats","update_with","update_with","version","vote_ratio","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","warn_announced_version_ratio","Arguments","At","Error","Exact","FactoryError","FactoryStrategy","OnCreate","OnStateNotReady","Output","UnimplementedVersion","UnknownVersion","VersioningFactory","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","create","fmt","fmt","fmt","from","from","from","from_ref","from_ref","get_all_active_component_versions","get_all_component_versions","get_component","get_component_version_with_strategy","get_latest_component_version_at","get_versioning_store","into","into","into_request","into_request","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","AdvanceLWDeserializer","AdvanceLWSerializer","COMPONENT_STATE_ID_VARIANT_COUNT","COMPONENT_STATE_VARIANT_COUNT","ComponentStateDeserializer","ComponentStateSerializer","MIP_INFO_COMPONENTS_MAX_ENTRIES","MIP_INFO_NAME_MAX_LEN","MIP_STORE_MAX_ENTRIES","MIP_STORE_MAX_SIZE","MipInfoDeserializer","MipInfoSerializer","MipStateDeserializer","MipStateSerializer","MipStoreRawDeserializer","MipStoreRawSerializer","MipStoreStatsDeserializer","MipStoreStatsSerializer","advance_deserializer","advance_serializer","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","components_len_deserializer","config","default","default","default","default","default","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","entry_count_deserializer","from","from","from","from","from","from","from","from","from","from","from","from","info_deserializer","info_serializer","into","into","into","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","name_len_deserializer","new","new","new","new","new","new","new","new","new","new","new","new","ratio_deserializer","ratio_deserializer","ratio_serializer","ratio_serializer","serialize","serialize","serialize","serialize","serialize","serialize","state_deserializer","state_deserializer","state_deserializer","state_id_deserializer","state_serializer","state_serializer","stats_deserializer","stats_serializer","time_deserializer","time_deserializer","time_deserializer","time_serializer","time_serializer","time_serializer","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","u32_deserializer","u32_deserializer","u32_deserializer","u32_serializer","u32_serializer","u32_serializer","u32_serializer","u32_serializer","u64_deserializer","u64_serializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"massa_versioning"],[7,"massa_versioning::address_factory"],[38,"massa_versioning::address_factory::AddressArgs"],[40,"massa_versioning::keypair_factory"],[59,"massa_versioning::mips"],[60,"massa_versioning::versioning"],[601,"massa_versioning::versioning_factory"],[653,"massa_versioning::versioning_ser_der"],[849,"core::result"],[850,"tonic::request"],[851,"core::any"],[852,"massa_time"],[853,"core::option"],[854,"core::cmp"],[855,"massa_db_exports::controller"],[856,"alloc::vec"],[857,"alloc::collections::btree::map"],[858,"core::fmt"],[859,"massa_models::error"],[860,"core::hash"],[861,"core::marker"],[862,"std::collections::hash::map"],[863,"massa_models::slot"],[864,"core::error"],[865,"num_rational"],[866,"alloc::string"],[867,"num_enum"],[868,"massa_db_exports::db_batch"],[869,"massa_serialization"],[870,"nom::internal"],[871,"nom::error"]],"i":[0,0,0,0,0,0,0,0,0,82,82,82,3,82,3,3,3,3,3,82,3,3,3,3,82,3,82,3,3,3,82,3,82,3,82,3,82,3,83,84,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,22,28,7,0,31,0,36,37,7,0,0,0,0,22,28,42,19,38,36,37,22,28,7,0,0,22,28,7,7,36,38,36,19,0,0,0,7,0,22,28,0,0,0,0,0,0,0,36,38,45,38,0,22,28,0,42,37,42,45,0,7,28,7,16,13,12,29,22,16,25,26,32,7,12,22,23,24,25,26,27,28,29,30,31,36,13,37,8,32,33,38,42,45,19,16,7,12,22,23,24,25,26,27,28,29,30,31,36,13,37,8,32,33,38,42,45,19,16,7,12,22,23,24,25,26,27,28,29,30,31,13,8,32,33,16,7,12,22,23,24,25,26,27,28,29,30,31,13,8,32,33,16,7,12,22,22,23,23,24,24,25,25,26,26,27,27,28,29,30,31,13,8,32,33,16,7,12,28,30,7,12,28,30,12,33,22,22,7,12,22,23,24,25,26,27,28,29,30,31,36,13,37,32,33,38,16,7,7,7,7,12,12,12,12,28,28,28,28,29,29,29,29,30,30,30,30,22,22,8,16,22,7,12,22,23,24,25,26,27,28,29,30,31,36,36,13,37,37,8,32,33,38,38,42,42,45,45,19,19,16,7,7,12,22,23,24,25,26,27,28,28,29,30,30,31,36,13,37,8,32,33,38,42,42,45,45,19,16,7,7,12,22,23,24,25,26,27,28,29,30,31,13,8,32,33,16,8,16,8,16,7,8,16,8,8,8,8,16,7,13,7,12,22,23,24,25,26,27,28,29,30,31,36,13,37,8,32,33,38,42,45,19,16,7,12,22,23,24,25,26,27,28,29,30,31,36,13,37,8,32,33,38,42,45,19,16,13,8,16,22,13,8,16,33,22,12,33,13,33,29,30,22,23,24,25,26,27,13,7,12,28,30,33,8,13,42,45,12,29,22,13,13,16,16,29,30,12,29,7,12,22,23,24,25,26,27,28,29,30,31,13,8,32,33,16,36,37,38,42,45,19,7,12,22,23,24,25,26,27,28,28,29,30,31,36,13,37,8,8,32,33,38,42,45,19,16,16,8,16,28,7,12,22,23,24,25,26,27,28,29,30,31,36,13,37,8,32,33,38,42,45,19,16,7,12,22,23,24,25,26,27,28,29,30,31,36,13,37,8,32,33,38,42,45,19,16,8,16,8,16,8,16,8,16,12,24,7,12,22,23,24,25,26,27,28,29,30,31,36,13,37,8,32,33,38,42,45,19,16,32,65,5,65,5,0,0,61,61,65,61,61,0,61,5,61,5,61,5,61,5,61,5,65,61,61,5,61,5,5,61,5,65,65,65,65,65,65,61,5,61,5,61,5,61,61,5,61,5,61,5,61,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,72,66,67,68,69,70,71,72,73,74,79,75,80,66,67,68,69,70,71,72,73,74,79,75,80,67,79,66,67,68,69,70,71,72,73,74,75,67,69,71,73,79,80,80,66,67,68,69,70,71,72,73,74,79,75,80,80,75,66,67,68,69,70,71,72,73,74,79,75,80,66,67,68,69,70,71,72,73,74,79,75,80,67,66,67,68,69,70,71,72,73,74,79,75,80,69,71,68,70,66,68,70,72,74,75,69,73,80,73,72,75,80,75,67,69,71,66,68,70,66,67,68,69,70,71,72,73,74,79,75,80,66,67,68,69,70,71,72,73,74,79,75,80,66,67,68,69,70,71,72,73,74,79,75,80,67,73,79,66,68,72,74,75,79,74,66,67,68,69,70,71,72,73,74,79,75,80],"f":"```````````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{f}}}f}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{{{b{f}}{b{c}}j}{{l{eg}}}{}{}{}}{cc{}}0{{{b{c}}}c{}}{{}n}{{{b{f}}}A`}{ce{}{}}0{c{{Ab{e}}}{}{}}0`{{{b{c}}}e{}{}}{c{{l{e}}}{}{}}000{{{b{c}}}Ad{}}044```>={{{b{Af}}}Af}<;{{{b{Af}}{b{c}}j}{{l{eg}}}{}{}{}}:98{{{b{Af}}}A`}76`54437{{}{{An{{Al{AhAj}}}}}}````````````````````````````````````````````````````````````````{{{b{B`}}{b{{Bd{Bb}}}}{b{{Bd{Bb}}}}}{{l{hBf}}}}{{{b{Aj}}{b{Ah}}}{{Bj{Bh}}}}``{BhBl}{{{b{dB`}}Bh}h}```{{{b{c}}}{{b{e}}}{}{}}0000000000000000000000{{{b{dc}}}{{b{de}}}{}{}}0000000000000000000000{{{b{n}}}n}{{{b{Ah}}}Ah}{{{b{Bl}}}Bl}{{{b{Bn}}}Bn}{{{b{C`}}}C`}{{{b{Cb}}}Cb}{{{b{Cd}}}Cd}{{{b{Cf}}}Cf}{{{b{Ch}}}Ch}{{{b{Cj}}}Cj}{{{b{Cl}}}Cl}{{{b{Cn}}}Cn}{{{b{Aj}}}Aj}{{{b{A`}}}A`}{{{b{D`}}}D`}{{{b{Db}}}Db}{{{b{B`}}}B`}{{{b{c}}{b{de}}}h{}{}}0000000000000000{{{b{c}}}h{}}0000000000000000000000{{{b{n}}{b{n}}}Dd}{{{b{Ah}}{b{Ah}}}Dd}{{{b{Ch}}{b{Ch}}}Dd}{{{b{Cl}}{b{Cl}}}Dd}{{{b{c}}{b{e}}}Dd{}{}}000``{{}Bl}0{{{b{n}}{b{n}}}Df}{{{b{Ah}}{b{Ah}}}Df}{{{b{Bl}}{b{Bl}}}Df}{{{b{Bn}}{b{Bn}}}Df}{{{b{C`}}{b{C`}}}Df}{{{b{Cb}}{b{Cb}}}Df}{{{b{Cd}}{b{Cd}}}Df}{{{b{Cf}}{b{Cf}}}Df}{{{b{Ch}}{b{Ch}}}Df}{{{b{Cj}}{b{Cj}}}Df}{{{b{Cl}}{b{Cl}}}Df}{{{b{Cn}}{b{Cn}}}Df}{{{b{Dh}}{b{Dh}}}Df}{{{b{Aj}}{b{Aj}}}Df}{{{b{Dj}}{b{Dj}}}Df}{{{b{D`}}{b{D`}}}Df}{{{b{Db}}{b{Db}}}Df}{{{b{Dl}}{b{Dl}}}Df}{{{b{B`}}{b{B`}}}Df}{{{b{c}}{b{e}}}Df{}{}}0000000000000000000{{}Bl}{{BlCn}Bl}{{{b{dA`}}Dn}{{l{{Al{{E`{Ah}}{Eb{AhAj}}}}Ed}}}}{{{b{dB`}}Dn}{{l{{Al{{E`{Ah}}{Eb{AhAj}}}}Ed}}}}3{{{b{n}}{b{dEf}}}Eh}{{{b{Ah}}{b{dEf}}}Eh}{{{b{Bl}}{b{dEf}}}Eh}{{{b{Bn}}{b{dEf}}}Eh}{{{b{C`}}{b{dEf}}}Eh}{{{b{Cb}}{b{dEf}}}Eh}{{{b{Cd}}{b{dEf}}}Eh}{{{b{Cf}}{b{dEf}}}Eh}{{{b{Ch}}{b{dEf}}}Eh}{{{b{Cj}}{b{dEf}}}Eh}{{{b{Cl}}{b{dEf}}}Eh}{{{b{Cn}}{b{dEf}}}Eh}{{{b{Dh}}{b{dEf}}}Eh}0{{{b{Aj}}{b{dEf}}}Eh}{{{b{Dj}}{b{dEf}}}Eh}0{{{b{A`}}{b{dEf}}}Eh}{{{b{D`}}{b{dEf}}}Eh}{{{b{Db}}{b{dEf}}}Eh}{{{b{Dl}}{b{dEf}}}Eh}0{{{b{Ed}}{b{dEf}}}Eh}0{{{b{Ej}}{b{dEf}}}Eh}0{{{b{Bf}}{b{dEf}}}Eh}0{{{b{B`}}{b{dEf}}}Eh}{Eln}{cc{}}00000000{{{b{Bl}}}Ch}1{{{b{Cj}}}Cl}2222222222{DlEd}3{EnEj}44{cn{}}{{{b{c}}}c{}}0000000000000000{{{b{A`}}{b{n}}}{{E`{El}}}}{{{b{B`}}{b{n}}}{{E`{El}}}}{{{b{A`}}{b{n}}}{{Eb{ElCh}}}}{{{b{B`}}{b{n}}}{{Eb{ElCh}}}}{{{b{c}}{b{e}}}F`{FbFd}Ff}{{{b{A`}}{b{n}}Bh}El}{{{b{B`}}{b{n}}Bh}El}{{{b{A`}}}{{Eb{AhCh}}}}{{{b{A`}}Bh}El}{{{b{A`}}}El}{{{b{A`}}}{{Bj{El}}}}{{{b{B`}}}{{Fh{ElF`}}}}{{{b{n}}{b{dc}}}hFj}`{ce{}{}}0000000000000000000000{c{{Ab{e}}}{}{}}0000000000000000000000{{{b{Aj}}{b{Ah}}}{{l{hDh}}}}{{{b{A`}}FlFlBbBhBh}{{l{hEj}}}}{{{b{B`}}FlFlBbBhBh}{{l{hEj}}}}{{{b{Bl}}}Df}{{{b{Aj}}}Df}{{{b{A`}}{b{{Bd{Bb}}}}{b{{Bd{Bb}}}}}Df}{{{b{B`}}{b{{Bd{Bb}}}}{b{{Bd{Bb}}}}}Df}`{BhBl}``{BhAj}{D`Db}``{{BlCj}Bl}{{BnCj}Bl}{{C`Cj}Bl}{{CbCj}Bl}{{CdCj}Cd}{{CfCj}Cf}{{{b{dAj}}{b{Cj}}}h}{{{b{n}}{b{n}}}{{Bj{Dd}}}}{{{b{Ah}}{b{Ah}}}{{Bj{Dd}}}}{{{b{Ch}}{b{Ch}}}{{Bj{Dd}}}}{{{b{Cl}}{b{Cl}}}{{Bj{Dd}}}}{{{b{dDb}}}h}{{{b{A`}}Dn}h}{{{b{Aj}}}{{Bj{Aj}}}}{{{b{Ed}}}{{Bj{{b{Fn}}}}}}{{{b{Ej}}}{{Bj{{b{Fn}}}}}}``{{{G`{F`}}}Bl}`{{{b{Aj}}BhBhBhBh}{{l{ChDj}}}}``````{{{b{c}}}e{}{}}0000000000000000{{{b{c}}}Gb{}}00000{c{{l{e}}}{}{}}0000000{El{{l{Ch{Gd{Ch}}}}}}1111111{{{Al{{An{{Al{AhAj}}}}D`}}}{{l{A`c}}}{}}22222222{{{Al{{An{{Al{AhAj}}}}D`}}}{{l{B`c}}}{}}{{DnD`}{{l{A`Ed}}}}{{DnD`}{{l{B`Ed}}}}{c{{l{Ch{Gd{Ch}}}}}{}}66666666666666666666666{{{b{c}}}Ad{}}0000000000000000000000{{{b{A`}}{b{dGf}}{b{dGf}}{Bj{{Al{{b{Bh}}{b{Bh}}}}}}}{{l{hGh}}}}{{{b{B`}}{b{dGf}}{b{dGf}}{Bj{{Al{{b{Bh}}{b{Bh}}}}}}}{{l{hGh}}}}{{{b{dA`}}FlFlBbBhBh}{{l{hEn}}}}{{{b{dB`}}FlFlBbBhBh}{{l{hEn}}}}{{{b{dA`}}Bh{Bj{{Al{El{Bj{El}}}}}}}h}{{{b{dB`}}Bh{Bj{{Al{El{Bj{El}}}}}}}h}{{{b{dA`}}{b{A`}}}{{l{{Al{{E`{Ah}}{Eb{AhAj}}}}Dl}}}}{{{b{dB`}}{b{B`}}}{{l{{Al{{E`{Ah}}{Eb{AhAj}}}}Dl}}}}``{ce{}{}}0000000000000000000000`````````````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{Gj}}}Gj}{{{b{j}}}j}{{{b{c}}{b{de}}}h{}{}}0{{{b{c}}}h{}}0{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}{b{g}}j}{{l{ce}}}{}{}{}}{{{b{Gj}}{b{dEf}}}Eh}0{{{b{j}}{b{dEf}}}Eh}{cc{}}0{Elj}{{{b{c}}}c{}}0{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}}{{E`{El}}}{}{}{}}{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}}{{Eb{ElCh}}}{}{}{}}{{}n}{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}j}{{l{ElGj}}}{}{}{}}{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}Bh}{{l{ElGj}}}{}{}{}}{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}}A`{}{}{}}{ce{}{}}0{c{{Ab{e}}}{}{}}0{{{b{c}}}e{}{}}0{{{b{c}}}Gb{}}{c{{l{e}}}{}{}}000{{{b{c}}}Ad{}}055````````````````````{{{b{c}}}{{b{e}}}{}{}}00000000000{{{b{dc}}}{{b{de}}}{}{}}00000000000``{{}Hd}{{}Hf}{{}Hh}{{}Hj}{{}Hl}{{}Hn}{{}I`}{{}Ib}{{}Id}{{}If}{{{b{Hf}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}Ahc}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}{{{b{Hj}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}Blc}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}{{{b{Hn}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}Clc}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}{{{b{Ib}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}Ajc}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}{{{b{In}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}Dbc}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}{{{b{J`}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}B`c}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}`{cc{}}00000000000``{ce{}{}}00000000000{c{{Ab{e}}}{}{}}00000000000`{{}Hd}{{}Hf}{{}Hh}{{}Hj}{{}Hl}{{}Hn}{{}I`}{{}Ib}{{}Id}{{Jb{G`{F`}}}In}{{}If}{{Jb{G`{F`}}}J`}````{{{b{Hd}}{b{Ah}}{b{d{E`{Bb}}}}}{{l{hGh}}}}{{{b{Hh}}{b{Bl}}{b{d{E`{Bb}}}}}{{l{hGh}}}}{{{b{Hl}}{b{Cl}}{b{d{E`{Bb}}}}}{{l{hGh}}}}{{{b{I`}}{b{Aj}}{b{d{E`{Bb}}}}}{{l{hGh}}}}{{{b{Id}}{b{Db}}{b{d{E`{Bb}}}}}{{l{hGh}}}}{{{b{If}}{b{B`}}{b{d{E`{Bb}}}}}{{l{hGh}}}}``````````````{c{{l{e}}}{}{}}00000000000000000000000{{{b{c}}}Ad{}}00000000000``````````{ce{}{}}00000000000","D":"AFl","p":[[1,"reference"],[0,"mut"],[5,"AddressFactory",7],[1,"unit"],[6,"FactoryStrategy",601],[6,"Result",849],[6,"MipComponent",60],[5,"MipStore",60],[5,"Request",850],[5,"TypeId",851],[5,"KeyPairFactory",40],[5,"MipInfo",60],[5,"MipState",60],[1,"tuple"],[1,"array"],[5,"MipStoreRaw",60],[1,"u8"],[1,"slice"],[6,"IsKVValidError",60],[5,"MassaTime",852],[6,"Option",853],[6,"ComponentState",60],[5,"Defined",60],[5,"Started",60],[5,"LockedIn",60],[5,"Active",60],[5,"Failed",60],[6,"ComponentStateTypeId",60],[5,"Advance",60],[5,"AdvanceLW",60],[6,"ComponentStateMessages",60],[5,"MipStatsConfig",60],[5,"MipStoreStats",60],[6,"Ordering",854],[1,"bool"],[6,"IsConsistentError",60],[6,"StateAtError",60],[6,"UpdateWithError",60],[8,"ShareableMassaDBController",855],[5,"Vec",856],[5,"BTreeMap",857],[6,"ExtendFromDbError",60],[5,"Formatter",858],[8,"Result",858],[6,"IsConsistentWithShutdownPeriodError",60],[1,"u32"],[6,"ModelsError",859],[1,"u64"],[10,"Hash",860],[10,"Sized",861],[10,"BuildHasher",860],[5,"HashMap",862],[10,"Hasher",860],[5,"Slot",863],[10,"Error",864],[5,"Ratio",865],[5,"String",866],[5,"TryFromPrimitiveError",867],[8,"DBBatch",868],[6,"SerializeError",869],[6,"FactoryError",601],[17,"Output"],[17,"Error"],[17,"Arguments"],[10,"VersioningFactory",601],[5,"MipInfoSerializer",653],[5,"MipInfoDeserializer",653],[5,"ComponentStateSerializer",653],[5,"ComponentStateDeserializer",653],[5,"AdvanceLWSerializer",653],[5,"AdvanceLWDeserializer",653],[5,"MipStateSerializer",653],[5,"MipStateDeserializer",653],[5,"MipStoreStatsSerializer",653],[5,"MipStoreRawSerializer",653],[8,"IResult",870],[10,"ParseError",871],[10,"ContextError",871],[5,"MipStoreStatsDeserializer",653],[5,"MipStoreRawDeserializer",653],[1,"usize"],[6,"AddressArgs",7],[15,"User",38],[15,"SC",38]],"r":[],"b":[[304,"impl-Debug-for-IsConsistentError"],[305,"impl-Display-for-IsConsistentError"],[307,"impl-Display-for-StateAtError"],[308,"impl-Debug-for-StateAtError"],[312,"impl-Display-for-UpdateWithError"],[313,"impl-Debug-for-UpdateWithError"],[314,"impl-Display-for-ExtendFromDbError"],[315,"impl-Debug-for-ExtendFromDbError"],[316,"impl-Display-for-IsConsistentWithShutdownPeriodError"],[317,"impl-Debug-for-IsConsistentWithShutdownPeriodError"],[318,"impl-Debug-for-IsKVValidError"],[319,"impl-Display-for-IsKVValidError"],[624,"impl-Display-for-FactoryError"],[625,"impl-Debug-for-FactoryError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJsCNwABABIAFgACABsAFAAxAAIANQAHAD4AAgBCAAQASAABAEsACQBXAAcAYQABAGQAAQBtAAMAcgABAHUAAwB6AAMAgQAAAIMAcQD2ACwAJAEeAEwBAABOAQAAWQEAAFsBAABeAREAdAEAAHsBAgCVARYArQEAAK8BAACxAQMAtgEAALgBAAC7AQAAwgEFAMkBAQDNAQEA0AEBANYBMAAJAi8AOgIEAEECGABgAgEAYwIBAGYCCQBxAgIAdgICAIECDACQAgEAlAIAAJYCAQCgAiwA2QIBAOcCDAAAA1EA"}],\ ["massa_wallet",{"t":"PPPPPPPPSFGFPNONNNNOONNNNNNNNNNCNNNNNNNNNNNNNNNONOOOONONNNNNNNNNNNNNONNONPPPPPPPPGPNNNNNNNNNNNNNNNNNNNN","n":["IOError","MassaCipherError","MassaHashError","MassaSignatureError","MissingKeyError","ModelsError","SerdeqsError","VersionError","WALLET_VERSION","Wallet","WalletError","WalletFileFormat","YAMLError","add_keypairs","address","borrow","borrow","borrow_mut","borrow_mut","chain_id","ciphered_data","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","create_operation","deserialize","deserialize","drop","error","find_associated_keypair","find_associated_public_key","fmt","fmt","fmt","from","from","from_ref","from_ref","get_full_wallet","get_wallet_address_list","into","into","into_request","into_request","keys","new","nickname","nonce","password","public_key","remove_addresses","salt","save","serialize","serialize","sign_message","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","version","vzip","vzip","wallet_path","zeroize","IOError","MassaCipherError","MassaHashError","MassaSignatureError","MissingKeyError","ModelsError","SerdeqsError","VersionError","WalletError","YAMLError","borrow","borrow_mut","fmt","fmt","from","from","from","from","from","from","from","from","into","into_request","source","to_string","try_from","try_into","type_id","vzip"],"q":[[0,"massa_wallet"],[73,"massa_wallet::error"],[103,"massa_signature::signature_impl"],[104,"alloc::vec"],[105,"massa_models::address"],[106,"core::result"],[107,"massa_models::operation"],[108,"serde::de"],[109,"core::option"],[110,"core::fmt"],[111,"massa_models::prehash"],[112,"tonic::request"],[113,"std::path"],[114,"alloc::string"],[115,"serde::ser"],[116,"massa_models::composite"],[117,"core::any"],[118,"serde_qs::error"],[119,"massa_models::error"],[120,"massa_cipher::error"],[121,"std::io::error"],[122,"massa_signature::error"],[123,"massa_hash::error"],[124,"serde_yaml::error"],[125,"core::error"]],"i":[7,7,7,7,7,7,7,7,0,0,0,0,7,2,9,2,9,2,9,2,9,2,9,2,9,2,9,2,2,9,2,0,2,2,2,2,9,2,9,2,9,2,2,2,9,2,9,2,2,9,9,2,9,2,9,2,2,9,2,2,9,2,2,9,2,9,2,9,9,2,9,2,2,7,7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],"f":"`````````````{{{f{bd}}{j{h}}}{{A`{{j{l}}n}}}}`{{{f{c}}}{{f{e}}}{}{}}0{{{f{bc}}}{{f{be}}}{}{}}0``{{{f{d}}}d}{{{f{Ab}}}Ab}{{{f{c}}{f{be}}}Ad{}{}}0{{{f{c}}}Ad{}}0{{{f{d}}Afl}{{A`{Ahn}}}}{c{{A`{d}}}Aj}{c{{A`{Ab}}}Aj}{{{f{bd}}}Ad}`{{{f{d}}{f{l}}}{{Al{{f{h}}}}}}{{{f{d}}{f{l}}}{{Al{An}}}}{{{f{d}}{f{bB`}}}Bb}0{{{f{Ab}}{f{bB`}}}Bb}{cc{}}0{{{f{c}}}c{}}0{{{f{d}}}{{f{{Bd{lh}}}}}}{{{f{d}}}{{Bf{l}}}}{ce{}{}}0{c{{Bh{e}}}{}{}}0`{{BjBlBn}{{A`{dn}}}}````{{{f{bd}}{f{{j{l}}}}}{{A`{C`n}}}}`{{{f{d}}}{{A`{Adn}}}}{{{f{d}}c}A`Cb}{{{f{Ab}}c}A`Cb}{{{f{d}}{f{l}}{j{Cd}}}{{Al{Cf}}}}{{{f{c}}}e{}{}}0{{{f{c}}}Bl{}}{c{{A`{e}}}{}{}}000{{{f{c}}}Ch{}}0`;;`{{{f{bd}}}Ad}``````````{{{f{c}}}{{f{e}}}{}{}}{{{f{bc}}}{{f{be}}}{}{}}{{{f{n}}{f{bB`}}}Bb}0{Cjn}{Cln}{Cnn}{cc{}}{D`n}{Dbn}{Ddn}{Dfn}{ce{}{}}{c{{Bh{e}}}{}{}}{{{f{n}}}{{Al{{f{Dh}}}}}}{{{f{c}}}Bl{}}{c{{A`{e}}}{}{}}0{{{f{c}}}Ch{}}5","D":"Ef","p":[[0,"mut"],[5,"Wallet",0],[1,"reference"],[6,"KeyPair",103],[5,"Vec",104],[6,"Address",105],[6,"WalletError",73],[6,"Result",106],[5,"WalletFileFormat",0],[1,"unit"],[5,"Operation",107],[8,"SecureShareOperation",107],[10,"Deserializer",108],[6,"Option",109],[6,"PublicKey",103],[5,"Formatter",110],[8,"Result",110],[8,"PreHashMap",111],[8,"PreHashSet",111],[5,"Request",112],[5,"PathBuf",113],[5,"String",114],[1,"u64"],[1,"bool"],[10,"Serializer",115],[1,"u8"],[5,"PubkeySig",116],[5,"TypeId",117],[6,"Error",118],[6,"ModelsError",119],[6,"CipherError",120],[5,"Error",121],[6,"MassaSignatureError",122],[6,"MassaHashError",123],[5,"Error",124],[10,"Error",125]],"r":[[10,73]],"b":[[34,"impl-Debug-for-Wallet"],[35,"impl-Display-for-Wallet"],[85,"impl-Display-for-WalletError"],[86,"impl-Debug-for-WalletError"],[87,"impl-From%3CError%3E-for-WalletError"],[88,"impl-From%3CModelsError%3E-for-WalletError"],[89,"impl-From%3CCipherError%3E-for-WalletError"],[91,"impl-From%3CError%3E-for-WalletError"],[92,"impl-From%3CMassaSignatureError%3E-for-WalletError"],[93,"impl-From%3CMassaHashError%3E-for-WalletError"],[94,"impl-From%3CError%3E-for-WalletError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADwAEAAJAAAADwAEABUABgAdAAMAIwACACgAAQAuAAEAMgABADUAAAA3AAAAOQABADwACwBJAAAAVAAGAFwAAwBhAAYA"}],\ ["massa_xtask",{"t":"CHCHHHH","n":["check_gas_cost_definitions","main","update_package_versions","check_gas_cost_definitions","check_package_version","check_workspace_packages_version","update_package_versions"],"q":[[0,"massa_xtask"],[3,"massa_xtask::check_gas_cost_definitions"],[4,"massa_xtask::update_package_versions"],[7,"alloc::string"],[8,"core::result"],[9,"std::path"],[10,"core::error"],[11,"alloc::boxed"]],"i":[0,0,0,0,0,0,0],"f":"`{{}b}`{{}{{f{bd}}}}{{d{j{h}}}{{f{l{A`{n}}}}}}{{d{j{h}}}{{f{Ab{A`{n}}}}}}3","D":"f","p":[[1,"unit"],[5,"String",7],[6,"Result",8],[5,"Path",9],[1,"reference"],[1,"bool"],[10,"Error",10],[5,"Box",11],[1,"i32"]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAQAEAAAAAAAAQADAAQABwA="}]\ ]')); diff --git a/search.desc/massa_execution_exports/massa_execution_exports-desc-0-.js b/search.desc/massa_execution_exports/massa_execution_exports-desc-0-.js index e0d2d5d793..e55e008f99 100644 --- a/search.desc/massa_execution_exports/massa_execution_exports-desc-0-.js +++ b/search.desc/massa_execution_exports/massa_execution_exports-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("massa_execution_exports", 0, "Overview\ngets the balance (candidate) of an address, returns …\ngets the balance (final) of an address, returns …\ngets the bytecode (candidate) of an address, returns …\ngets the bytecode (final) of an address, returns …\ngets the datastore keys (candidate) of an address, returns …\ngets the datastore keys (final) of an address, returns …\ngets a datastore value (candidate) for an address, returns …\ngets a datastore value (final) for an address, returns …\ngets the deferred credits (candidate) of an address, …\ngets the deferred credits (final) of an address, returns …\nchecks if address exists (candidate) returns …\nchecks if address exists (final) returns …\ngets the roll count (candidate) of an address, returns …\ngets the roll count (final) of an address, returns …\nThe operation or denunciation was found as executed with …\nThe operation or denunciation was found as successfully …\namount value\nBlock gas error: {0}\nboolean value\nbytecode\nExecute the main function of a bytecode\nCache error: {0}\nChannel error\nget all information for a given cycle, returns …\ncycle infos value\ndatastore value\nget info of deferred calls\ndeferred call info value\ngets the deferred call quote (candidate) for a slot, …\ndeferred call quote (target_slot, gas_request, available, …\nretrieves the deferred call for given slot\ndeferred call slot calls value\nAutonomous smart contract call error: {0}\ndeferred credits value\ngets the execution status (candidate) for an denunciation, …\ngets the execution status (final) for an denunciation, …\nStore for events emitted by smart contracts\nget filtered events. Returns …\nEvents\nNo information about the operation or denunciation …\nstructure storing a block id + network versions (from a …\nExecuted slot output\nExecution info about an address\nMetadata needed to execute the block\nchannels used by the execution worker\nExecution module configuration\ninterface that communicates with the execution worker …\nErrors of the execution component.\nExecution manager used to stop the execution thread\nstructure describing the output of a single execution\nInformation about cycles\nExecution query errors\nExecution status of an operation or denunciation\nRequest to atomically execute a batch of execution state …\nExecution state query item\nResponse to a list of execution queries\nExecution state query response item\nStaker information for a given cycle\nStructure describing an element of the execution stack. …\nexecution status value\nFactory error: {0}\nFinalized slot output\nExecute a function call\nInclude denunciation error: {0}\nInclude operation error: {0}\nInvalid slot range\nlist of keys\nMassaHashError: {0}\nModelsError: {0}\nNot enough gas in the block: {0}\nNot found: {0}\ngets the execution status (candidate) for an operation, …\ngets the execution status (final) for an operation, …\nstructure describing a read-only call\nstructure describing the output of a read only execution\nstructure describing different types of read-only …\nstructure describing different possible targets of a …\nRollBuy error: {0}\nroll counts value\nRollSell error: {0}\nRuntime error: {0}\nSlash roll or deferred credits error: {0}\nstructure describing the output of the execution of a slot\nStorage cost constants\nGiven gas is above the threshold: {0}\nTransaction error: {0}\nVM Error in {context} context: {error}\nactive roll count\nCalled address\nAnnounced network version (see Versioning doc)\nconstant cost for async messages\nAuto sell roll execution (empty if execution-info feature …\nGas used by a transaction, a roll buy or a roll sell)\nWhere to dump blocks\nBlock id\noptional executed block info at that slot (None if miss)\nblock creation reward\nwhether slot execution outputs broadcast is enabled\nslot execution outputs channel capacity\nslot execution traces channel capacity\nwhether slot execution traces broadcast is enabled\nReturned value from the module call\nCall stack to simulate, older caller first\nCall stack to simulate, older caller first. Target should …\nCancel async message execution (empty if execution-info …\ncandidate balance of the address\nLast executed candidate slot\ncandidate datastore keys of the address\ncandidate number of rolls the address has\nchain id\nReturns a boxed clone of self. Useful to allow cloning …\nCoins transferred to the target address during the call\nCoins transferred to the target address during the call\nRuntime condom middleware limits\nThis module exports generic traits representing interfaces …\nCurrent network version (see Versioning doc)\nextra lag to add on the execution cursor to improve …\ncycle number\ncycle information\ndeferred calls config\nDeferred credits execution (empty if execution-info …\nDenunciation expire delta\nendorsement count\nthis file defines all possible execution error categories\nPath to the hard drive event cache storage\nMaximum number of entries we want to keep in the Event …\nAmount of entries removed when event_cache_size is reached\nThis module represents an event store allowing to store, …\nevents emitted by the execution step\nExecute read-only SC function call without causing …\nFee\nfinal balance of the address\nLast executed final slot\nfinal datastore keys of the address\nfinal number of rolls the address has\nFinal state hash\nReturns the argument unchanged.\nReturns the argument unchanged.\nfuture deferred credits\nGas cost for this execution, with needed adjustments\nGas costs\ngenesis timestamp\nGets information about a batch of addresses\nReturns for a given cycle the stakers taken into account …\nCheck if a denunciation has been executed given a …\nGet execution events optionally filtered by:\nGet a copy of a single datastore entry with its final and …\nGet the final and active values of balance.\nGet the execution status of a batch of operations.\nGet execution statistics\nPath to the hard drive cache storage\nMaximum number of entries we want to keep in the HD cache\nCalls U::from(self).\nCalls U::from(self).\nwhether the cycle is final\nexecution start state\nlast start period, used to attach to the correct execution …\nCost per byte in ledger\nLedger entry base cost\nLedger entry datastore base cost\nMaximum number of entries we want to keep in the LRU cache\nmapping grpc\nmaximum available gas for asynchronous messages execution\nMax bytecode size\nMax size of a datastore key\nMax datastore value size\nMaximum number of event that an operation can emit\nmax size of event data, in bytes\nMax execution traces slot to keep in trace history cache\nmaximum number of SC output events kept in cache\nMax function length in call sc\nMaximum gas to spend in the execution.\nMaximum gas to spend in the execution.\nmaximum gas per block\nMax miss ratio for auto roll sell\nMax parameter length in call sc\nMax gas for read only executions\nMax recursive calls depth in SC Used to limit the …\nDatastore (key value store) for ExecuteSC Operation\noperation validity period\nOutput of a single execution\nList of addresses owned by the current call, and on which …\nParameter to pass to the target function\nperiods per cycle\nproduction stats\nAtomically query the execution state with multiple requests\nread-only execution request queue length\nList of requests\nList of responses\nNumber of roll to remove per denunciation\nprice of a roll inside the network\nAddress of the creator of the parent in the same thread\nThis module provides the structures used to provide …\nslot\nBroadcast channel for new slot execution outputs\nAmount of entries removed when hd_cache_size is reached\ninfos for each PoS-participating address among the ones …\nstate changes caused by the execution step\nduration of the statistics time window\nStop the execution thread Note that we do not take self by …\nStorage referencing the block and its contents\nStorage cost constants\nperiod duration\nTarget of the request\nTarget address\nTarget function\nnumber of threads\nThis file exports useful types used to interact with the …\ntypes for execution-trace / execution-info\nUpdates blockclique status by signaling newly finalized …\nexecution context in which the error happened\nmassa-sc-runtime virtual machine error\nAddress for which to query the datastore\nAddress for which to query the datastore\nAddress for which to query the datastore\nAddress for which to query the datastore\ncycle to query\nKey of the entry\nKey of the entry\ngas request\nparams size\nFilter only entries whose key starts with a prefix\nFilter only entries whose key starts with a prefix\noptionally restrict the query to a set of addresses. If …\nslot to query\nParameter to pass to the target function\nTarget address\nTarget function\nchannels used by the execution worker\nReturns the argument unchanged.\nCalls U::from(self).\nBroadcast channel for new slot execution outputs\ninterface that communicates with the execution worker …\nExecution manager used to stop the execution thread\nReturns a boxed clone of self. Useful to allow cloning …\nExecute read-only SC function call without causing …\nGets information about a batch of addresses\nReturns for a given cycle the stakers taken into account …\nCheck if a denunciation has been executed given a …\nGet execution events optionally filtered by:\nGet a copy of a single datastore entry with its final and …\nGet the final and active values of balance.\nGet the execution status of a batch of operations.\nGet execution statistics\nAtomically query the execution state with multiple requests\nStop the execution thread Note that we do not take self by …\nUpdates blockclique status by signaling newly finalized …\nBlock gas error: {0}\nCache error: {0}\nChannel error\nAutonomous smart contract call error: {0}\nErrors of the execution component.\nExecution query errors\nFactory error: {0}\nInclude denunciation error: {0}\nInclude operation error: {0}\nInvalid slot range\nMassaHashError: {0}\nModelsError: {0}\nNot enough gas in the block: {0}\nNot found: {0}\nRollBuy error: {0}\nRollSell error: {0}\nRuntime error: {0}\nSlash roll or deferred credits error: {0}\nGiven gas is above the threshold: {0}\nTransaction error: {0}\nVM Error in {context} context: {error}\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nexecution context in which the error happened\nmassa-sc-runtime virtual machine error\nStore for events emitted by smart contracts\nClear the event store\nExtend the event store with another store\nSet the events of this store as final\nReturns the argument unchanged.\nGet events optionally filtered by:\nGet events iterator optionally filtered by given …\nCalls U::from(self).\nPrune the event store if its size is over the given limit\nPush a new smart contract event to the store\nTake the event store\nConvert a vector of grpc_model::ScExecutionEventsFilter to …\nConverts a ExecutionQueryResponse to a …\nConvert a grpc_api::ScExecutionEventsRequest to a …\nExecution module configuration\nStorage cost constants\nconstant cost for async messages\nGas used by a transaction, a roll buy or a roll sell)\nWhere to dump blocks\nblock creation reward\nwhether slot execution outputs broadcast is enabled\nslot execution outputs channel capacity\nslot execution traces channel capacity\nwhether slot execution traces broadcast is enabled\nchain id\nRuntime condom middleware limits\nextra lag to add on the execution cursor to improve …\ndeferred calls config\nDenunciation expire delta\nendorsement count\nPath to the hard drive event cache storage\nMaximum number of entries we want to keep in the Event …\nAmount of entries removed when event_cache_size is reached\nReturns the argument unchanged.\nReturns the argument unchanged.\nGas costs\ngenesis timestamp\nPath to the hard drive cache storage\nMaximum number of entries we want to keep in the HD cache\nCalls U::from(self).\nCalls U::from(self).\nlast start period, used to attach to the correct execution …\nCost per byte in ledger\nLedger entry base cost\nLedger entry datastore base cost\nMaximum number of entries we want to keep in the LRU cache\nmaximum available gas for asynchronous messages execution\nMax bytecode size\nMax size of a datastore key\nMax datastore value size\nMaximum number of event that an operation can emit\nmax size of event data, in bytes\nMax execution traces slot to keep in trace history cache\nmaximum number of SC output events kept in cache\nMax function length in call sc\nmaximum gas per block\nMax miss ratio for auto roll sell\nMax parameter length in call sc\nMax gas for read only executions\nMax recursive calls depth in SC Used to limit the …\noperation validity period\nperiods per cycle\nread-only execution request queue length\nNumber of roll to remove per denunciation\nprice of a roll inside the network\nAmount of entries removed when hd_cache_size is reached\nduration of the statistics time window\nStorage cost constants\nperiod duration\nnumber of threads\ngets the balance (candidate) of an address, returns …\ngets the balance (final) of an address, returns …\ngets the bytecode (candidate) of an address, returns …\ngets the bytecode (final) of an address, returns …\ngets the datastore keys (candidate) of an address, returns …\ngets the datastore keys (final) of an address, returns …\ngets a datastore value (candidate) for an address, returns …\ngets a datastore value (final) for an address, returns …\ngets the deferred credits (candidate) of an address, …\ngets the deferred credits (final) of an address, returns …\nchecks if address exists (candidate) returns …\nchecks if address exists (final) returns …\ngets the roll count (candidate) of an address, returns …\ngets the roll count (final) of an address, returns …\nThe operation or denunciation was found as executed with …\nThe operation or denunciation was found as successfully …\namount value\nboolean value\nbytecode\nExecute the main function of a bytecode\nget all information for a given cycle, returns …\ncycle infos value\ndatastore value\nget info of deferred calls\ndeferred call info value\ngets the deferred call quote (candidate) for a slot, …\ndeferred call quote (target_slot, gas_request, available, …\nretrieves the deferred call for given slot\ndeferred call slot calls value\ndeferred credits value\ngets the execution status (candidate) for an denunciation, …\ngets the execution status (final) for an denunciation, …\nget filtered events. Returns …\nEvents\nNo information about the operation or denunciation …\nstructure storing a block id + network versions (from a …\nExecuted slot output\nExecution info about an address\nMetadata needed to execute the block\nstructure describing the output of a single execution\nInformation about cycles\nExecution status of an operation or denunciation\nRequest to atomically execute a batch of execution state …\nExecution state query item\nResponse to a list of execution queries\nExecution state query response item\nStaker information for a given cycle\nStructure describing an element of the execution stack. …\nexecution status value\nFinalized slot output\nExecute a function call\nlist of keys\ngets the execution status (candidate) for an operation, …\ngets the execution status (final) for an operation, …\nstructure describing a read-only call\nstructure describing the output of a read only execution\nstructure describing different types of read-only …\nstructure describing different possible targets of a …\nroll counts value\nstructure describing the output of the execution of a slot\nactive roll count\nCalled address\nAnnounced network version (see Versioning doc)\nAuto sell roll execution (empty if execution-info feature …\nBlock id\noptional executed block info at that slot (None if miss)\nReturned value from the module call\nCall stack to simulate, older caller first\nCall stack to simulate, older caller first. Target should …\nCancel async message execution (empty if execution-info …\ncandidate balance of the address\nLast executed candidate slot\ncandidate datastore keys of the address\ncandidate number of rolls the address has\nCoins transferred to the target address during the call\nCoins transferred to the target address during the call\nCurrent network version (see Versioning doc)\ncycle number\ncycle information\nDeferred credits execution (empty if execution-info …\nevents emitted by the execution step\nFee\nfinal balance of the address\nLast executed final slot\nfinal datastore keys of the address\nfinal number of rolls the address has\nFinal state hash\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nfuture deferred credits\nGas cost for this execution, with needed adjustments\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nwhether the cycle is final\nexecution start state\nMaximum gas to spend in the execution.\nMaximum gas to spend in the execution.\nDatastore (key value store) for ExecuteSC Operation\nOutput of a single execution\nList of addresses owned by the current call, and on which …\nParameter to pass to the target function\nproduction stats\nList of requests\nList of responses\nAddress of the creator of the parent in the same thread\nslot\ninfos for each PoS-participating address among the ones …\nstate changes caused by the execution step\nStorage referencing the block and its contents\nTarget of the request\nTarget address\nTarget function\nAddress for which to query the datastore\nAddress for which to query the datastore\nAddress for which to query the datastore\nAddress for which to query the datastore\ncycle to query\nKey of the entry\nKey of the entry\ngas request\nparams size\nFilter only entries whose key starts with a prefix\nFilter only entries whose key starts with a prefix\noptionally restrict the query to a set of addresses. If …\nslot to query\nParameter to pass to the target function\nTarget address\nTarget function") \ No newline at end of file +searchState.loadedDescShard("massa_execution_exports", 0, "Overview\ngets the balance (candidate) of an address, returns …\ngets the balance (final) of an address, returns …\ngets the bytecode (candidate) of an address, returns …\ngets the bytecode (final) of an address, returns …\ngets the datastore keys (candidate) of an address, returns …\ngets the datastore keys (final) of an address, returns …\ngets a datastore value (candidate) for an address, returns …\ngets a datastore value (final) for an address, returns …\ngets the deferred credits (candidate) of an address, …\ngets the deferred credits (final) of an address, returns …\nchecks if address exists (candidate) returns …\nchecks if address exists (final) returns …\ngets the roll count (candidate) of an address, returns …\ngets the roll count (final) of an address, returns …\nThe operation or denunciation was found as executed with …\nThe operation or denunciation was found as successfully …\namount value\nBlock gas error: {0}\nboolean value\nbytecode\nExecute the main function of a bytecode\nCache error: {0}\nChannel error\nget all information for a given cycle, returns …\ncycle infos value\ndatastore value\nget info of deferred calls\ndeferred call info value\ngets the deferred call quote (candidate) for a slot, …\ndeferred call quote (target_slot, gas_request, available, …\nretrieves the deferred call for given slot\ndeferred call slot calls value\nAutonomous smart contract call error: {0}\ndeferred credits value\ngets the execution status (candidate) for an denunciation, …\ngets the execution status (final) for an denunciation, …\nStore for events emitted by smart contracts\nget filtered events. Returns …\nEvents\nNo information about the operation or denunciation …\nstructure storing a block id + network versions (from a …\nExecuted slot output\nExecution info about an address\nMetadata needed to execute the block\nchannels used by the execution worker\nExecution module configuration\ninterface that communicates with the execution worker …\nErrors of the execution component.\nExecution manager used to stop the execution thread\nstructure describing the output of a single execution\nInformation about cycles\nExecution query errors\nExecution status of an operation or denunciation\nRequest to atomically execute a batch of execution state …\nExecution state query item\nResponse to a list of execution queries\nExecution state query response item\nStaker information for a given cycle\nStructure describing an element of the execution stack. …\nexecution status value\nFactory error: {0}\nFinalized slot output\nExecute a function call\nInclude denunciation error: {0}\nInclude operation error: {0}\nInvalid slot range\nlist of keys\nMassaHashError: {0}\nModelsError: {0}\nNot enough gas in the block: {0}\nNot found: {0}\ngets the execution status (candidate) for an operation, …\ngets the execution status (final) for an operation, …\nstructure describing a read-only call\nstructure describing the output of a read only execution\nstructure describing different types of read-only …\nstructure describing different possible targets of a …\nRollBuy error: {0}\nroll counts value\nRollSell error: {0}\nRuntime error: {0}\nSlash roll or deferred credits error: {0}\nstructure describing the output of the execution of a slot\nStorage cost constants\nGiven gas is above the threshold: {0}\nTransaction error: {0}\nVM Error in {context} context: {error}\nactive roll count\nCalled address\nAnnounced network version (see Versioning doc)\nconstant cost for async messages\nAuto sell roll execution (empty if execution-info feature …\nGas used by a transaction, a roll buy or a roll sell)\nWhere to dump blocks\nBlock id\noptional executed block info at that slot (None if miss)\nblock creation reward\nwhether slot execution outputs broadcast is enabled\nslot execution outputs channel capacity\nslot execution traces channel capacity\nwhether slot execution traces broadcast is enabled\nReturned value from the module call\nCall stack to simulate, older caller first\nCall stack to simulate, older caller first. Target should …\nCancel async message execution (empty if execution-info …\ncandidate balance of the address\nLast executed candidate slot\ncandidate datastore keys of the address\ncandidate number of rolls the address has\nchain id\nReturns a boxed clone of self. Useful to allow cloning …\nCoins transferred to the target address during the call\nCoins transferred to the target address during the call\nRuntime condom middleware limits\nThis module exports generic traits representing interfaces …\nCurrent network version (see Versioning doc)\nextra lag to add on the execution cursor to improve …\ncycle number\ncycle information\ndeferred calls config\nDeferred credits execution (empty if execution-info …\nDenunciation expire delta\nendorsement count\nthis file defines all possible execution error categories\nPath to the hard drive event cache storage\nMaximum number of entries we want to keep in the Event …\nAmount of entries removed when event_cache_size is reached\nThis module represents an event store allowing to store, …\nevents emitted by the execution step\nExecute read-only SC function call without causing …\nFee\nfinal balance of the address\nLast executed final slot\nfinal datastore keys of the address\nfinal number of rolls the address has\nFinal state hash\nReturns the argument unchanged.\nReturns the argument unchanged.\nfuture deferred credits\nGas cost for this execution, with needed adjustments\nGas costs\ngenesis timestamp\nGets information about a batch of addresses\nReturns for a given cycle the stakers taken into account …\nCheck if a denunciation has been executed given a …\nGet execution events optionally filtered by:\nGet a copy of a single datastore entry with its final and …\nGet the final and active values of balance.\nGet the execution status of a batch of operations.\nGet execution statistics\nPath to the hard drive cache storage\nMaximum number of entries we want to keep in the HD cache\nCalls U::from(self).\nCalls U::from(self).\nwhether the cycle is final\nexecution start state\nlast start period, used to attach to the correct execution …\nCost per byte in ledger\nLedger entry base cost\nLedger entry datastore base cost\nMaximum number of entries we want to keep in the LRU cache\nmapping grpc\nmaximum available gas for asynchronous messages execution\nMax bytecode size\nMax size of a datastore key\nMax datastore value size\nMaximum number of event that an operation can emit\nmax size of event data, in bytes\nmax size of event data, in bytes\nMax execution traces slot to keep in trace history cache\nmaximum number of SC output events kept in cache\nMax function length in call sc\nMaximum gas to spend in the execution.\nMaximum gas to spend in the execution.\nmaximum gas per block\nMax miss ratio for auto roll sell\nMax parameter length in call sc\nMax gas for read only executions\nMax recursive calls depth in SC Used to limit the …\nDatastore (key value store) for ExecuteSC Operation\noperation validity period\nOutput of a single execution\nList of addresses owned by the current call, and on which …\nParameter to pass to the target function\nperiods per cycle\nproduction stats\nAtomically query the execution state with multiple requests\nread-only execution request queue length\nList of requests\nList of responses\nNumber of roll to remove per denunciation\nprice of a roll inside the network\nAddress of the creator of the parent in the same thread\nThis module provides the structures used to provide …\nslot\nBroadcast channel for new slot execution outputs\nAmount of entries removed when hd_cache_size is reached\ninfos for each PoS-participating address among the ones …\nstate changes caused by the execution step\nduration of the statistics time window\nStop the execution thread Note that we do not take self by …\nStorage referencing the block and its contents\nStorage cost constants\nperiod duration\nTarget of the request\nTarget address\nTarget function\nnumber of threads\nThis file exports useful types used to interact with the …\ntypes for execution-trace / execution-info\nUpdates blockclique status by signaling newly finalized …\nexecution context in which the error happened\nmassa-sc-runtime virtual machine error\nAddress for which to query the datastore\nAddress for which to query the datastore\nAddress for which to query the datastore\nAddress for which to query the datastore\ncycle to query\nKey of the entry\nKey of the entry\ngas request\nparams size\nFilter only entries whose key starts with a prefix\nFilter only entries whose key starts with a prefix\noptionally restrict the query to a set of addresses. If …\nslot to query\nParameter to pass to the target function\nTarget address\nTarget function\nchannels used by the execution worker\nReturns the argument unchanged.\nCalls U::from(self).\nBroadcast channel for new slot execution outputs\ninterface that communicates with the execution worker …\nExecution manager used to stop the execution thread\nReturns a boxed clone of self. Useful to allow cloning …\nExecute read-only SC function call without causing …\nGets information about a batch of addresses\nReturns for a given cycle the stakers taken into account …\nCheck if a denunciation has been executed given a …\nGet execution events optionally filtered by:\nGet a copy of a single datastore entry with its final and …\nGet the final and active values of balance.\nGet the execution status of a batch of operations.\nGet execution statistics\nAtomically query the execution state with multiple requests\nStop the execution thread Note that we do not take self by …\nUpdates blockclique status by signaling newly finalized …\nBlock gas error: {0}\nCache error: {0}\nChannel error\nAutonomous smart contract call error: {0}\nErrors of the execution component.\nExecution query errors\nFactory error: {0}\nInclude denunciation error: {0}\nInclude operation error: {0}\nInvalid slot range\nMassaHashError: {0}\nModelsError: {0}\nNot enough gas in the block: {0}\nNot found: {0}\nRollBuy error: {0}\nRollSell error: {0}\nRuntime error: {0}\nSlash roll or deferred credits error: {0}\nGiven gas is above the threshold: {0}\nTransaction error: {0}\nVM Error in {context} context: {error}\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nexecution context in which the error happened\nmassa-sc-runtime virtual machine error\nStore for events emitted by smart contracts\nClear the event store\nExtend the event store with another store\nSet the events of this store as final\nReturns the argument unchanged.\nGet events optionally filtered by:\nGet events iterator optionally filtered by given …\nCalls U::from(self).\nPrune the event store if its size is over the given limit\nPush a new smart contract event to the store\nTake the event store\nConvert a vector of grpc_model::ScExecutionEventsFilter to …\nConverts a ExecutionQueryResponse to a …\nConvert a grpc_api::ScExecutionEventsRequest to a …\nExecution module configuration\nStorage cost constants\nconstant cost for async messages\nGas used by a transaction, a roll buy or a roll sell)\nWhere to dump blocks\nblock creation reward\nwhether slot execution outputs broadcast is enabled\nslot execution outputs channel capacity\nslot execution traces channel capacity\nwhether slot execution traces broadcast is enabled\nchain id\nRuntime condom middleware limits\nextra lag to add on the execution cursor to improve …\ndeferred calls config\nDenunciation expire delta\nendorsement count\nPath to the hard drive event cache storage\nMaximum number of entries we want to keep in the Event …\nAmount of entries removed when event_cache_size is reached\nReturns the argument unchanged.\nReturns the argument unchanged.\nGas costs\ngenesis timestamp\nPath to the hard drive cache storage\nMaximum number of entries we want to keep in the HD cache\nCalls U::from(self).\nCalls U::from(self).\nlast start period, used to attach to the correct execution …\nCost per byte in ledger\nLedger entry base cost\nLedger entry datastore base cost\nMaximum number of entries we want to keep in the LRU cache\nmaximum available gas for asynchronous messages execution\nMax bytecode size\nMax size of a datastore key\nMax datastore value size\nMaximum number of event that an operation can emit\nmax size of event data, in bytes\nmax size of event data, in bytes\nMax execution traces slot to keep in trace history cache\nmaximum number of SC output events kept in cache\nMax function length in call sc\nmaximum gas per block\nMax miss ratio for auto roll sell\nMax parameter length in call sc\nMax gas for read only executions\nMax recursive calls depth in SC Used to limit the …\noperation validity period\nperiods per cycle\nread-only execution request queue length\nNumber of roll to remove per denunciation\nprice of a roll inside the network\nAmount of entries removed when hd_cache_size is reached\nduration of the statistics time window\nStorage cost constants\nperiod duration\nnumber of threads\ngets the balance (candidate) of an address, returns …\ngets the balance (final) of an address, returns …\ngets the bytecode (candidate) of an address, returns …\ngets the bytecode (final) of an address, returns …\ngets the datastore keys (candidate) of an address, returns …\ngets the datastore keys (final) of an address, returns …\ngets a datastore value (candidate) for an address, returns …\ngets a datastore value (final) for an address, returns …\ngets the deferred credits (candidate) of an address, …\ngets the deferred credits (final) of an address, returns …\nchecks if address exists (candidate) returns …\nchecks if address exists (final) returns …\ngets the roll count (candidate) of an address, returns …\ngets the roll count (final) of an address, returns …\nThe operation or denunciation was found as executed with …\nThe operation or denunciation was found as successfully …\namount value\nboolean value\nbytecode\nExecute the main function of a bytecode\nget all information for a given cycle, returns …\ncycle infos value\ndatastore value\nget info of deferred calls\ndeferred call info value\ngets the deferred call quote (candidate) for a slot, …\ndeferred call quote (target_slot, gas_request, available, …\nretrieves the deferred call for given slot\ndeferred call slot calls value\ndeferred credits value\ngets the execution status (candidate) for an denunciation, …\ngets the execution status (final) for an denunciation, …\nget filtered events. Returns …\nEvents\nNo information about the operation or denunciation …\nstructure storing a block id + network versions (from a …\nExecuted slot output\nExecution info about an address\nMetadata needed to execute the block\nstructure describing the output of a single execution\nInformation about cycles\nExecution status of an operation or denunciation\nRequest to atomically execute a batch of execution state …\nExecution state query item\nResponse to a list of execution queries\nExecution state query response item\nStaker information for a given cycle\nStructure describing an element of the execution stack. …\nexecution status value\nFinalized slot output\nExecute a function call\nlist of keys\ngets the execution status (candidate) for an operation, …\ngets the execution status (final) for an operation, …\nstructure describing a read-only call\nstructure describing the output of a read only execution\nstructure describing different types of read-only …\nstructure describing different possible targets of a …\nroll counts value\nstructure describing the output of the execution of a slot\nactive roll count\nCalled address\nAnnounced network version (see Versioning doc)\nAuto sell roll execution (empty if execution-info feature …\nBlock id\noptional executed block info at that slot (None if miss)\nReturned value from the module call\nCall stack to simulate, older caller first\nCall stack to simulate, older caller first. Target should …\nCancel async message execution (empty if execution-info …\ncandidate balance of the address\nLast executed candidate slot\ncandidate datastore keys of the address\ncandidate number of rolls the address has\nCoins transferred to the target address during the call\nCoins transferred to the target address during the call\nCurrent network version (see Versioning doc)\ncycle number\ncycle information\nDeferred credits execution (empty if execution-info …\nevents emitted by the execution step\nFee\nfinal balance of the address\nLast executed final slot\nfinal datastore keys of the address\nfinal number of rolls the address has\nFinal state hash\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nfuture deferred credits\nGas cost for this execution, with needed adjustments\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nwhether the cycle is final\nexecution start state\nMaximum gas to spend in the execution.\nMaximum gas to spend in the execution.\nDatastore (key value store) for ExecuteSC Operation\nOutput of a single execution\nList of addresses owned by the current call, and on which …\nParameter to pass to the target function\nproduction stats\nList of requests\nList of responses\nAddress of the creator of the parent in the same thread\nslot\ninfos for each PoS-participating address among the ones …\nstate changes caused by the execution step\nStorage referencing the block and its contents\nTarget of the request\nTarget address\nTarget function\nAddress for which to query the datastore\nAddress for which to query the datastore\nAddress for which to query the datastore\nAddress for which to query the datastore\ncycle to query\nKey of the entry\nKey of the entry\ngas request\nparams size\nFilter only entries whose key starts with a prefix\nFilter only entries whose key starts with a prefix\noptionally restrict the query to a set of addresses. If …\nslot to query\nParameter to pass to the target function\nTarget address\nTarget function") \ No newline at end of file diff --git a/search.desc/massa_execution_worker/massa_execution_worker-desc-0-.js b/search.desc/massa_execution_worker/massa_execution_worker-desc-0-.js index a667e7b0d5..b3b22ae2e0 100644 --- a/search.desc/massa_execution_worker/massa_execution_worker-desc-0-.js +++ b/search.desc/massa_execution_worker/massa_execution_worker-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("massa_execution_worker", 0, "General description\nThis module represents the context in which the VM …\nThis module implements an execution controller. See …\nThis module deals with executing final and active slots, …\nImplementation of the interface between …\nThis file defines a generic finite-size execution request …\nCopyright (c) 2022 MASSA LABS info@massa.net This module …\nThe speculative asynchronous pool represents the state of …\nSpeculative async call registry.\nCopyright (c) 2023 MASSA LABS info@massa.net Speculative …\nCopyright (c) 2022 MASSA LABS info@massa.net Speculative …\nThe speculative ledger represents, in a compressed way, …\nLaunches an execution worker thread and returns an …\nCopyright (c) 2022 MASSA LABS info@massa.net\nProvide abstraction and implementations of a storage …\nCopyright (c) 2022 MASSA LABS info@massa.net This module …\nHistory of the outputs of recently executed slots. Slots …\nfound in history at a given index\nout of bounds in the future\nResult of a lazy, active history search\nhistory is empty\nout of bounds in the past\nResult of the search for a slot index in history\nLazily query (from end to beginning) the active datastore …\nLazily query (from end to beginning) the active balance of …\nLazily query (from end to beginning) the active bytecode …\nLazily query (from end to beginning) the active list of …\nLazily query (from end to beginning) the active list of …\nLazily query (from end to beginning) a message based on …\nStarting from the newest element in history, return the …\nFind the history range of a cycle\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGets the deferred credits for a given address that will be …\nGets all the deferred credits that will be credited until …\nGets the execution trail hash\nGet the execution statuses of a set of operations. Returns …\nGets the index of a slot in history\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nRemove slot and the slots after it from history\nAn execution context that needs to be initialized before …\nA snapshot taken from an ExecutionContext and that …\nCreate a new ExecutionContext for executing an active slot.\nAdd roll_count rolls to the buyer address. Validity checks …\nAddress factory\nAppends data to a datastore entry for an address in the …\nspeculative asynchronous pool messages emitted so far in …\nCancels an asynchronous message, reimbursing msg.coins to …\nin case of\nconfiguration\nCreates a new smart contract address with initial …\ncounter of newly created addresses so far at this slot …\ncounter of newly created addresses so far during this …\ncounter of newly created events so far during this …\ncounter of newly created events so far during this …\ncounter of async messages emitted so far in this execution\ncounter of newly created messages so far during this …\nCreator address. The bytecode of this address can’t be …\nminimal balance allowed for the creator of the operation …\nwhen a deferred call is cancelled we need to refund the …\nCheck if a deferred call exists If it exists, check if it …\nwhen a deferred call execution fails we need to refund the …\nspeculative deferred calls changes\nGet the price it would cost to reserve “gas” with …\nDeletes a datastore entry for an address. Fails if the …\nkeep the count of event emitted in the context\nCreates a new event but does not emit it. Note that this …\nEmits a previously created event. Overrides the event’s …\ngenerated events during this execution, with multiple …\nExecute the deferred credits of slot.\nspeculative list of executed denunciations\nspeculative list of operations executed\nExecution trail hash\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe gas remaining before the last subexecution. so …\nThe gas remaining before the last subexecution. so …\nGenerate the execution trail hash\ngets the cycle information for an address\nGet future deferred credits of an address With optionally …\ngets the effective balance of an address\ngets the bytecode of an address if it exists in the …\nGets the addresses from the call stack (last = top of the …\nGets the address at the top of the call stack, if any\nGets the current call coins\nGets the current list of owned addresses (top of the stack)\ngets the data from a datastore entry of an address if it …\nGet a deferred call by its id\nfind the deferred calls for a given slot\ngets the datastore keys of an address if it exists in the …\nReturns a snapshot containing the clone of the current …\nchecks if a datastore entry exists in the speculative …\nChecks whether the context currently grants write access …\nInitializes and seeds the PRNG with the given execution …\nInsert a executed denunciation.\nInsert an executed operation. Does not check for reuse, …\nCalls U::from(self).\nCalls U::from(self).\nCheck if a denunciation was previously executed (to …\nCheck if an operation was previously executed (to prevent …\nspeculative ledger changes caused so far in the context\nthe associated message infos for the speculative async pool\ncache of compiled runtime modules\nCreate a new empty ExecutionContext This should only be …\nblock Id, if one is present at the execution slot\noperation id that originally caused this execution (if any)\nspeculative roll state changes caused so far in the context\nAdd a new asynchronous message to speculative pool\nTrue if it’s a read-only context\nCreate a new ExecutionContext for read-only execution This …\nrecursion counter, incremented for each new nested call …\nrecursion counter, incremented for each new nested call\nResets context to an existing snapshot. Optionally emits …\nSets a bytecode for an address in the speculative ledger. …\nSets a datastore entry for an address in the speculative …\nFinishes a slot and generates the execution output. …\nslot at which the execution happens\nspeculative asynchronous pool state, as seen after …\nspeculative deferred calls state,\nspeculative list of executed denunciations\nspeculative list of executed operations\nspeculative ledger state, as seen after everything that …\nspeculative roll state, as seen after everything that …\naddress call stack, most recent is at the back\naddress call stack, most recent is at the back\nThis function takes a batch of asynchronous operations to …\nTransfers coins from one address to another. No changes …\nTry to sell roll_count rolls from the seller address.\nTry to slash roll_count rolls from the denounced address. …\nUnsafe random state\nUnsafe random state (can be predicted and manipulated)\nUpdate production statistics of an address.\nimplementation of the execution controller\nstructure used to communicate with execution thread\nExecution manager Allows stopping the execution worker\nstorage instances for previously unprocessed blocks\nReturns a boxed clone of self. Allows cloning …\nExecutes a read-only request Read-only requests do not …\ncurrent execution state (see execution.rs for details)\nlist of newly finalized blocks\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGets information about a batch of addresses\nReturn the active rolls distribution for the given cycle\nCheck if a denunciation has been executed given a …\nGet the generated execution events, optionally filtered by:\nGet a copy of a single datastore entry with its final and …\nGet the final and candidate values of balance.\nSee trait definition\nGet execution statistics\ninput data to process in the Execution manager loop with a …\ninput data to process in the Execution controller loop …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a new empty ExecutionInputData\nnew blockclique (if there is a new one)\nAtomically query the execution state with multiple requests\nqueue for read-only execution requests and response MPSCs …\nstops the worker\nset stop to true to stop the thread\nTakes the current input data into a clone that is returned,\nhandle used to join the worker thread\nUpdates blockclique status by signaling newly finalized …\nABIs\nStructure holding consistent speculative and final …\nApplies an execution output to the active (non-final) state\nApplies the output of an execution to the final execution …\nUsed to acquire a lock on the execution context\nTries to execute an asynchronous message If the execution …\nExecute an operation of type CallSC Will panic if called …\nExecute a candidate slot\nExecute a denunciation in the context of a block.\nExecute an operation of type ExecuteSC Will panic if …\nExecute an SCE-final slot\nExecute an operation in the context of a block. Assumes …\nRuns a read-only execution request. The executed bytecode …\nExecute an operation of type RollBuy Will panic if called …\nExecute an operation of type RollSell Will panic if called …\nExecutes a full slot (with or without a block inside) …\nExecute an operation of type Transaction Will panic if …\nReturns the argument unchanged.\nGet future deferred credits of an address Returns tuple: …\nGet future deferred credits of an address\nReturns for a given cycle the stakers taken into account …\nGet cycle infos\nCheck if a denunciation has been executed given a …\nGets execution events optionally filtered by:\nGets a balance both at the latest final and candidate …\nGets a data entry both at the latest final and active …\nGets a balance both at the latest final and candidate …\nGet every final and active datastore key of the given …\nGets roll counts both at the latest final and active …\nGet the fingerprint of the final state\nGet the execution status of a batch of operations.\nGet execution statistics\nCalls U::from(self).\nprometheus metrics\nCreate a new execution state. This should be called only …\nHelper function. Within a locked execution context (lock …\nUpdate MipStore with block header stats\nstructure describing the output of a denunciation execution\nTarget address of the denunciation\nAuto sell roll execution (empty if execution-info feature …\nCancel async message execution (empty if execution-info …\nDeferred credits execution (empty if execution-info …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nSave transfer for a given slot\nAmount slashed if successfully executed\nDenunciation slot\nan implementation of the Interface trait (see …\nAdds two native amounts, saturating at the numeric bounds …\nConverts a public key to an address\nHelper function that creates an amount from a NativeAmount\nHelper function that creates a NativeAmount from the …\nAppends a value to a datastore entry for a given address, …\nCheck whether or not the caller has write access in the …\nChecks if the given native amount is valid\nallows cloning a boxed InterfaceImpl\nexecution configuration\nthread-safe shared access to the execution context (see …\nhelper for locking the context mutex\nCreates a new ledger entry with the initial bytecode given …\nCancel a deferred call\nCheck if an deferred call exists\nRegister deferred call\nDeletes a datastore entry by key for a given address, or …\nDivides a native amount by a divisor, return an error if …\nChecks if a datastore entry exists for a given address, or …\nGet an EVM address from a raw secp256k1 public key (64 …\nGet a raw secp256k1 public key from an EVM signature and …\nVerify an EVM signature\nCalled to finish the call process after a bytecode calls a …\nReturns the argument unchanged.\nEmits an execution event to be stored.\nEmits an execution event to be stored.\nHelper function to get the address from the option given …\nGets the balance of the current address address (top of …\nGets the balance of arbitrary address passed as argument.\nGets the balance of arbitrary address passed as argument, …\nReturns bytecode of the target address, or the current …\nGets the amount of coins that have been transferred at the …\nGets the amount of coins that have been transferred at the …\nReturns the addresses in the call stack, from the bottom …\nReturns the period of the current execution slot\nReturns the current execution slot\nReturns the thread of the current execution slot\nGet the number of fees needed to reserve space in the …\nGet the datastore keys (aka entries) for a given address, …\nGets a datastore value by key for a given address, or the …\nInterface version to sync with the runtime for its …\nGet the datastore keys (aka entries) for a given address\nGet the datastore keys (aka entries) for a given address\nGet the module from cache if possible, compile it if not\nGets an operation datastore value by key. Note that the …\nGet the operation datastore keys (aka entries). Note that …\nGet the operation datastore keys (aka entries). Note that …\nReturns the list of owned addresses (top of the call …\nReturns the current time (millisecond UNIX timestamp) Note …\nCompile and return a temporary module\nChecks if a datastore entry exists for the current address …\nChecks if a datastore entry exists for a given address.\nHashes arbitrary data\nHashes givens byte array with blake3\nKeccak256 hash function\nHashes givens byte array with sha256\nInitialize the call when bytecode calls a function from …\nCalls U::from(self).\nHelper function that creates an MassaTime from a NativeTime\nHelper function that creates a NativeTime from the …\nReturns a NativeAmount from a string\nReturns a string from a NativeAmount\ncreates a new InterfaceImpl\nChecks if an operation datastore entry exists in the …\nprints a message in the node logs at log level 3 (debug)\nAppends data to a datastore entry for the current address …\nAppends a value to a datastore entry for a given address. …\nDeletes a datastore entry by key for the current address …\nDeletes a datastore entry by key for a given address. …\nReturns bytecode of the current address\nReturns bytecode of the target address\nGets a datastore value by key for the current address (top …\nGets a datastore value by key for a given address.\nSets the bytecode of the current address\nSets the bytecode of an arbitrary address. Fails if the …\nSets a datastore entry for the current address (top of the …\nSets a datastore entry for a given address. Fails if the …\nTry to get a write lock on the execution context then set …\nDivides a native amount by a divisor, return an error if …\nMultiplies a native amount by a factor, saturating at the …\nAdds an asynchronous message to the context speculative …\nSets the bytecode of an arbitrary address, or the current …\nVerifies a signature\nSubtracts two native amounts, saturating at the numeric …\nTransfer coins from the current address (top of the call …\nTransfer coins from a given address towards a target …\nTransfer coins from a given address (or the current …\nReturns a pseudo-random deterministic i64 number\nReturns a pseudo-random deterministic f64 number\nReturns a pseudo-random deterministic byte array, with the …\nStructure representing an execution request queue with …\nRepresents an execution request T coupled with an MPSC …\nCancel the request by consuming the object and sending an …\nCancel all queued items.\nReturns the max number of items the queue can contain\nExtends Self with the contents of another RequestQueue. …\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nDestructure self into a (request, response sender) pair\nChecks whether the queue is empty\nTake all the elements into a new queue and reset the …\nMax number of item in the queue. When the queue is full, …\nCreate a new request with response sender\nCreate a new request queue\nPop out the oldest element of the queue\nPush a new element at the end of the queue. May fail if …\nThe actual underlying queue\nThe underlying execution request\nAn std::mpsc::Sender to later send the execution output R …\nInformation about a slot in the execution sequence\nStructure allowing execution slot sequence management.\nClean the slot sequence by removing slots that are not …\nConfig\nWhether the slot is CSS-final\nContent of the slot (None if miss, otherwise block ID and …\nWhether the slot is SCE-final\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet the block ID (if any) at that slot\nGets the instant of the slot just after the latest slot in …\nGets an immutable reference to a SlotInfo, if any, …\nGet the index of a slot in the sequence, if present, …\nInternal function allowing to get the latest slot we …\nInternal method that inits the sequencer. This method is …\nCalls U::from(self).\nCalls U::from(self).\nReturns true if there is a queued slot that needs to be …\nlatest CSS-final slots (one per thread)\ncandidate slot execution cursor\nfinal slot execution cursor\nlatest SCE-final slot\nCreate a new slot sequencer. Note that this will create a …\nIf a slot is ready for execution, this method will mark it …\nContinuous sequence of slots containing all the slots …\nInternal method called by Self::update to construct one …\nSlot\nNotify the sequencer of incoming changes: CSS-finalized …\nReturns the argument unchanged.\nTakes a snapshot (clone) of the emitted messages\nCalls U::from(self).\nReturn true if a message (given its validity end) is …\nReturn true if a message (given its validity_start & …\nCheck in the ledger changes if a message trigger has been …\nCreates a new SpeculativeAsyncPool\nAdd a new message to the list of changes of this …\nResets the SpeculativeAsyncPool emitted messages to a …\nSettle a slot. Consume newly emitted messages into …\nReturns the changes caused to the SpeculativeAsyncPool …\nTakes a batch of asynchronous messages to execute, …\nConsumes and deletes the current slot, prepares a new slot …\nCancel a call Returns the sender address and the amount of …\nCompute call fee\nReturns the argument unchanged.\nTakes a snapshot (clone) of the message states\nCalls U::from(self).\nCreates a new SpeculativeDeferredCallRegistry\nAdd a new call to the list of changes of this …\nRegister a new call Returns the call id\nResets the SpeculativeDeferredCallRegistry to a snapshot …\nTake the deferred registry slot changes\nSpeculative state of executed denunciations\nHistory of the outputs of recently executed slots. Slots …\nexecuted operations: maps the operation ID to its validity …\nThread-safe shared access to the final state. For reading …\nReturns the argument unchanged.\nTakes a snapshot (clone) of the changes since its creation\nInsert an executed denunciation.\nCalls U::from(self).\nChecks if a denunciation was executed previously\nCreates a new SpeculativeExecutedDenunciations\nResets the SpeculativeRollState to a snapshot (see …\nReturns the set of operation IDs caused to the …\nSpeculative state of executed operations\nHistory of the outputs of recently executed slots. Slots …\nexecuted operations: maps the operation ID to its validity …\nThread-safe shared access to the final state. For reading …\nReturns the argument unchanged.\nTakes a snapshot (clone) of the changes caused to the …\nInsert an executed operation. Does not check for reuse, …\nCalls U::from(self).\nChecks if an operation was executed previously\nCreates a new SpeculativeExecutedOps\nResets the SpeculativeRollState to a snapshot (see …\nReturns the set of operation IDs caused to the …\nThe SpeculativeLedger contains an thread-safe shared …\nHistory of the outputs of recently executed slots. Slots …\nlist of ledger changes that were applied to this …\nCharge the storage costs of a datastore entry change, if …\nCreates a new smart contract address with initial bytecode.\nDeletes a datastore entry for a given address. Fails if …\nChecks if an address exists in the speculative ledger\nThread-safe shared access to the final state. For reading …\nReturns the argument unchanged.\nGets the effective balance of an address\nGets the effective bytecode of an address\nGets a copy of a datastore value for a given address and …\nGets a copy of a datastore keys for a given address\nTakes a snapshot (clone) of the changes caused to the …\nCompute the storage costs of a full datastore entry\nChecks if a data entry exists for a given address\nCalls U::from(self).\nMax bytecode size\nmax datastore key length\nMax datastore value size\ncreates a new SpeculativeLedger\nResets the SpeculativeLedger to a snapshot (see …\nSets the bytecode associated to an address in the ledger. …\nSets a data set entry for a given address in the ledger. …\nstorage cost constants\nReturns the changes caused to the SpeculativeLedger since …\nTransfers coins from one address to another. No changes …\nSpeculative state of the rolls\nHistory of the outputs of recently executed slots. Slots …\nAdd roll_count rolls to the buyer address. Validity checks …\nList of changes to the state after settling roll sell/buy\nThread-safe shared access to the final state. For reading …\nReturns the argument unchanged.\nGet the production statistics for a given address at a …\nGets the deferred credits for a given address that will be …\nGet deferred credits of an address starting from a given …\nGet the production statistics for a given cycle. Returns a …\nInternal function to retrieve the rolls of a given address\nTakes a snapshot (clone) of the changes caused to the …\nCalls U::from(self).\nCreates a new SpeculativeRollState\nResets the SpeculativeRollState to a snapshot (see …\nSettle the production statistics at slot.\nReturns the changes caused to the SpeculativeRollState …\nTake the non-zero deferred credits at or before slot. Set …\nTry to sell roll_count rolls from the seller address.\nTry to slash amount credits from the given address. If not …\nTry to slash roll_count rolls from the given address. If …\nUpdate production statistics of an address.\nExecution statistics counter\nfinal blocks in the time window (count, instant)\nfinal denunciations executed in the time window (count, …\nfinal operations executed in the time window (count, …\nReturns the argument unchanged.\nget statistics\nCalls U::from(self).\ncreate a new ExecutionStatsCounter\nrefresh the counters and delete old records\nregister final blocks\nregister final executed denunciations\nregister final executed operations\nduration of the time window\nA storage backend that uses the file system as the …\nA storage backend that uses RocksDB as the underlying …\nA trait that defines the interface for a storage backend …\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCreates a new instance of FileStorageBackend with the …\nCreates a new instance of RocksDBStorageBackend with the …\nReads the value from the storage backend. The slot is used …\nWrites the given value to the storage backend. The slot is …\nStructure gathering all elements needed by the execution …\nExecutes a read-only request from the queue, if any. The …\nReturns the argument unchanged.\nCalls U::from(self).\nMain loop of the execution worker\nCreates the ExecutionThread structure to gather all data …\nqueue for read-only requests and response MPSCs to send …\nSelector controller\nLaunches an execution worker thread and returns an …\nAppend incoming read-only requests to the relevant queue, …\nWaits for an event to trigger a new iteration in the …") \ No newline at end of file +searchState.loadedDescShard("massa_execution_worker", 0, "General description\nThis module represents the context in which the VM …\nThis module implements an execution controller. See …\nThis module deals with executing final and active slots, …\nImplementation of the interface between …\nThis file defines a generic finite-size execution request …\nCopyright (c) 2022 MASSA LABS info@massa.net This module …\nThe speculative asynchronous pool represents the state of …\nSpeculative async call registry.\nCopyright (c) 2023 MASSA LABS info@massa.net Speculative …\nCopyright (c) 2022 MASSA LABS info@massa.net Speculative …\nThe speculative ledger represents, in a compressed way, …\nLaunches an execution worker thread and returns an …\nCopyright (c) 2022 MASSA LABS info@massa.net\nProvide abstraction and implementations of a storage …\nCopyright (c) 2022 MASSA LABS info@massa.net This module …\nHistory of the outputs of recently executed slots. Slots …\nfound in history at a given index\nout of bounds in the future\nResult of a lazy, active history search\nhistory is empty\nout of bounds in the past\nResult of the search for a slot index in history\nLazily query (from end to beginning) the active datastore …\nLazily query (from end to beginning) the active balance of …\nLazily query (from end to beginning) the active bytecode …\nLazily query (from end to beginning) the active list of …\nLazily query (from end to beginning) the active list of …\nLazily query (from end to beginning) a message based on …\nStarting from the newest element in history, return the …\nFind the history range of a cycle\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGets the deferred credits for a given address that will be …\nGets all the deferred credits that will be credited until …\nGets the execution trail hash\nGet the execution statuses of a set of operations. Returns …\nGets the index of a slot in history\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nRemove slot and the slots after it from history\nAn execution context that needs to be initialized before …\nA snapshot taken from an ExecutionContext and that …\nCreate a new ExecutionContext for executing an active slot.\nAdd roll_count rolls to the buyer address. Validity checks …\nAddress factory\nAppends data to a datastore entry for an address in the …\nspeculative asynchronous pool messages emitted so far in …\nCancels an asynchronous message, reimbursing msg.coins to …\nin case of\nconfiguration\nCreates a new smart contract address with initial …\ncounter of newly created addresses so far at this slot …\ncounter of newly created addresses so far during this …\ncounter of newly created events so far during this …\ncounter of newly created events so far during this …\ncounter of async messages emitted so far in this execution\ncounter of newly created messages so far during this …\nCreator address. The bytecode of this address can’t be …\nminimal balance allowed for the creator of the operation …\nwhen a deferred call is cancelled we need to refund the …\nCheck if a deferred call exists If it exists, check if it …\nwhen a deferred call execution fails we need to refund the …\nspeculative deferred calls changes\nGet the price it would cost to reserve “gas” with …\nDeletes a datastore entry for an address. Fails if the …\nkeep the count of event emitted in the context\nCreates a new event but does not emit it. Note that this …\nEmits a previously created event. Overrides the event’s …\ngenerated events during this execution, with multiple …\nExecute the deferred credits of slot.\nspeculative list of executed denunciations\nspeculative list of operations executed\nThe version of the execution component\nExecution trail hash\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe gas remaining before the last subexecution. so …\nThe gas remaining before the last subexecution. so …\nGenerate the execution trail hash\ngets the cycle information for an address\nGet future deferred credits of an address With optionally …\ngets the effective balance of an address\ngets the bytecode of an address if it exists in the …\nGets the addresses from the call stack (last = top of the …\nGet the condom limits to pass to the VM depending on the …\nGets the address at the top of the call stack, if any\nGets the current call coins\nGets the current list of owned addresses (top of the stack)\ngets the data from a datastore entry of an address if it …\nGet a deferred call by its id\nfind the deferred calls for a given slot\ngets the datastore keys of an address if it exists in the …\nReturns a snapshot containing the clone of the current …\nchecks if a datastore entry exists in the speculative …\nChecks whether the context currently grants write access …\nInitializes and seeds the PRNG with the given execution …\nInsert a executed denunciation.\nInsert an executed operation. Does not check for reuse, …\nCalls U::from(self).\nCalls U::from(self).\nCheck if a denunciation was previously executed (to …\nCheck if an operation was previously executed (to prevent …\nspeculative ledger changes caused so far in the context\nthe associated message infos for the speculative async pool\ncache of compiled runtime modules\nCreate a new empty ExecutionContext This should only be …\nblock Id, if one is present at the execution slot\noperation id that originally caused this execution (if any)\nspeculative roll state changes caused so far in the context\nAdd a new asynchronous message to speculative pool\nTrue if it’s a read-only context\nCreate a new ExecutionContext for read-only execution This …\nrecursion counter, incremented for each new nested call …\nrecursion counter, incremented for each new nested call\nResets context to an existing snapshot. Optionally emits …\nSets a bytecode for an address in the speculative ledger. …\nSets a datastore entry for an address in the speculative …\nFinishes a slot and generates the execution output. …\nslot at which the execution happens\nspeculative asynchronous pool state, as seen after …\nspeculative deferred calls state,\nspeculative list of executed denunciations\nspeculative list of executed operations\nspeculative ledger state, as seen after everything that …\nspeculative roll state, as seen after everything that …\naddress call stack, most recent is at the back\naddress call stack, most recent is at the back\nThis function takes a batch of asynchronous operations to …\nTransfers coins from one address to another. No changes …\nTry to sell roll_count rolls from the seller address.\nTry to slash roll_count rolls from the denounced address. …\nUnsafe random state\nUnsafe random state (can be predicted and manipulated)\nUpdate production statistics of an address.\nimplementation of the execution controller\nstructure used to communicate with execution thread\nExecution manager Allows stopping the execution worker\nstorage instances for previously unprocessed blocks\nReturns a boxed clone of self. Allows cloning …\nExecutes a read-only request Read-only requests do not …\ncurrent execution state (see execution.rs for details)\nlist of newly finalized blocks\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGets information about a batch of addresses\nReturn the active rolls distribution for the given cycle\nCheck if a denunciation has been executed given a …\nGet the generated execution events, optionally filtered by:\nGet a copy of a single datastore entry with its final and …\nGet the final and candidate values of balance.\nSee trait definition\nGet execution statistics\ninput data to process in the Execution manager loop with a …\ninput data to process in the Execution controller loop …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a new empty ExecutionInputData\nnew blockclique (if there is a new one)\nAtomically query the execution state with multiple requests\nqueue for read-only execution requests and response MPSCs …\nstops the worker\nset stop to true to stop the thread\nTakes the current input data into a clone that is returned,\nhandle used to join the worker thread\nUpdates blockclique status by signaling newly finalized …\nABIs\nStructure holding consistent speculative and final …\nApplies an execution output to the active (non-final) state\nApplies the output of an execution to the final execution …\nUsed to acquire a lock on the execution context\nTries to execute an asynchronous message If the execution …\nExecute an operation of type CallSC Will panic if called …\nExecute a candidate slot\nExecute a denunciation in the context of a block.\nExecute an operation of type ExecuteSC Will panic if …\nExecute an SCE-final slot\nExecute an operation in the context of a block. Assumes …\nRuns a read-only execution request. The executed bytecode …\nExecute an operation of type RollBuy Will panic if called …\nExecute an operation of type RollSell Will panic if called …\nExecutes a full slot (with or without a block inside) …\nExecute an operation of type Transaction Will panic if …\nReturns the argument unchanged.\nGet future deferred credits of an address Returns tuple: …\nGet future deferred credits of an address\nReturns for a given cycle the stakers taken into account …\nGet cycle infos\nCheck if a denunciation has been executed given a …\nGets execution events optionally filtered by:\nGets a balance both at the latest final and candidate …\nGets a data entry both at the latest final and active …\nGets a balance both at the latest final and candidate …\nGet every final and active datastore key of the given …\nGets roll counts both at the latest final and active …\nGet the fingerprint of the final state\nGet the execution status of a batch of operations.\nGet execution statistics\nCalls U::from(self).\nprometheus metrics\nCreate a new execution state. This should be called only …\nHelper function. Within a locked execution context (lock …\nUpdate MipStore with block header stats\nstructure describing the output of a denunciation execution\nTarget address of the denunciation\nAuto sell roll execution (empty if execution-info feature …\nCancel async message execution (empty if execution-info …\nDeferred credits execution (empty if execution-info …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nSave transfer for a given slot\nAmount slashed if successfully executed\nDenunciation slot\nan implementation of the Interface trait (see …\nAdds two native amounts, saturating at the numeric bounds …\nConverts a public key to an address\nHelper function that creates an amount from a NativeAmount\nHelper function that creates a NativeAmount from the …\nAppends a value to a datastore entry for a given address, …\nCheck whether or not the caller has write access in the …\nChecks if the given native amount is valid\nallows cloning a boxed InterfaceImpl\nexecution configuration\nthread-safe shared access to the execution context (see …\nhelper for locking the context mutex\nCreates a new ledger entry with the initial bytecode given …\nCancel a deferred call\nCheck if an deferred call exists\nRegister deferred call\nDeletes a datastore entry by key for a given address, or …\nDivides a native amount by a divisor, return an error if …\nChecks if a datastore entry exists for a given address, or …\nGet an EVM address from a raw secp256k1 public key (64 …\nGet a raw secp256k1 public key from an EVM signature and …\nVerify an EVM signature\nCalled to finish the call process after a bytecode calls a …\nReturns the argument unchanged.\nEmits an execution event to be stored.\nEmits an execution event to be stored.\nHelper function to get the address from the option given …\nGets the balance of the current address address (top of …\nGets the balance of arbitrary address passed as argument.\nGets the balance of arbitrary address passed as argument, …\nReturns bytecode of the target address, or the current …\nGets the amount of coins that have been transferred at the …\nGets the amount of coins that have been transferred at the …\nReturns the addresses in the call stack, from the bottom …\nReturns the period of the current execution slot\nReturns the current execution slot\nReturns the thread of the current execution slot\nGet the number of fees needed to reserve space in the …\nGet the datastore keys (aka entries) for a given address, …\nGets a datastore value by key for a given address, or the …\nGet the datastore keys (aka entries) for a given address\nGet the datastore keys (aka entries) for a given address\nGet the module from cache if possible, compile it if not\nGets an operation datastore value by key. Note that the …\nGet the operation datastore keys (aka entries). Note that …\nGet the operation datastore keys (aka entries). Note that …\nReturns the list of owned addresses (top of the call …\nReturns the current time (millisecond UNIX timestamp) Note …\nCompile and return a temporary module\nChecks if a datastore entry exists for the current address …\nChecks if a datastore entry exists for a given address.\nHashes arbitrary data\nHashes givens byte array with blake3\nKeccak256 hash function\nHashes givens byte array with sha256\nInitialize the call when bytecode calls a function from …\nCalls U::from(self).\nHelper function that creates an MassaTime from a NativeTime\nHelper function that creates a NativeTime from the …\nReturns a NativeAmount from a string\nReturns a string from a NativeAmount\ncreates a new InterfaceImpl\nChecks if an operation datastore entry exists in the …\nprints a message in the node logs at log level 3 (debug)\nAppends data to a datastore entry for the current address …\nAppends a value to a datastore entry for a given address. …\nDeletes a datastore entry by key for the current address …\nDeletes a datastore entry by key for a given address. …\nReturns bytecode of the current address\nReturns bytecode of the target address\nGets a datastore value by key for the current address (top …\nGets a datastore value by key for a given address.\nSets the bytecode of the current address\nSets the bytecode of an arbitrary address. Fails if the …\nSets a datastore entry for the current address (top of the …\nSets a datastore entry for a given address. Fails if the …\nTry to get a write lock on the execution context then set …\nDivides a native amount by a divisor, return an error if …\nMultiplies a native amount by a factor, saturating at the …\nAdds an asynchronous message to the context speculative …\nSets the bytecode of an arbitrary address, or the current …\nVerifies a signature\nSubtracts two native amounts, saturating at the numeric …\nTransfer coins from the current address (top of the call …\nTransfer coins from a given address towards a target …\nTransfer coins from a given address (or the current …\nReturns a pseudo-random deterministic i64 number\nReturns a pseudo-random deterministic f64 number\nReturns a pseudo-random deterministic byte array, with the …\nStructure representing an execution request queue with …\nRepresents an execution request T coupled with an MPSC …\nCancel the request by consuming the object and sending an …\nCancel all queued items.\nReturns the max number of items the queue can contain\nExtends Self with the contents of another RequestQueue. …\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nDestructure self into a (request, response sender) pair\nChecks whether the queue is empty\nTake all the elements into a new queue and reset the …\nMax number of item in the queue. When the queue is full, …\nCreate a new request with response sender\nCreate a new request queue\nPop out the oldest element of the queue\nPush a new element at the end of the queue. May fail if …\nThe actual underlying queue\nThe underlying execution request\nAn std::mpsc::Sender to later send the execution output R …\nInformation about a slot in the execution sequence\nStructure allowing execution slot sequence management.\nClean the slot sequence by removing slots that are not …\nConfig\nWhether the slot is CSS-final\nContent of the slot (None if miss, otherwise block ID and …\nWhether the slot is SCE-final\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet the block ID (if any) at that slot\nGets the instant of the slot just after the latest slot in …\nGets an immutable reference to a SlotInfo, if any, …\nGet the index of a slot in the sequence, if present, …\nInternal function allowing to get the latest slot we …\nInternal method that inits the sequencer. This method is …\nCalls U::from(self).\nCalls U::from(self).\nReturns true if there is a queued slot that needs to be …\nlatest CSS-final slots (one per thread)\ncandidate slot execution cursor\nfinal slot execution cursor\nlatest SCE-final slot\nCreate a new slot sequencer. Note that this will create a …\nIf a slot is ready for execution, this method will mark it …\nContinuous sequence of slots containing all the slots …\nInternal method called by Self::update to construct one …\nSlot\nNotify the sequencer of incoming changes: CSS-finalized …\nReturns the argument unchanged.\nTakes a snapshot (clone) of the emitted messages\nCalls U::from(self).\nReturn true if a message (given its validity end) is …\nReturn true if a message (given its validity_start & …\nCheck in the ledger changes if a message trigger has been …\nCreates a new SpeculativeAsyncPool\nAdd a new message to the list of changes of this …\nResets the SpeculativeAsyncPool emitted messages to a …\nSettle a slot. Consume newly emitted messages into …\nReturns the changes caused to the SpeculativeAsyncPool …\nTakes a batch of asynchronous messages to execute, …\nConsumes and deletes the current slot, prepares a new slot …\nCancel a call Returns the sender address and the amount of …\nCompute call fee\nReturns the argument unchanged.\nTakes a snapshot (clone) of the message states\nCalls U::from(self).\nCreates a new SpeculativeDeferredCallRegistry\nAdd a new call to the list of changes of this …\nRegister a new call Returns the call id\nResets the SpeculativeDeferredCallRegistry to a snapshot …\nTake the deferred registry slot changes\nSpeculative state of executed denunciations\nHistory of the outputs of recently executed slots. Slots …\nexecuted operations: maps the operation ID to its validity …\nThread-safe shared access to the final state. For reading …\nReturns the argument unchanged.\nTakes a snapshot (clone) of the changes since its creation\nInsert an executed denunciation.\nCalls U::from(self).\nChecks if a denunciation was executed previously\nCreates a new SpeculativeExecutedDenunciations\nResets the SpeculativeRollState to a snapshot (see …\nReturns the set of operation IDs caused to the …\nSpeculative state of executed operations\nHistory of the outputs of recently executed slots. Slots …\nexecuted operations: maps the operation ID to its validity …\nThread-safe shared access to the final state. For reading …\nReturns the argument unchanged.\nTakes a snapshot (clone) of the changes caused to the …\nInsert an executed operation. Does not check for reuse, …\nCalls U::from(self).\nChecks if an operation was executed previously\nCreates a new SpeculativeExecutedOps\nResets the SpeculativeRollState to a snapshot (see …\nReturns the set of operation IDs caused to the …\nThe SpeculativeLedger contains an thread-safe shared …\nHistory of the outputs of recently executed slots. Slots …\nlist of ledger changes that were applied to this …\nCharge the storage costs of a datastore entry change, if …\nCreates a new smart contract address with initial bytecode.\nDeletes a datastore entry for a given address. Fails if …\nChecks if an address exists in the speculative ledger\nThread-safe shared access to the final state. For reading …\nReturns the argument unchanged.\nGets the effective balance of an address\nGets the effective bytecode of an address\nGets a copy of a datastore value for a given address and …\nGets a copy of a datastore keys for a given address\nTakes a snapshot (clone) of the changes caused to the …\nCompute the storage costs of a full datastore entry\nChecks if a data entry exists for a given address\nCalls U::from(self).\nMax bytecode size\nmax datastore key length\nMax datastore value size\ncreates a new SpeculativeLedger\nResets the SpeculativeLedger to a snapshot (see …\nSets the bytecode associated to an address in the ledger. …\nSets a data set entry for a given address in the ledger. …\nstorage cost constants\nReturns the changes caused to the SpeculativeLedger since …\nTransfers coins from one address to another. No changes …\nSpeculative state of the rolls\nHistory of the outputs of recently executed slots. Slots …\nAdd roll_count rolls to the buyer address. Validity checks …\nList of changes to the state after settling roll sell/buy\nThread-safe shared access to the final state. For reading …\nReturns the argument unchanged.\nGet the production statistics for a given address at a …\nGets the deferred credits for a given address that will be …\nGet deferred credits of an address starting from a given …\nGet the production statistics for a given cycle. Returns a …\nInternal function to retrieve the rolls of a given address\nTakes a snapshot (clone) of the changes caused to the …\nCalls U::from(self).\nCreates a new SpeculativeRollState\nResets the SpeculativeRollState to a snapshot (see …\nSettle the production statistics at slot.\nReturns the changes caused to the SpeculativeRollState …\nTake the non-zero deferred credits at or before slot. Set …\nTry to sell roll_count rolls from the seller address.\nTry to slash amount credits from the given address. If not …\nTry to slash roll_count rolls from the given address. If …\nUpdate production statistics of an address.\nExecution statistics counter\nfinal blocks in the time window (count, instant)\nfinal denunciations executed in the time window (count, …\nfinal operations executed in the time window (count, …\nReturns the argument unchanged.\nget statistics\nCalls U::from(self).\ncreate a new ExecutionStatsCounter\nrefresh the counters and delete old records\nregister final blocks\nregister final executed denunciations\nregister final executed operations\nduration of the time window\nA storage backend that uses the file system as the …\nA storage backend that uses RocksDB as the underlying …\nA trait that defines the interface for a storage backend …\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCreates a new instance of FileStorageBackend with the …\nCreates a new instance of RocksDBStorageBackend with the …\nReads the value from the storage backend. The slot is used …\nWrites the given value to the storage backend. The slot is …\nStructure gathering all elements needed by the execution …\nExecutes a read-only request from the queue, if any. The …\nReturns the argument unchanged.\nCalls U::from(self).\nMain loop of the execution worker\nCreates the ExecutionThread structure to gather all data …\nqueue for read-only requests and response MPSCs to send …\nSelector controller\nLaunches an execution worker thread and returns an …\nAppend incoming read-only requests to the relevant queue, …\nWaits for an event to trigger a new iteration in the …") \ No newline at end of file diff --git a/search.desc/massa_models/massa_models-desc-0-.js b/search.desc/massa_models/massa_models-desc-0-.js index 01d883e385..c918eb4b26 100644 --- a/search.desc/massa_models/massa_models-desc-0-.js +++ b/search.desc/massa_models/massa_models-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("massa_models", 0, "Copyright (c) 2022 MASSA LABS info@massa.net All the …\nactive blocks related structures\naddress related structures\namount related structures\nblock structure Copyright (c) 2022 MASSA LABS …\nblock-related structure: block_header\nblock-related structure: block_id\nbytecode structures\nclique\nvarious structures\nnode configuration Main node configuration and all that …\ndatastore serialization / deserialization\ndeferred call id\ndenunciation Copyright (c) 2022 MASSA LABS info@massa.net …\nendorsements\nmodels error\nexecution related structures\nledger related structures\nmapping grpc\nnode related structure\noperations\nsmart contract output events\npre-hashed trait, for hash less hashmap/set\nrolls\ntrait for massa_signature::Signature secured data-structs\nserialization\nslots\nvarious statistics Copyright (c) 2022 MASSA LABS …\nbootstrap streaming cursor\nmanagement of the relation between time and slots warning: …\ntypes\nversions\nBlock that was checked as valid, with some useful …\nThe id of the block\none HashMap<Block id, period> per thread (blocks that need …\nThe creator’s address\nBlocks id that have this block as an ancestor\nFitness\nReturns the argument unchanged.\nCalls U::from(self).\nfor example has its fitness reached the given threshold\none (block id, period) per thread ( if not genesis )\nSame-thread parent creator\nSlot of the block.\nTop level address representation that can differentiate …\nDeserializer for Address\nSerializer for Address\nInfo for a given address on a given cycle\nDerived from a public key.\nDerived from a public key.\nDerived from a public key.\nDerived from a public key.\nnumber of active rolls the address had at that cycle (if …\ncycle number\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nDeserialize the address without considering the version …\nDeserialize the address without considering the version …\nComputes the address associated with the given public key. …\nComputes the address associated with the given public key\nComputes address associated with given public key\nGets the associated thread. Depends on the thread_count …\nGets the associated thread. Depends on the thread_count\nGets the associated thread. Depends on the thread_count\nFetches the version of the SC Address\nFetches the version of the UserAddress\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\ntrue if that cycle is final\nSerializes an Address into a Vec<u8>\nCreates a new deserializer for Address\nok_count blocks were missed by this address during that …\nok_count blocks were created by this address during that …\nSerialize the address as bytes. Includes the type and …\nSerialize the address as bytes. Includes the type and …\nSerialize the address as bytes. Includes the type and …\nSerialize the address as bytes. Includes the type and …\nSerialize the address as bytes. Includes the type and …\nDecimals factor for the amount\nDecimals scale for the amount\nA structure representing a decimal Amount of coins with …\nDeserializer for amount\nSerializer for amount\nMaximum amount\nMinimum amount\nsafely add self to another amount, returning None on …\nsafely divide self by an amount, returning None if the …\nsafely divide self by a u64, returning None if the factor …\nsafely multiply self with a u64, returning None on overflow\ncompute self % divisor, return None if divisor is zero\ncompute self % divisor, return None if divisor is zero\nsafely subtract another amount from self, returning None …\nCreate an Amount from the form mantissa / (10^scale) in a …\nExample\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate an Amount from a Decimal\nCreates an amount in the format mantissa*10^(-scale).\nconstructs an Amount from the underlying raw u64 …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nreturns true if the amount is zero\nCreate a new AmountSerializer\nCreate a new AmountDeserializer\nsafely add self to another amount, saturating the result …\nsafely multiply self with a u64, saturating the result on …\nsafely subtract another amount from self, saturating the …\nExample\nConvert to decimal\nReturns the value in the (mantissa, scale) format where …\nObtains the underlying raw u64 representation Warning: do …\nCreate a zero Amount\nactive in alternative cliques\nactive in blockclique\nblock\nDeserializer for Block\nParameters for the deserializer of a block\nBlock status within the graph\nSerializer for Block\ndiscarded for any reason\nfilled block\nforever applies\nreceived but not yet graph-processed\nnot found in graph\nBlock with associated meta-data and interfaces allowing …\nwaiting for a missing dependency\nwaiting for its slot\nsize in bytes of the whole block\nchain id\ntrue if given operation is included in the block\nReference contents. Not required for the security …\nDerived from the same public key used to generate the …\nThe public-key component used in the generation of the …\nExample:\nNumber of endorsements in a block\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nreturns the fitness of the block\nsigned header\nsigned header\nA secure hash of the data. See also massa_hash::Hash\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nIf Some(lsp), this will through if trying to deserialize a …\nMax denunciations in a block\nMaximum of operations in a block\nCreates a new BlockSerializer\nCreates a new BlockDeserializer\noperations ids\noperations\nExample:\nContent in sharable, deserializable form. Is used in the …\nA cryptographically generated value using serialized_data …\nNumber of threads in Massa\nblock header\nA denunciation data for block header\nDeserializer for BlockHeader\nSerializer for BlockHeader\nBlockHeader wrapped up alongside verification data\nannounced network version\ncompute the signed hash\nReference contents. Not required for the security …\nDerived from the same public key used to generate the …\nThe public-key component used in the generation of the …\ncurrent network version\ndenunciations\nExample:\nendorsements\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\ngets the header fitness\nA secure hash of the data. See also massa_hash::Hash\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a new BlockHeaderSerializer\nCreates a new BlockHeaderDeserializer If last_start_period …\nCreate a new DenunciationData for block hedader\nall operations hash\nparents\nExample:\nContent in sharable, deserializable form. Is used in the …\nA cryptographically generated value using serialized_data …\nslot\nGet byte array\nblock id\nDeserializer for BlockId\nSerializer for BlockId\nblock id\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nExample\nfirst bit of the hashed block id\nfirst bit of the hashed block id\nversion of the block id\nversion of the block id\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a new serializer for BlockId\nCreates a new deserializer for BlockId\nCurrent version of the bytecode\nStructure representing executable bytecode\nDeserializer for Bytecode\nSerializer for Bytecode\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a new LedgerEntryDeserializer\nCreates a new BytecodeSerializer\nMutually compatible blocks in the graph\nBasic deserializer for Clique\nBasic serializer for Clique\nthe block ids of the blocks in that clique\nExample\nFitness used to compute finality Depends on descendants …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nTrue if it is the clique of higher fitness\nCreates a CliqueDeserializer\nCreates a CliqueSerializer\nExample\nthe block has been processed and is valid\nthe block is discarded\ndiscarded\nin a block, the block being in …\nthe block hasn’t been processed by consensus yet\noperation info\nStatus in which an operation can be (derived from the …\nStatus in which an operation can be\nin pool\njust a public key and a signature it has produced used for …\nall the production stats for every known staker\nthe block waits for dependencies for further processing\nthe block waits for it’s slot for further processing\ncycle number\ncombine two operation search result\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nmaps block id to index on the operation in the block and …\ntrue if in pool\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nif that cycle is final\nmap address to produced valid block count and not valid …\nthe operation\npublic key\nsignature\noperation status\nCompact representation of key values of consensus …\nReward amount for a block creation\nMerge the settings\nDEFAULT VALUES USED TO INITIALIZE DIVERS CONFIGURATIONS …\nThreshold for fitness.\nTESTNET: time when the blockclique is ended.\nTime in milliseconds when the blockclique started.\nBuild a settings for an object that implement …\nMax total size of a block\nMaximum operation validity period count\ncycle duration in periods\nPrice of a roll on the network\nTime between the periods in the same thread.\nNumber of threads\nCompact representation of key values of consensus …\nReward amount for a block creation\nThreshold for fitness.\nTESTNET: time when the blockclique is ended.\nReturns the argument unchanged.\nTime in milliseconds when the blockclique started.\nCalls U::from(self).\nMax total size of a block\nMaximum operation validity period count\ncycle duration in periods\nPrice of a roll on the network\nTime between the periods in the same thread.\nNumber of threads\nConstant cost applied to asynchronous messages (to take …\nGas used by a base operation (transaction, roll buy, roll …\nBlock reward is given for each block creation\nSize of the random bytes array used for the bootstrap, …\nnode chain id (to avoid replay attacks)\nConsensus static parameters (defined by protocol used) …\nMaximum number of consensus blocks in a bootstrap batch\nmax change denominator\ndeferred call call gas cost\ndeferred call global overbooking penalty\nmaximum gas for deferred call\nMaximum size of deferred call future slots (1 week)\nMaximum size of deferred call pool changes\ndeferred call min gas cost (10 nanomassa)\ndeferred call min gas increment (1 nanomassa)\ndeferred call slot overbooking penalty\nThreshold for fitness.\ndenunciation expiration delta\nNumber of endorsement\nTESTNET: time when the blockclique is ended.\nKeyPair to sign genesis blocks.\nTime in milliseconds when the blockclique started. In …\nLength of the handshake random signature\nProof of stake seed for the initial draw\nMax size of the IP list\nNumber of periods of executed operation and denunciation …\nCost to store one byte in the ledger\nCost for a base entry default 0.01 MASSA\nBase size of a empty datastore entry (not counting the key …\nLimit on the number of peers we advertise to others.\nMaximum of GAS allowed for asynchronous messages execution …\nMaximum capacity of the asynchronous messages pool\nMaximum block size in bytes\nMax async pool changes\nMax number of blocks we provide/ take into account while …\nMax number of child nodes\nmax bootstrapped cliques\nmax bootstrapped dependencies\nMax size of the printed error\nMax bytes in final states parts\nMax message size for bootstrap Note: Update sizes are not …\nThe number of bytes needed to encode …\nMax number of cycles in PoS bootstrap\nMax bytes in final states parts\nMaximum length of a datastore value\nMaximum number of consensus block ids when sending a …\nMaximum number of key/values in the datastore of a ledger …\nMaximum length of a datastore key\nMaximum length of a datastore value\nMaximum size proof-of-stake deferred credits\nMax number of denunciations that can be included in a …\nMaximum size of executed denunciations\nmax duplex buffer size\nMax number of endorsements per message\nMaximum event size in bytes\nMaximum event number that can be emitted for an operation\nMaximum size of executed ops changes\nMaximum size of executed ops\nMaximum length function name in call SC\nMaximum of GAS allowed for a block\nMaximum ledger changes count\nMaximum ledger changes in a block\nMaximum number of listeners for a peer\nMaximum message length in bytes\nMaximum number of operations per block\nMax number of operations per message\nMaximum number of key/values in the datastore of a …\nMaximum length of an operation datastore key\nMaximum length of an operation datastore value\nMaximum of time we keep the operations in the storage of …\nMaximum size of parameters in call SC\nMaximum number of peer in a announcement list of peer\nMaximum production events in a block\nMaximum size of proof-of-stake production stats\nMaximum number of recursion for calls\nMaximum length of rng_seed in thread cycle\nMaximum size of proof-of-stake rolls\nMaximum length for the custom section data\nMaximum number of custom section data\nCondomMiddleware limits see …\nMaximum number of exports for a smart contract module …\nMaximum number of function used by a smart contract\nMaximum number of arguments to a function\nMaximum number of functions a module can import\nMaximum length for the name of a function defined in a …\nMaximum number of value a function can return\nMaximum number of global initializer in a smart contract\nMaximum number of elements a module can import\nMaximum number of memories in a smart contract\nMaximum number of memory a module can import\nMaximum length for the name of a smart contract\nMaximum number of passive data in a smart contract\nMaximum number of passive element in a smart contract\nMaximum signature length (total number of arguments and …\nMaximum number of table in a smart contract\nMaximum number of table initializer in a smart contract\nMaximum size of channel used for commands in connectivity …\nMaximum size of channel used for commands in peers …\nMaximum size of channel used for commands in peer testers …\nMaximum size of channel used for commands in propagation …\nMaximum size of channel used for commands in propagation …\nMaximum size of channel used for commands in propagation …\nMaximum size of channel used for commands in retrieval …\nMaximum size of channel used for commands in retrieval …\nMaximum size of channel used for commands in retrieval …\nMaximum size of channel used to send network events to the …\nMaximum size of channel used to send network events to the …\nMaximum size of channel used to send network events to the …\nMaximum size of channel used to send network events to the …\nBlock count to process in MipStoreStats (for state change …\nnetwork controller communication channel size\nnetwork event channel size\nnetwork node command channel size\nnetwork node event channel size\nnode send channel size\nMaximum operation validity period count\ncycle duration in periods\nPool controller denunciations channel size\nPool controller endorsements channel size\nPool controller operations channel size\nnumber of cycle misses (strictly) above which stakers are …\nNumber of cycles saved in PoSFinalState\nProtocol controller channel size\nProtocol event channel size\nNumber of roll to remove per denunciation\nPrice of a roll in the network\nNumber of cycle draws saved in the selector cache\nIMPORTANNT TODO: should be removed after the bootstrap …\nTime between the periods in the same thread.\nNumber of threads\nnode version\nMinimum value allowed for activation delay (in MIP info)\nThreshold to accept a new versioning\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nHelper function to parse args for lazy_static evaluations\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nMerge the settings\nDatastore entry for Ledger & ExecuteSC Operation A …\nDeserializer for Datastore field in LedgerEntry\nSerializer for Datastore\nExample\nReturns the argument unchanged.\nReturns the argument unchanged.\nFor lexicographically ordered keys, gets the upper and …\nCalls U::from(self).\nCalls U::from(self).\nCreates a new DatastoreDeserializer\nCreates a new DatastoreSerializer\nExample\nDeserializer for DeferredCallId\nSerializer for DeferredCallId\nReturn the version of the DeferredCallId as bytes\nReturn the version of the DeferredCallId as bytes\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate an DeferredCallId from bytes\nCreate an DeferredCallId from bytes\nReturn the slot of the DeferredCallId\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreate a new DeferredCallId\nSerializes an DeferredCallId into a Vec<u8>\nDeserializes a Vec<u8> into an DeferredCallId\nVariant for Block header denunciation index\nBlock header variant\nA Variant of Denunciation enum for block header\nDeserializer for BlockHeaderDenunciation\nDenunciationPrecursor variant for block header\nSerializer for BlockHeaderDenunciation\nA denunciation enum\nDeserializer for Denunciation\nDenunciation error\nIndex for Denunciations in collections (e.g. like a HashMap…\nDeserializer for DenunciationIndex\nSerializer for DenunciationIndex\nLightweight data for Denunciation creation (avoid storing …\nSerializer for Denunciation\nVariant for Endorsement denunciation index\nEndorsement variant\nA Variant of Denunciation enum for endorsement\nDeserializer for EndorsementDenunciation\nDenunciationPrecursor variant for endorsement\nSerializer for EndorsementDenunciation\nRebuild full hash of SecureShareEndorsement from given …\nRebuild full hash of SecuredHeader from given arguments\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCompute the hash\nGet field: index (return None for a block header …\nGet field: index (return None for a block header …\nGet Denunciation public key ref\nGet field: pub key\nGet Denunciation slot ref\nGet field: slot\nGet field: slot\nsecured header partial hash\nsecured header partial hash\nendorsement index\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCheck if it is a Denunciation for this block header\nCheck if it is a Denunciation for this endorsement\nCheck if denunciation has expired given a slot period Note …\nCheck if it is a Denunciation of several block headers\nCheck if it is a Denunciation of several endorsements\nCheck if Denunciation is valid Should be used if received …\nCreates a new EndorsementDenunciationSerializer\nCreates a new EndorsementDeserializer\nCreates a new BlockHeaderDenunciationSerializer\nCreates a new BlockHeaderDenunciationDeserializer\nCreates a new BlockHeaderDenunciationSerializer\nCreates a new DenunciationDeserializer\nCreates a new DenunciationIndexSerializer\nCreates a new DenunciationIndexDeserializer\nsecure share endorsement public key\nsecured header public key\nsecured header signature\nsecured header signature\nendorsement slot\nblock header slot\nde index\nde slot\nde slot\nEndorsement ID size in bytes\nan endorsement, as sent in the network\nA denunciation data for endorsement\nDeserializer for Endorsement\nLightweight Deserializer for Endorsement\nendorsement id\nendorsement id\nSerializer for Endorsement\nLightweight Serializer for Endorsement When included in a …\nWrapped endorsement\nCompute the signed hash\nReference contents. Not required for the security …\nDerived from the same public key used to generate the …\nThe public-key component used in the generation of the …\nExample:\nExample:\nHash of endorsed block. This is the parent in thread …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nExample\nA secure hash of the data. See also massa_hash::Hash\nEndorsement index inside the including block\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a new EndorsementDeserializer\nCreates a new EndorsementSerializerLW\nCreates a new EndorsementDeserializerLW\nCreates a new EndorsementSerializer\nCreate a new denunciation data for endorsement\nExample:\nExample:\nContent in sharable, deserializable form. Is used in the …\nA cryptographically generated value using serialized_data …\nSlot in which the endorsement can be included\nGet byte array\naddress parsing error: {0}\nLedger changes, Amount overflow\namount parse error\nblock id parsing error\nbuffer error: {0}\nchecked operation error\ndeferred call id parsing error\nDeserialization error: {0}\nendorsement id parsing error\nContains the error value\nError raised {0}\nhashing error\ninvalid ledger change: {0}\ninvalid roll update: {0}\ninvalid version identifier: {0}\nMassaHash error: {0}\nmassa_signature error: {0}\nmodels error\nmodels error\nnode id parsing error\nContains the success value\noperation id parsing error\nWrong operation id size deduced on join\nOutdated bootstrap cursor\nperiod overflow error\nSerialization error: {0}\nSerialization error: {0}\nthread overflow error\nTime error {0}\nTime overflow error\nWrong prefix for hash: expected {0}, got {1}\nReturns the argument unchanged.\nCalls U::from(self).\nfilter used when retrieving SC output events\noptional emitter address\noptional end slot\nReturns the argument unchanged.\nCalls U::from(self).\noptional execution status\noptional event status\noptional caller address\noptional operation id\noptional start slot\nA balance change that can be applied to an address\nBasic deserializer for LedgerChange\nBasic serializer for LedgerChange\nMap an address to a LedgerChange\nBasic deserializer for LedgerChanges\nBasic serializer for LedgerChanges\na consensus ledger entry\nBasic deserializer for LedgerData\nBasic serializer for LedgerData\napplies a LedgerChange\napply a LedgerChange for an entry Can fail in overflow or …\nthe balance in coins\nAmount to add or subtract\nwhether to increment or decrements balance of delta\nApplies another ledger change on top of self\nchain with another LedgerChange\nclone subset\nExample:\nExample\nExample\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\naddresses that are impacted by these ledger changes\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nreturns true if the balance is zero\ntrue if the change is 0\nCreates a LedgerDataDeserializer\nCreates a LedgerChangeDeserializer\nCreates a LedgerChangesSerializer\nCreates a LedgerChangesDeserializer\nnew LedgerData from an initial balance\nCreates a LedgerDataSerializer\nCreates a LedgerChangeSerializer\nExample:\nExample\nmerge another ledger changes into self, overwriting …\nConverts a gRPC grpc_model::DenunciationIndex into a …\nNodeId wraps a public key to uniquely identify a node.\nReturns the argument unchanged.\nExample\nGet the public key of the NodeId.\nCalls U::from(self).\nCreate a new NodeId from a public key.\nCalls an exported function from a stored smart contract\nExecute a smart contract.\nSize in bytes of the serialized operation ID prefix\nthe operation as sent in the network\nSerializer for Operation\noperation id\nDeserializer for OperationId\nSerializer for OperationId\noperation id\nDeserializer for Vec<OperationId>\nSerializer for Vec<OperationId>\nLeft part of the operation id hash stored in a vector of …\nDeserializer for [OperationPrefixId]\nLeft part of the operation id hash stored in a vector of …\nSet of operation id’s prefix\nDeserializer for OperationPrefixIds\nSerializer for OperationPrefixIds\nSerializer for Operation\nType specific operation content\nDeserializer for OperationType\nSerializer for OperationType\nDeserializer for Operations\nSerializer for Operations\nthe sender buys roll_count rolls. Roll price is defined in …\nthe sender sells roll_count rolls. Roll price is defined …\nsigned operation\ntransfer coins from sender to recipient\nCompute the hash of a list of operations(used typically in …\nReference contents. Not required for the security …\nDerived from the same public key used to generate the …\nThe public-key component used in the generation of the …\nExample:\nExample:\nExample:\nExample:\nExample:\nExample:\nafter expire_period slot the operation won’t be included …\nthe fee they have decided for this operation\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nget prefix of the operation id of size …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nExample\nGet the maximum amount of gas used by the operation.\nget the addresses that are involved in this operation from …\nGets the maximal amount of coins that may be spent by this …\nget the addresses that are involved in this operation from …\nget the range of periods during which an operation is valid\nGet the version of the operation by looking at the first …\nA secure hash of the data. See also massa_hash::Hash\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nconvert the [OperationId] into a [OperationPrefixId]\nconvert the [OperationId] into a [OperationPrefixId]\nCreates a new OperationSerializer\nCreates a OperationDeserializer\nCreates a new OperationTypeSerializer\nCreates a new OperationTypeDeserializer\nCreates a new OperationIdsSerializer\nCreates a new OperationIdsDeserializer\nCreates a new OperationIdsDeserializer\nCreates a new OperationsDeserializer\nCreates a new serializer for OperationId\nCreates a new deserializer for OperationId\nCreates a deserializer for [OperationPrefixId]\nCreates a new OperationIdsSerializer\nCreates a new OperationsSerializer\nthe type specific operation part\nget a prefix from the [OperationId] by copying it\nget a prefix from the [OperationId] by copying it\nExample:\nExample:\nExample:\nExample:\nContent in sharable, deserializable form. Is used in the …\nA cryptographically generated value using serialized_data …\namount\nExtra coins that are spent from the caller’s balance and …\nSmart contract bytecode.\nA key-value store associating a hash to arbitrary bytes\nMax amount of coins allowed to be spent by the execution\nThe maximum amount of gas that the execution of the …\nThe maximum amount of gas that the execution of the …\nParameter to pass to the target function\nrecipient address\nroll count\nroll count\nTarget smart contract address\nTarget function name. No function is called if empty.\nContext of the event (not generated by the user)\nBy product of a byte code execution\nblock id if there was a block at that slot\nmost recent at the end\ncontext generated by the execution context\njson data string\nReturns the argument unchanged.\nReturns the argument unchanged.\nindex of the event in the slot\nCalls U::from(self).\nCalls U::from(self).\nif the sc that emitted this event failed\nif the event is final\norigin operation id\nif the event was generated during a read only execution\nwhen was it generated\nBuildHasherDefault specialization for HashMapper\nTrait allowing pre-allocations\nA Hasher for PreHashed keys that is faster because it …\nHashMap specialization for PreHashed keys This hashmap is …\nHashSet specialization for PreHashed keys This hashset is …\nA trait indicating that its carrier is already a hash with …\nfinish the hashing process and return the truncated u64 …\nReturns the argument unchanged.\nCalls U::from(self).\npre-allocate with a given capacity\npre-allocate with a given capacity\npre-allocate with a given capacity\nwrite the bytes of a PreHashed key into the HashMapper …\njust a u64 to keep track of the roll sells and buys during …\ncounts the roll for each address\nroll sales and purchases\nDeserializer for RollUpdate\nSerializer for RollUpdate\nmaps addresses to roll updates\napplies a RollUpdate, compensates and returns compensation\napplies RollUpdates to self with compensations\nchain two roll updates, compensate and return compensation …\nchains with another RollUpdates, compensates and returns …\nget the roll update for a subset of addresses\nget roll counts for a subset of addresses.\ncompensate a roll update, return compensation count\nExample:\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nthe addresses impacted by the updates\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if the RollCounts contains no elements.\ntrue if the update has no effect\nReturns the number of elements in the RollCounts.\nCreates a new RollUpdateSerializer\nCreates a new RollUpdateDeserializer\nMakes a new, empty RollCounts.\nroll purchases\nroll sales\nExample:\nmerge another roll updates into self, overwriting existing …\nmerge another roll counts into self, overwriting existing …\nUsed by signed structure TODO: Make this trait use versions\nPackages type T such that it can be securely sent and …\nTrait that define a structure that can be signed for …\nDeserializer for SecureShare structure\nSerializer for SecureShare structure\nsize in bytes of the whole block\nCompute hash\nCompute hash used for signature\nCompute the signed hash\ntrue if given operation is included in the block\nReference contents. Not required for the security …\nDerived from the same public key used to generate the …\nThe public-key component used in the generation of the …\nDeserialize the secured structure\nThis method is used to deserialize data that has been …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nreturns the fitness of the block\ngets the header fitness\nGet the maximum amount of gas used by the operation.\nGet a reference to the underlying hash\nget the addresses that are involved in this operation from …\nGets the maximal amount of coins that may be spent by this …\nget the addresses that are involved in this operation from …\nget the range of periods during which an operation is valid\nA secure hash of the data. See also massa_hash::Hash\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nNew id from hash\nCreates a new SecureShareDeserializer\nCreates a new SecureShareSerializer\nUsing the provided key-pair, applies a cryptographic …\nSerialize the secured structure\nThis method is used to serialize a SecureShare structure …\nContent in sharable, deserializable form. Is used in the …\nget full serialized size\nSign the SecureShare given the content\nSign the SecureShare given the content\nA cryptographically generated value using serialized_data …\nverify signature\ncheck if self has been signed by public key\nBitVec<u8> Deserializer\nBitVec<u8> Serializer\nDeserialize min big endian\nDeserializer for IpAddr\nSerializer for IpAddr\nBasic PreHashSet<_> deserializer\nBasic PreHashSet<_> serializer\nSerialize min big endian integer\nDeserializer for String with generic deserializer for the …\nSerializer for String with generic serializer for the size …\nBasic Vec<_> deserializer\nBasic Vec<_> serializer\nBasic Vec<u8> deserializer\nBasic Vec<u8> serializer\narray from slice\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nDeserializes a minimally sized big endian integer to Self …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a IpAddrSerializer\nCreates a IpAddrDeserializer\nCreates a new VecU8Serializer\nCreates a new VecU8Deserializer\nCreates a new VecSerializer\nCreates a new VecDeserializer\nCreates a new PreHashSetSerializer\nCreates a new PreHashSetDeserializer\nCreates a StringSerializer.\nCreates a StringDeserializer.\nCreate a new BitVec<u8> Serializer\nCreate a new BitVec<u8> Deserializer\nserializes with the minimal amount of big endian bytes\nCompute the minimal big endian deserialization size\nCompute the minimal big endian deserialization size\nu8 from slice\nWhen an address is drawn to create an endorsement it is …\nsize of the slot key representation\na point in time where a block is expected\nBasic Slot Deserializer\nBasic serializer for Slot\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nDeserializes a slot from its fixed-size sortable binary …\ncycle associated to that slot\nfirst bit of the slot, for seed purpose\nReturns the next Slot\nReturns the previous Slot\nendorsement index in the slot\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\ncheck if the slot is first in the cycle\ncheck if the slot is last in the cycle\nreturns the maximal slot\nreturns the minimal slot\nnew slot from period and thread\nCreates a SlotSerializer\nCreates a SlotDeserializer\ncreate the first slot of a given cycle\ncreate the last slot of a given cycle\nperiod\nReturns the n-th slot after the current one\nslot\nCounts the number of slots since the one passed in …\nthread\nReturns a fixed-size sortable binary key\nstats produced by consensus module\nexecution statistics\nstats produced by network module\nstats produced by pool module\nactive execution cursor slot\nactive node count\nbanned node count\nnumber of actives cliques\nend of the time span for stats\nnumber of endorsement in the pool\nnumber of final blocks in the time window\nnumber of final blocks\nfinal execution cursor slot\nnumber of final executed operations in the time window\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nin connections count\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\ntotal known peers count\nnumber of operations in the pool\nout connections count\nnumber of stale blocks in memory\nstart of the time span for stats\ntime window end\ntime window start\nFinished step, after all the information has been streamed\nOngoing step, as long as you are streaming\nStarted step, only when launching the streaming\nStreaming step cursor\nStreamingStep deserializer\nStreamingStep serializer\nIndicates if the current step if finished or not without …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a new StreamingStep serializer\nCreates a new StreamingStep deserializer\nGets timestamp in milliseconds for given slot.\nTODO DOC\nReturns the thread and block slot index of the current …\nReturns the thread and block period index of the latest …\nCounts the number of slots in a slot range [a, b)\nTurns an MassaTime range [start, end) with optional …\nTrait marking a structure that supports another one (V) …\nDeletes the value T\ndeletes the value\nkeeps the existing value\nSets the value T a new absolute value T\nsets a new absolute value T\nsets a new absolute value T\nEnum representing a set/delete change on a value T\nrepresents a set/keep change\nEnumeration representing set/update/delete change on a …\nApplies an update V to an existing value T. If the value T …\napply changes from other to mutable self\napplies the current SetOrKeep to a target mutable value\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nApplication version, checked during handshakes\nSerializer for Version\nSerializer for Version\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nASCII uppercase alpha\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\ntrue if instance and major are the same\nCreates a VersionSerializer\nCreates a VersionSerializer") \ No newline at end of file +searchState.loadedDescShard("massa_models", 0, "Copyright (c) 2022 MASSA LABS info@massa.net All the …\nactive blocks related structures\naddress related structures\namount related structures\nblock structure Copyright (c) 2022 MASSA LABS …\nblock-related structure: block_header\nblock-related structure: block_id\nbytecode structures\nclique\nvarious structures\nnode configuration Main node configuration and all that …\ndatastore serialization / deserialization\ndeferred call id\ndenunciation Copyright (c) 2022 MASSA LABS info@massa.net …\nendorsements\nmodels error\nexecution related structures\nledger related structures\nmapping grpc\nnode related structure\noperations\nsmart contract output events\npre-hashed trait, for hash less hashmap/set\nrolls\ntrait for massa_signature::Signature secured data-structs\nserialization\nslots\nvarious statistics Copyright (c) 2022 MASSA LABS …\nbootstrap streaming cursor\nmanagement of the relation between time and slots warning: …\ntypes\nversions\nBlock that was checked as valid, with some useful …\nThe id of the block\none HashMap<Block id, period> per thread (blocks that need …\nThe creator’s address\nBlocks id that have this block as an ancestor\nFitness\nReturns the argument unchanged.\nCalls U::from(self).\nfor example has its fitness reached the given threshold\none (block id, period) per thread ( if not genesis )\nSame-thread parent creator\nSlot of the block.\nTop level address representation that can differentiate …\nDeserializer for Address\nSerializer for Address\nInfo for a given address on a given cycle\nDerived from a public key.\nDerived from a public key.\nDerived from a public key.\nDerived from a public key.\nnumber of active rolls the address had at that cycle (if …\ncycle number\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nDeserialize the address without considering the version …\nDeserialize the address without considering the version …\nComputes the address associated with the given public key. …\nComputes the address associated with the given public key\nComputes address associated with given public key\nGets the associated thread. Depends on the thread_count …\nGets the associated thread. Depends on the thread_count\nGets the associated thread. Depends on the thread_count\nFetches the version of the SC Address\nFetches the version of the UserAddress\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\ntrue if that cycle is final\nSerializes an Address into a Vec<u8>\nCreates a new deserializer for Address\nok_count blocks were missed by this address during that …\nok_count blocks were created by this address during that …\nSerialize the address as bytes. Includes the type and …\nSerialize the address as bytes. Includes the type and …\nSerialize the address as bytes. Includes the type and …\nSerialize the address as bytes. Includes the type and …\nSerialize the address as bytes. Includes the type and …\nDecimals factor for the amount\nDecimals scale for the amount\nA structure representing a decimal Amount of coins with …\nDeserializer for amount\nSerializer for amount\nMaximum amount\nMinimum amount\nsafely add self to another amount, returning None on …\nsafely divide self by an amount, returning None if the …\nsafely divide self by a u64, returning None if the factor …\nsafely multiply self with a u64, returning None on overflow\ncompute self % divisor, return None if divisor is zero\ncompute self % divisor, return None if divisor is zero\nsafely subtract another amount from self, returning None …\nCreate an Amount from the form mantissa / (10^scale) in a …\nExample\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate an Amount from a Decimal\nCreates an amount in the format mantissa*10^(-scale).\nconstructs an Amount from the underlying raw u64 …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nreturns true if the amount is zero\nCreate a new AmountSerializer\nCreate a new AmountDeserializer\nsafely add self to another amount, saturating the result …\nsafely multiply self with a u64, saturating the result on …\nsafely subtract another amount from self, saturating the …\nExample\nConvert to decimal\nReturns the value in the (mantissa, scale) format where …\nObtains the underlying raw u64 representation Warning: do …\nCreate a zero Amount\nactive in alternative cliques\nactive in blockclique\nblock\nDeserializer for Block\nParameters for the deserializer of a block\nBlock status within the graph\nSerializer for Block\ndiscarded for any reason\nfilled block\nforever applies\nreceived but not yet graph-processed\nnot found in graph\nBlock with associated meta-data and interfaces allowing …\nwaiting for a missing dependency\nwaiting for its slot\nsize in bytes of the whole block\nchain id\ntrue if given operation is included in the block\nReference contents. Not required for the security …\nDerived from the same public key used to generate the …\nThe public-key component used in the generation of the …\nExample:\nNumber of endorsements in a block\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nreturns the fitness of the block\nsigned header\nsigned header\nA secure hash of the data. See also massa_hash::Hash\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nIf Some(lsp), this will through if trying to deserialize a …\nMax denunciations in a block\nMaximum of operations in a block\nCreates a new BlockSerializer\nCreates a new BlockDeserializer\noperations ids\noperations\nExample:\nContent in sharable, deserializable form. Is used in the …\nA cryptographically generated value using serialized_data …\nNumber of threads in Massa\nblock header\nA denunciation data for block header\nDeserializer for BlockHeader\nSerializer for BlockHeader\nBlockHeader wrapped up alongside verification data\nannounced network version\ncompute the signed hash\nReference contents. Not required for the security …\nDerived from the same public key used to generate the …\nThe public-key component used in the generation of the …\ncurrent network version\ndenunciations\nExample:\nendorsements\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\ngets the header fitness\nA secure hash of the data. See also massa_hash::Hash\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a new BlockHeaderSerializer\nCreates a new BlockHeaderDeserializer If last_start_period …\nCreate a new DenunciationData for block hedader\nall operations hash\nparents\nExample:\nContent in sharable, deserializable form. Is used in the …\nA cryptographically generated value using serialized_data …\nslot\nGet byte array\nblock id\nDeserializer for BlockId\nSerializer for BlockId\nblock id\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nExample\nfirst bit of the hashed block id\nfirst bit of the hashed block id\nversion of the block id\nversion of the block id\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a new serializer for BlockId\nCreates a new deserializer for BlockId\nCurrent version of the bytecode\nStructure representing executable bytecode\nDeserializer for Bytecode\nSerializer for Bytecode\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a new LedgerEntryDeserializer\nCreates a new BytecodeSerializer\nMutually compatible blocks in the graph\nBasic deserializer for Clique\nBasic serializer for Clique\nthe block ids of the blocks in that clique\nExample\nFitness used to compute finality Depends on descendants …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nTrue if it is the clique of higher fitness\nCreates a CliqueDeserializer\nCreates a CliqueSerializer\nExample\nthe block has been processed and is valid\nthe block is discarded\ndiscarded\nin a block, the block being in …\nthe block hasn’t been processed by consensus yet\noperation info\nStatus in which an operation can be (derived from the …\nStatus in which an operation can be\nin pool\njust a public key and a signature it has produced used for …\nall the production stats for every known staker\nthe block waits for dependencies for further processing\nthe block waits for it’s slot for further processing\ncycle number\ncombine two operation search result\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nmaps block id to index on the operation in the block and …\ntrue if in pool\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nif that cycle is final\nmap address to produced valid block count and not valid …\nthe operation\npublic key\nsignature\noperation status\nCompact representation of key values of consensus …\nReward amount for a block creation\nMerge the settings\nDEFAULT VALUES USED TO INITIALIZE DIVERS CONFIGURATIONS …\nThreshold for fitness.\nTESTNET: time when the blockclique is ended.\nTime in milliseconds when the blockclique started.\nBuild a settings for an object that implement …\nMax total size of a block\nMaximum operation validity period count\ncycle duration in periods\nPrice of a roll on the network\nTime between the periods in the same thread.\nNumber of threads\nCompact representation of key values of consensus …\nReward amount for a block creation\nThreshold for fitness.\nTESTNET: time when the blockclique is ended.\nReturns the argument unchanged.\nTime in milliseconds when the blockclique started.\nCalls U::from(self).\nMax total size of a block\nMaximum operation validity period count\ncycle duration in periods\nPrice of a roll on the network\nTime between the periods in the same thread.\nNumber of threads\nConstant cost applied to asynchronous messages (to take …\nGas used by a base operation (transaction, roll buy, roll …\nBlock reward is given for each block creation\nSize of the random bytes array used for the bootstrap, …\nnode chain id (to avoid replay attacks)\nConsensus static parameters (defined by protocol used) …\nMaximum number of consensus blocks in a bootstrap batch\nmax change denominator\ndeferred call call gas cost\ndeferred call global overbooking penalty\nmaximum gas for deferred call\nMaximum size of deferred call future slots (1 week)\nMaximum size of deferred call pool changes\ndeferred call min gas cost (10 nanomassa)\ndeferred call min gas increment (1 nanomassa)\ndeferred call slot overbooking penalty\nThreshold for fitness.\ndenunciation expiration delta\nNumber of endorsement\nTESTNET: time when the blockclique is ended.\nKeyPair to sign genesis blocks.\nTime in milliseconds when the blockclique started. In …\nLength of the handshake random signature\nProof of stake seed for the initial draw\nMax size of the IP list\nNumber of periods of executed operation and denunciation …\nCost to store one byte in the ledger\nCost for a base entry default 0.01 MASSA\nBase size of a empty datastore entry (not counting the key …\nLimit on the number of peers we advertise to others.\nMaximum of GAS allowed for asynchronous messages execution …\nMaximum capacity of the asynchronous messages pool\nMaximum block size in bytes\nMax async pool changes\nMax number of blocks we provide/ take into account while …\nMax number of child nodes\nmax bootstrapped cliques\nmax bootstrapped dependencies\nMax size of the printed error\nMax bytes in final states parts\nMax message size for bootstrap Note: Update sizes are not …\nThe number of bytes needed to encode …\nMax number of cycles in PoS bootstrap\nMax bytes in final states parts\nMaximum length of a datastore value\nMaximum number of consensus block ids when sending a …\nMaximum number of key/values in the datastore of a ledger …\nMaximum length of a datastore key\nMaximum length of a datastore value\nMaximum size proof-of-stake deferred credits\nMax number of denunciations that can be included in a …\nMaximum size of executed denunciations\nmax duplex buffer size\nMax number of endorsements per message\nMaximum event size in bytes\nMaximum event size in bytes\nMaximum event number that can be emitted for an operation\nMaximum size of executed ops changes\nMaximum size of executed ops\nMaximum length function name in call SC\nMaximum of GAS allowed for a block\nMaximum ledger changes count\nMaximum ledger changes in a block\nMaximum number of listeners for a peer\nMaximum message length in bytes\nMaximum number of operations per block\nMax number of operations per message\nMaximum number of key/values in the datastore of a …\nMaximum length of an operation datastore key\nMaximum length of an operation datastore value\nMaximum of time we keep the operations in the storage of …\nMaximum size of parameters in call SC\nMaximum number of peer in a announcement list of peer\nMaximum production events in a block\nMaximum size of proof-of-stake production stats\nMaximum number of recursion for calls\nMaximum length of rng_seed in thread cycle\nMaximum size of proof-of-stake rolls\nMaximum length for the custom section data\nMaximum number of custom section data\nCondomMiddleware limits see …\nMaximum number of exports for a smart contract module …\nMaximum number of function used by a smart contract\nMaximum number of arguments to a function\nMaximum number of functions a module can import\nMaximum length for the name of a function defined in a …\nMaximum number of value a function can return\nMaximum number of global initializer in a smart contract\nMaximum number of elements a module can import\nMaximum number of memories in a smart contract\nMaximum number of memory a module can import\nMaximum length for the name of a smart contract\nMaximum number of passive data in a smart contract\nMaximum number of passive element in a smart contract\nMaximum signature length (total number of arguments and …\nMaximum number of table in a smart contract\nMaximum number of table initializer in a smart contract\nMaximum size of channel used for commands in connectivity …\nMaximum size of channel used for commands in peers …\nMaximum size of channel used for commands in peer testers …\nMaximum size of channel used for commands in propagation …\nMaximum size of channel used for commands in propagation …\nMaximum size of channel used for commands in propagation …\nMaximum size of channel used for commands in retrieval …\nMaximum size of channel used for commands in retrieval …\nMaximum size of channel used for commands in retrieval …\nMaximum size of channel used to send network events to the …\nMaximum size of channel used to send network events to the …\nMaximum size of channel used to send network events to the …\nMaximum size of channel used to send network events to the …\nBlock count to process in MipStoreStats (for state change …\nnetwork controller communication channel size\nnetwork event channel size\nnetwork node command channel size\nnetwork node event channel size\nnode send channel size\nMaximum operation validity period count\ncycle duration in periods\nPool controller denunciations channel size\nPool controller endorsements channel size\nPool controller operations channel size\nnumber of cycle misses (strictly) above which stakers are …\nNumber of cycles saved in PoSFinalState\nProtocol controller channel size\nProtocol event channel size\nNumber of roll to remove per denunciation\nPrice of a roll in the network\nNumber of cycle draws saved in the selector cache\nIMPORTANNT TODO: should be removed after the bootstrap …\nTime between the periods in the same thread.\nNumber of threads\nnode version\nMinimum value allowed for activation delay (in MIP info)\nThreshold to accept a new versioning\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nHelper function to parse args for lazy_static evaluations\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nMerge the settings\nDatastore entry for Ledger & ExecuteSC Operation A …\nDeserializer for Datastore field in LedgerEntry\nSerializer for Datastore\nExample\nReturns the argument unchanged.\nReturns the argument unchanged.\nFor lexicographically ordered keys, gets the upper and …\nCalls U::from(self).\nCalls U::from(self).\nCreates a new DatastoreDeserializer\nCreates a new DatastoreSerializer\nExample\nDeserializer for DeferredCallId\nSerializer for DeferredCallId\nReturn the version of the DeferredCallId as bytes\nReturn the version of the DeferredCallId as bytes\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate an DeferredCallId from bytes\nCreate an DeferredCallId from bytes\nReturn the slot of the DeferredCallId\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreate a new DeferredCallId\nSerializes an DeferredCallId into a Vec<u8>\nDeserializes a Vec<u8> into an DeferredCallId\nVariant for Block header denunciation index\nBlock header variant\nA Variant of Denunciation enum for block header\nDeserializer for BlockHeaderDenunciation\nDenunciationPrecursor variant for block header\nSerializer for BlockHeaderDenunciation\nA denunciation enum\nDeserializer for Denunciation\nDenunciation error\nIndex for Denunciations in collections (e.g. like a HashMap…\nDeserializer for DenunciationIndex\nSerializer for DenunciationIndex\nLightweight data for Denunciation creation (avoid storing …\nSerializer for Denunciation\nVariant for Endorsement denunciation index\nEndorsement variant\nA Variant of Denunciation enum for endorsement\nDeserializer for EndorsementDenunciation\nDenunciationPrecursor variant for endorsement\nSerializer for EndorsementDenunciation\nRebuild full hash of SecureShareEndorsement from given …\nRebuild full hash of SecuredHeader from given arguments\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCompute the hash\nGet field: index (return None for a block header …\nGet field: index (return None for a block header …\nGet Denunciation public key ref\nGet field: pub key\nGet Denunciation slot ref\nGet field: slot\nGet field: slot\nsecured header partial hash\nsecured header partial hash\nendorsement index\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCheck if it is a Denunciation for this block header\nCheck if it is a Denunciation for this endorsement\nCheck if denunciation has expired given a slot period Note …\nCheck if it is a Denunciation of several block headers\nCheck if it is a Denunciation of several endorsements\nCheck if Denunciation is valid Should be used if received …\nCreates a new EndorsementDenunciationSerializer\nCreates a new EndorsementDeserializer\nCreates a new BlockHeaderDenunciationSerializer\nCreates a new BlockHeaderDenunciationDeserializer\nCreates a new BlockHeaderDenunciationSerializer\nCreates a new DenunciationDeserializer\nCreates a new DenunciationIndexSerializer\nCreates a new DenunciationIndexDeserializer\nsecure share endorsement public key\nsecured header public key\nsecured header signature\nsecured header signature\nendorsement slot\nblock header slot\nde index\nde slot\nde slot\nEndorsement ID size in bytes\nan endorsement, as sent in the network\nA denunciation data for endorsement\nDeserializer for Endorsement\nLightweight Deserializer for Endorsement\nendorsement id\nendorsement id\nSerializer for Endorsement\nLightweight Serializer for Endorsement When included in a …\nWrapped endorsement\nCompute the signed hash\nReference contents. Not required for the security …\nDerived from the same public key used to generate the …\nThe public-key component used in the generation of the …\nExample:\nExample:\nHash of endorsed block. This is the parent in thread …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nExample\nA secure hash of the data. See also massa_hash::Hash\nEndorsement index inside the including block\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a new EndorsementDeserializer\nCreates a new EndorsementSerializerLW\nCreates a new EndorsementDeserializerLW\nCreates a new EndorsementSerializer\nCreate a new denunciation data for endorsement\nExample:\nExample:\nContent in sharable, deserializable form. Is used in the …\nA cryptographically generated value using serialized_data …\nSlot in which the endorsement can be included\nGet byte array\naddress parsing error: {0}\nLedger changes, Amount overflow\namount parse error\nblock id parsing error\nbuffer error: {0}\nchecked operation error\ndeferred call id parsing error\nDeserialization error: {0}\nendorsement id parsing error\nContains the error value\nError raised {0}\nhashing error\ninvalid ledger change: {0}\ninvalid roll update: {0}\ninvalid version identifier: {0}\nMassaHash error: {0}\nmassa_signature error: {0}\nmodels error\nmodels error\nnode id parsing error\nContains the success value\noperation id parsing error\nWrong operation id size deduced on join\nOutdated bootstrap cursor\nperiod overflow error\nSerialization error: {0}\nSerialization error: {0}\nthread overflow error\nTime error {0}\nTime overflow error\nWrong prefix for hash: expected {0}, got {1}\nReturns the argument unchanged.\nCalls U::from(self).\nfilter used when retrieving SC output events\noptional emitter address\noptional end slot\nReturns the argument unchanged.\nCalls U::from(self).\noptional execution status\noptional event status\noptional caller address\noptional operation id\noptional start slot\nA balance change that can be applied to an address\nBasic deserializer for LedgerChange\nBasic serializer for LedgerChange\nMap an address to a LedgerChange\nBasic deserializer for LedgerChanges\nBasic serializer for LedgerChanges\na consensus ledger entry\nBasic deserializer for LedgerData\nBasic serializer for LedgerData\napplies a LedgerChange\napply a LedgerChange for an entry Can fail in overflow or …\nthe balance in coins\nAmount to add or subtract\nwhether to increment or decrements balance of delta\nApplies another ledger change on top of self\nchain with another LedgerChange\nclone subset\nExample:\nExample\nExample\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\naddresses that are impacted by these ledger changes\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nreturns true if the balance is zero\ntrue if the change is 0\nCreates a LedgerDataDeserializer\nCreates a LedgerChangeDeserializer\nCreates a LedgerChangesSerializer\nCreates a LedgerChangesDeserializer\nnew LedgerData from an initial balance\nCreates a LedgerDataSerializer\nCreates a LedgerChangeSerializer\nExample:\nExample\nmerge another ledger changes into self, overwriting …\nConverts a gRPC grpc_model::DenunciationIndex into a …\nNodeId wraps a public key to uniquely identify a node.\nReturns the argument unchanged.\nExample\nGet the public key of the NodeId.\nCalls U::from(self).\nCreate a new NodeId from a public key.\nCalls an exported function from a stored smart contract\nExecute a smart contract.\nSize in bytes of the serialized operation ID prefix\nthe operation as sent in the network\nSerializer for Operation\noperation id\nDeserializer for OperationId\nSerializer for OperationId\noperation id\nDeserializer for Vec<OperationId>\nSerializer for Vec<OperationId>\nLeft part of the operation id hash stored in a vector of …\nDeserializer for [OperationPrefixId]\nLeft part of the operation id hash stored in a vector of …\nSet of operation id’s prefix\nDeserializer for OperationPrefixIds\nSerializer for OperationPrefixIds\nSerializer for Operation\nType specific operation content\nDeserializer for OperationType\nSerializer for OperationType\nDeserializer for Operations\nSerializer for Operations\nthe sender buys roll_count rolls. Roll price is defined in …\nthe sender sells roll_count rolls. Roll price is defined …\nsigned operation\ntransfer coins from sender to recipient\nCompute the hash of a list of operations(used typically in …\nReference contents. Not required for the security …\nDerived from the same public key used to generate the …\nThe public-key component used in the generation of the …\nExample:\nExample:\nExample:\nExample:\nExample:\nExample:\nafter expire_period slot the operation won’t be included …\nthe fee they have decided for this operation\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nget prefix of the operation id of size …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nExample\nGet the maximum amount of gas used by the operation.\nget the addresses that are involved in this operation from …\nGets the maximal amount of coins that may be spent by this …\nget the addresses that are involved in this operation from …\nget the range of periods during which an operation is valid\nGet the version of the operation by looking at the first …\nA secure hash of the data. See also massa_hash::Hash\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nconvert the [OperationId] into a [OperationPrefixId]\nconvert the [OperationId] into a [OperationPrefixId]\nCreates a new OperationSerializer\nCreates a OperationDeserializer\nCreates a new OperationTypeSerializer\nCreates a new OperationTypeDeserializer\nCreates a new OperationIdsSerializer\nCreates a new OperationIdsDeserializer\nCreates a new OperationIdsDeserializer\nCreates a new OperationsDeserializer\nCreates a new serializer for OperationId\nCreates a new deserializer for OperationId\nCreates a deserializer for [OperationPrefixId]\nCreates a new OperationIdsSerializer\nCreates a new OperationsSerializer\nthe type specific operation part\nget a prefix from the [OperationId] by copying it\nget a prefix from the [OperationId] by copying it\nExample:\nExample:\nExample:\nExample:\nContent in sharable, deserializable form. Is used in the …\nA cryptographically generated value using serialized_data …\namount\nExtra coins that are spent from the caller’s balance and …\nSmart contract bytecode.\nA key-value store associating a hash to arbitrary bytes\nMax amount of coins allowed to be spent by the execution\nThe maximum amount of gas that the execution of the …\nThe maximum amount of gas that the execution of the …\nParameter to pass to the target function\nrecipient address\nroll count\nroll count\nTarget smart contract address\nTarget function name. No function is called if empty.\nContext of the event (not generated by the user)\nBy product of a byte code execution\nblock id if there was a block at that slot\nmost recent at the end\ncontext generated by the execution context\njson data string\nReturns the argument unchanged.\nReturns the argument unchanged.\nindex of the event in the slot\nCalls U::from(self).\nCalls U::from(self).\nif the sc that emitted this event failed\nif the event is final\norigin operation id\nif the event was generated during a read only execution\nwhen was it generated\nBuildHasherDefault specialization for HashMapper\nTrait allowing pre-allocations\nA Hasher for PreHashed keys that is faster because it …\nHashMap specialization for PreHashed keys This hashmap is …\nHashSet specialization for PreHashed keys This hashset is …\nA trait indicating that its carrier is already a hash with …\nfinish the hashing process and return the truncated u64 …\nReturns the argument unchanged.\nCalls U::from(self).\npre-allocate with a given capacity\npre-allocate with a given capacity\npre-allocate with a given capacity\nwrite the bytes of a PreHashed key into the HashMapper …\njust a u64 to keep track of the roll sells and buys during …\ncounts the roll for each address\nroll sales and purchases\nDeserializer for RollUpdate\nSerializer for RollUpdate\nmaps addresses to roll updates\napplies a RollUpdate, compensates and returns compensation\napplies RollUpdates to self with compensations\nchain two roll updates, compensate and return compensation …\nchains with another RollUpdates, compensates and returns …\nget the roll update for a subset of addresses\nget roll counts for a subset of addresses.\ncompensate a roll update, return compensation count\nExample:\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nthe addresses impacted by the updates\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if the RollCounts contains no elements.\ntrue if the update has no effect\nReturns the number of elements in the RollCounts.\nCreates a new RollUpdateSerializer\nCreates a new RollUpdateDeserializer\nMakes a new, empty RollCounts.\nroll purchases\nroll sales\nExample:\nmerge another roll updates into self, overwriting existing …\nmerge another roll counts into self, overwriting existing …\nUsed by signed structure TODO: Make this trait use versions\nPackages type T such that it can be securely sent and …\nTrait that define a structure that can be signed for …\nDeserializer for SecureShare structure\nSerializer for SecureShare structure\nsize in bytes of the whole block\nCompute hash\nCompute hash used for signature\nCompute the signed hash\ntrue if given operation is included in the block\nReference contents. Not required for the security …\nDerived from the same public key used to generate the …\nThe public-key component used in the generation of the …\nDeserialize the secured structure\nThis method is used to deserialize data that has been …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\ngets the header fitness\nreturns the fitness of the block\nGet the maximum amount of gas used by the operation.\nGet a reference to the underlying hash\nget the addresses that are involved in this operation from …\nGets the maximal amount of coins that may be spent by this …\nget the addresses that are involved in this operation from …\nget the range of periods during which an operation is valid\nA secure hash of the data. See also massa_hash::Hash\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nNew id from hash\nCreates a new SecureShareDeserializer\nCreates a new SecureShareSerializer\nUsing the provided key-pair, applies a cryptographic …\nSerialize the secured structure\nThis method is used to serialize a SecureShare structure …\nContent in sharable, deserializable form. Is used in the …\nget full serialized size\nSign the SecureShare given the content\nSign the SecureShare given the content\nA cryptographically generated value using serialized_data …\nverify signature\ncheck if self has been signed by public key\nBitVec<u8> Deserializer\nBitVec<u8> Serializer\nDeserialize min big endian\nDeserializer for IpAddr\nSerializer for IpAddr\nBasic PreHashSet<_> deserializer\nBasic PreHashSet<_> serializer\nSerialize min big endian integer\nDeserializer for String with generic deserializer for the …\nSerializer for String with generic serializer for the size …\nBasic Vec<_> deserializer\nBasic Vec<_> serializer\nBasic Vec<u8> deserializer\nBasic Vec<u8> serializer\narray from slice\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nDeserializes a minimally sized big endian integer to Self …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a IpAddrSerializer\nCreates a IpAddrDeserializer\nCreates a new VecU8Serializer\nCreates a new VecU8Deserializer\nCreates a new VecSerializer\nCreates a new VecDeserializer\nCreates a new PreHashSetSerializer\nCreates a new PreHashSetDeserializer\nCreates a StringSerializer.\nCreates a StringDeserializer.\nCreate a new BitVec<u8> Serializer\nCreate a new BitVec<u8> Deserializer\nserializes with the minimal amount of big endian bytes\nCompute the minimal big endian deserialization size\nCompute the minimal big endian deserialization size\nu8 from slice\nWhen an address is drawn to create an endorsement it is …\nsize of the slot key representation\na point in time where a block is expected\nBasic Slot Deserializer\nBasic serializer for Slot\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nDeserializes a slot from its fixed-size sortable binary …\ncycle associated to that slot\nfirst bit of the slot, for seed purpose\nReturns the next Slot\nReturns the previous Slot\nendorsement index in the slot\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\ncheck if the slot is first in the cycle\ncheck if the slot is last in the cycle\nreturns the maximal slot\nreturns the minimal slot\nnew slot from period and thread\nCreates a SlotSerializer\nCreates a SlotDeserializer\ncreate the first slot of a given cycle\ncreate the last slot of a given cycle\nperiod\nReturns the n-th slot after the current one\nslot\nCounts the number of slots since the one passed in …\nthread\nReturns a fixed-size sortable binary key\nstats produced by consensus module\nexecution statistics\nstats produced by network module\nstats produced by pool module\nactive execution cursor slot\nactive node count\nbanned node count\nnumber of actives cliques\nend of the time span for stats\nnumber of endorsement in the pool\nnumber of final blocks in the time window\nnumber of final blocks\nfinal execution cursor slot\nnumber of final executed operations in the time window\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nin connections count\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\ntotal known peers count\nnumber of operations in the pool\nout connections count\nnumber of stale blocks in memory\nstart of the time span for stats\ntime window end\ntime window start\nFinished step, after all the information has been streamed\nOngoing step, as long as you are streaming\nStarted step, only when launching the streaming\nStreaming step cursor\nStreamingStep deserializer\nStreamingStep serializer\nIndicates if the current step if finished or not without …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a new StreamingStep serializer\nCreates a new StreamingStep deserializer\nGets timestamp in milliseconds for given slot.\nTODO DOC\nReturns the thread and block slot index of the current …\nReturns the thread and block period index of the latest …\nCounts the number of slots in a slot range [a, b)\nTurns an MassaTime range [start, end) with optional …\nTrait marking a structure that supports another one (V) …\nDeletes the value T\ndeletes the value\nkeeps the existing value\nSets the value T a new absolute value T\nsets a new absolute value T\nsets a new absolute value T\nEnum representing a set/delete change on a value T\nrepresents a set/keep change\nEnumeration representing set/update/delete change on a …\nApplies an update V to an existing value T. If the value T …\napply changes from other to mutable self\napplies the current SetOrKeep to a target mutable value\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nApplication version, checked during handshakes\nSerializer for Version\nSerializer for Version\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nASCII uppercase alpha\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\ntrue if instance and major are the same\nCreates a VersionSerializer\nCreates a VersionSerializer") \ No newline at end of file diff --git a/src/massa_api/public.rs.html b/src/massa_api/public.rs.html index f305c4ee36..ff8736e235 100644 --- a/src/massa_api/public.rs.html +++ b/src/massa_api/public.rs.html @@ -1505,6 +1505,36 @@ 1505 1506 1507 +1508 +1509 +1510 +1511 +1512 +1513 +1514 +1515 +1516 +1517 +1518 +1519 +1520 +1521 +1522 +1523 +1524 +1525 +1526 +1527 +1528 +1529 +1530 +1531 +1532 +1533 +1534 +1535 +1536 +1537

    //! Copyright (c) 2022 MASSA LABS <info@massa.net>
     #![allow(clippy::too_many_arguments)]
     
    @@ -2667,6 +2697,16 @@
             &self,
             req: Vec<DeferredCallsQuoteRequest>,
         ) -> RpcResult<Vec<DeferredCallsQuoteResponse>> {
    +        let current_network_version = self
    +            .0
    +            .keypair_factory
    +            .mip_store
    +            .get_network_version_current();
    +
    +        if current_network_version < 1 {
    +            return Err(ApiError::NotFound.into());
    +        }
    +
             if req.len() as u64 > self.0.api_settings.max_arguments {
                 return Err(ApiError::BadRequest("too many arguments".into()).into());
             }
    @@ -2712,6 +2752,16 @@
             &self,
             arg: Vec<String>,
         ) -> RpcResult<Vec<DeferredCallResponse>> {
    +        let current_network_version = self
    +            .0
    +            .keypair_factory
    +            .mip_store
    +            .get_network_version_current();
    +
    +        if current_network_version < 1 {
    +            return Err(ApiError::NotFound.into());
    +        }
    +
             if arg.len() as u64 > self.0.api_settings.max_arguments {
                 return Err(ApiError::BadRequest("too many arguments".into()).into());
             }
    @@ -2752,6 +2802,16 @@
             &self,
             slots: Vec<Slot>,
         ) -> RpcResult<Vec<DeferredCallsSlotResponse>> {
    +        let current_network_version = self
    +            .0
    +            .keypair_factory
    +            .mip_store
    +            .get_network_version_current();
    +
    +        if current_network_version < 1 {
    +            return Err(ApiError::NotFound.into());
    +        }
    +
             if slots.len() as u64 > self.0.api_settings.max_arguments {
                 return Err(ApiError::BadRequest("too many arguments".into()).into());
             }
    diff --git a/src/massa_event_cache/event_cache.rs.html b/src/massa_event_cache/event_cache.rs.html
    index a5240070a5..10e8dbebad 100644
    --- a/src/massa_event_cache/event_cache.rs.html
    +++ b/src/massa_event_cache/event_cache.rs.html
    @@ -2760,7 +2760,7 @@
         use tempfile::TempDir;
         // internal
         use massa_models::config::{
    -        MAX_EVENT_DATA_SIZE, MAX_EVENT_PER_OPERATION, MAX_OPERATIONS_PER_BLOCK,
    +        MAX_EVENT_DATA_SIZE_V0, MAX_EVENT_PER_OPERATION, MAX_OPERATIONS_PER_BLOCK,
             MAX_RECURSIVE_CALLS_DEPTH, THREAD_COUNT,
         };
         use massa_models::operation::OperationId;
    @@ -2775,7 +2775,7 @@
                 300,
                 THREAD_COUNT,
                 MAX_RECURSIVE_CALLS_DEPTH,
    -            MAX_EVENT_DATA_SIZE as u64,
    +            MAX_EVENT_DATA_SIZE_V0 as u64,
                 MAX_EVENT_PER_OPERATION as u64,
                 MAX_OPERATIONS_PER_BLOCK as u64,
                 5000, // MAX_EVENTS_PER_QUERY,
    diff --git a/src/massa_execution_exports/mapping_grpc.rs.html b/src/massa_execution_exports/mapping_grpc.rs.html
    index 9636dc10b8..2b2169f77b 100644
    --- a/src/massa_execution_exports/mapping_grpc.rs.html
    +++ b/src/massa_execution_exports/mapping_grpc.rs.html
    @@ -406,6 +406,25 @@
     406
     407
     408
    +409
    +410
    +411
    +412
    +413
    +414
    +415
    +416
    +417
    +418
    +419
    +420
    +421
    +422
    +423
    +424
    +425
    +426
    +427
     
    // Copyright (c) 2023 MASSA LABS <info@massa.net>
     
     use std::str::FromStr;
    @@ -429,6 +448,7 @@
     /// Convert a `grpc_api::ScExecutionEventsRequest` to a `ScExecutionEventsRequest`
     pub fn to_querystate_filter(
         query: grpc_api::ExecutionQueryRequestItem,
    +    network_version: u32,
     ) -> Result<ExecutionQueryRequestItem, ModelsError> {
         if let Some(item) = query.request_item {
             match item {
    @@ -543,6 +563,12 @@
                     Ok(ExecutionQueryRequestItem::Events(event_filter))
                 }
                 exec::RequestItem::DeferredCallQuote(value) => {
    +                if network_version < 1 {
    +                    return Err(ModelsError::InvalidVersionError(
    +                        "deferred call quote is not supported in this network version".to_string(),
    +                    ));
    +                }
    +
                     Ok(ExecutionQueryRequestItem::DeferredCallQuote {
                         target_slot: value
                             .target_slot
    @@ -555,10 +581,22 @@
                     })
                 }
                 exec::RequestItem::DeferredCallInfo(info) => {
    +                if network_version < 1 {
    +                    return Err(ModelsError::InvalidVersionError(
    +                        "deferred call quote is not supported in this network version".to_string(),
    +                    ));
    +                }
    +
                     let id = DeferredCallId::from_str(&info.call_id)?;
                     Ok(ExecutionQueryRequestItem::DeferredCallInfo(id))
                 }
                 exec::RequestItem::DeferredCallsBySlot(value) => {
    +                if network_version < 1 {
    +                    return Err(ModelsError::InvalidVersionError(
    +                        "deferred call quote is not supported in this network version".to_string(),
    +                    ));
    +                }
    +
                     Ok(ExecutionQueryRequestItem::DeferredCallsBySlot(
                         value
                             .slot
    diff --git a/src/massa_execution_exports/settings.rs.html b/src/massa_execution_exports/settings.rs.html
    index cf91942453..50ecaeccb8 100644
    --- a/src/massa_execution_exports/settings.rs.html
    +++ b/src/massa_execution_exports/settings.rs.html
    @@ -119,6 +119,8 @@
     119
     120
     121
    +122
    +123
     

    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! This module provides the structures used to provide configuration parameters to the Execution system
    @@ -213,7 +215,9 @@
         /// slot execution outputs channel capacity
         pub broadcast_slot_execution_output_channel_capacity: usize,
         /// max size of event data, in bytes
    -    pub max_event_size: usize,
    +    pub max_event_size_v0: usize,
    +    /// max size of event data, in bytes
    +    pub max_event_size_v1: usize,
         /// chain id
         pub chain_id: u64,
         /// whether slot execution traces broadcast is enabled
    diff --git a/src/massa_execution_worker/active_history.rs.html b/src/massa_execution_worker/active_history.rs.html
    index 72894fb56a..4dcb9d7e87 100644
    --- a/src/massa_execution_worker/active_history.rs.html
    +++ b/src/massa_execution_worker/active_history.rs.html
    @@ -573,6 +573,12 @@
     573
     574
     575
    +576
    +577
    +578
    +579
    +580
    +581
     
    use massa_async_pool::{AsyncMessage, AsyncMessageId, AsyncMessageUpdate};
     use massa_execution_exports::ExecutionOutput;
     use massa_ledger_exports::{LedgerEntry, LedgerEntryUpdate};
    @@ -643,6 +649,7 @@
             &self,
             message_id: &AsyncMessageId,
             mut current_updates: AsyncMessageUpdate,
    +        execution_compound_version: u32,
         ) -> HistorySearchResult<SetUpdateOrDelete<AsyncMessage, AsyncMessageUpdate>> {
             for history_element in self.0.iter().rev() {
                 match history_element
    @@ -656,11 +663,16 @@
                         msg.apply(current_updates);
                         return HistorySearchResult::Present(SetUpdateOrDelete::Set(msg));
                     }
    -                Some(SetUpdateOrDelete::Update(msg_update)) => {
    -                    let mut combined_message_update = msg_update.clone();
    -                    combined_message_update.apply(current_updates);
    -                    current_updates = combined_message_update;
    -                }
    +                Some(SetUpdateOrDelete::Update(msg_update)) => match execution_compound_version {
    +                    0 => {
    +                        current_updates.apply(msg_update.clone());
    +                    }
    +                    _ => {
    +                        let mut combined_message_update = msg_update.clone();
    +                        combined_message_update.apply(current_updates);
    +                        current_updates = combined_message_update;
    +                    }
    +                },
                     Some(SetUpdateOrDelete::Delete) => return HistorySearchResult::Absent,
                     _ => (),
                 }
    @@ -1073,14 +1085,14 @@
             // Test fetch_message with message_id (expect HistorySearchResult::Absent)
             {
                 let current_updates = AsyncMessageUpdate::default();
    -            let fetched = active_history.fetch_message(&message_id, current_updates);
    +            let fetched = active_history.fetch_message(&message_id, current_updates, 1);
                 assert_matches!(fetched, HistorySearchResult::Absent);
             }
     
             // Test fetch_message with message_id_2 (expect HistorySearchResult::Set)
             {
                 let current_updates = AsyncMessageUpdate::default();
    -            let fetched = active_history.fetch_message(&message_id_2, current_updates);
    +            let fetched = active_history.fetch_message(&message_id_2, current_updates, 1);
     
                 if let HistorySearchResult::Present(SetUpdateOrDelete::Set(msg)) = fetched {
                     assert_eq!(msg, msg_2);
    @@ -1101,7 +1113,7 @@
                     validity_end: SetOrKeep::Set(validity_end_new),
                     ..Default::default()
                 };
    -            let fetched = active_history.fetch_message(&message_id_2, current_updates);
    +            let fetched = active_history.fetch_message(&message_id_2, current_updates, 1);
     
                 if let HistorySearchResult::Present(SetUpdateOrDelete::Set(msg)) = fetched {
                     assert_ne!(msg, msg_2);
    @@ -1117,7 +1129,7 @@
             // Test fetch_message with message_id_3 (expect HistorySearchResult::Present)
             {
                 let current_updates = AsyncMessageUpdate::default();
    -            let fetched = active_history.fetch_message(&message_id_3, current_updates);
    +            let fetched = active_history.fetch_message(&message_id_3, current_updates, 1);
     
                 if let HistorySearchResult::Present(SetUpdateOrDelete::Set(msg)) = fetched {
                     // Check the updates were applied correctly
    diff --git a/src/massa_execution_worker/context.rs.html b/src/massa_execution_worker/context.rs.html
    index 00dee7b357..23cb5ac074 100644
    --- a/src/massa_execution_worker/context.rs.html
    +++ b/src/massa_execution_worker/context.rs.html
    @@ -1307,6 +1307,277 @@
     1307
     1308
     1309
    +1310
    +1311
    +1312
    +1313
    +1314
    +1315
    +1316
    +1317
    +1318
    +1319
    +1320
    +1321
    +1322
    +1323
    +1324
    +1325
    +1326
    +1327
    +1328
    +1329
    +1330
    +1331
    +1332
    +1333
    +1334
    +1335
    +1336
    +1337
    +1338
    +1339
    +1340
    +1341
    +1342
    +1343
    +1344
    +1345
    +1346
    +1347
    +1348
    +1349
    +1350
    +1351
    +1352
    +1353
    +1354
    +1355
    +1356
    +1357
    +1358
    +1359
    +1360
    +1361
    +1362
    +1363
    +1364
    +1365
    +1366
    +1367
    +1368
    +1369
    +1370
    +1371
    +1372
    +1373
    +1374
    +1375
    +1376
    +1377
    +1378
    +1379
    +1380
    +1381
    +1382
    +1383
    +1384
    +1385
    +1386
    +1387
    +1388
    +1389
    +1390
    +1391
    +1392
    +1393
    +1394
    +1395
    +1396
    +1397
    +1398
    +1399
    +1400
    +1401
    +1402
    +1403
    +1404
    +1405
    +1406
    +1407
    +1408
    +1409
    +1410
    +1411
    +1412
    +1413
    +1414
    +1415
    +1416
    +1417
    +1418
    +1419
    +1420
    +1421
    +1422
    +1423
    +1424
    +1425
    +1426
    +1427
    +1428
    +1429
    +1430
    +1431
    +1432
    +1433
    +1434
    +1435
    +1436
    +1437
    +1438
    +1439
    +1440
    +1441
    +1442
    +1443
    +1444
    +1445
    +1446
    +1447
    +1448
    +1449
    +1450
    +1451
    +1452
    +1453
    +1454
    +1455
    +1456
    +1457
    +1458
    +1459
    +1460
    +1461
    +1462
    +1463
    +1464
    +1465
    +1466
    +1467
    +1468
    +1469
    +1470
    +1471
    +1472
    +1473
    +1474
    +1475
    +1476
    +1477
    +1478
    +1479
    +1480
    +1481
    +1482
    +1483
    +1484
    +1485
    +1486
    +1487
    +1488
    +1489
    +1490
    +1491
    +1492
    +1493
    +1494
    +1495
    +1496
    +1497
    +1498
    +1499
    +1500
    +1501
    +1502
    +1503
    +1504
    +1505
    +1506
    +1507
    +1508
    +1509
    +1510
    +1511
    +1512
    +1513
    +1514
    +1515
    +1516
    +1517
    +1518
    +1519
    +1520
    +1521
    +1522
    +1523
    +1524
    +1525
    +1526
    +1527
    +1528
    +1529
    +1530
    +1531
    +1532
    +1533
    +1534
    +1535
    +1536
    +1537
    +1538
    +1539
    +1540
    +1541
    +1542
    +1543
    +1544
    +1545
    +1546
    +1547
    +1548
    +1549
    +1550
    +1551
    +1552
    +1553
    +1554
    +1555
    +1556
    +1557
    +1558
    +1559
    +1560
    +1561
    +1562
    +1563
    +1564
    +1565
    +1566
    +1567
    +1568
    +1569
    +1570
    +1571
    +1572
    +1573
    +1574
    +1575
    +1576
    +1577
    +1578
    +1579
    +1580
     
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! This module represents the context in which the VM executes bytecode.
    @@ -1352,9 +1623,10 @@
     };
     use massa_module_cache::controller::ModuleCache;
     use massa_pos_exports::PoSChanges;
    +use massa_sc_runtime::CondomLimits;
     use massa_serialization::Serializer;
     use massa_versioning::address_factory::{AddressArgs, AddressFactory};
    -use massa_versioning::versioning::MipStore;
    +use massa_versioning::versioning::{MipComponent, MipStore};
     use massa_versioning::versioning_factory::{FactoryStrategy, VersioningFactory};
     use parking_lot::RwLock;
     use rand::SeedableRng;
    @@ -1505,6 +1777,9 @@
         /// so *excluding* the gas used by the last sc call.
         pub gas_remaining_before_subexecution: Option<u64>,
     
    +    /// The version of the execution component
    +    pub execution_component_version: u32,
    +
         /// recursion counter, incremented for each new nested call
         pub recursion_counter: u16,
     }
    @@ -1530,6 +1805,15 @@
             mip_store: MipStore,
             execution_trail_hash: massa_hash::Hash,
         ) -> Self {
    +        let slot = Slot::new(0, 0);
    +        let ts = get_block_slot_timestamp(
    +            config.thread_count,
    +            config.t0,
    +            config.genesis_timestamp,
    +            slot,
    +        )
    +        .expect("Time overflow when getting block slot timestamp for MIP");
    +
             ExecutionContext {
                 speculative_ledger: SpeculativeLedger::new(
                     final_state.clone(),
    @@ -1561,7 +1845,7 @@
                     active_history,
                 ),
                 creator_min_balance: Default::default(),
    -            slot: Slot::new(0, 0),
    +            slot,
                 created_addr_index: Default::default(),
                 created_event_index: Default::default(),
                 created_message_index: Default::default(),
    @@ -1574,9 +1858,13 @@
                 origin_operation_id: Default::default(),
                 module_cache,
                 config,
    -            address_factory: AddressFactory { mip_store },
    +            address_factory: AddressFactory {
    +                mip_store: mip_store.clone(),
    +            },
                 execution_trail_hash,
                 gas_remaining_before_subexecution: None,
    +            execution_component_version: mip_store
    +                .get_latest_component_version_at(&MipComponent::Execution, ts),
                 recursion_counter: 0,
             }
         }
    @@ -1618,8 +1906,12 @@
                 serde_json::json!({ "massa_execution_error": format!("{}", error) }).to_string(),
                 true,
             );
    -        if event.data.len() > self.config.max_event_size {
    -            event.data.truncate(self.config.max_event_size);
    +        let max_event_size = match self.execution_component_version {
    +            0 => self.config.max_event_size_v0,
    +            _ => self.config.max_event_size_v1,
    +        };
    +        if event.data.len() > max_event_size {
    +            event.data.truncate(max_event_size);
             }
             self.event_emit(event);
     
    @@ -1679,11 +1971,21 @@
             let execution_trail_hash =
                 generate_execution_trail_hash(&prev_execution_trail_hash, &slot, None, true);
     
    +        let ts = get_block_slot_timestamp(
    +            config.thread_count,
    +            config.t0,
    +            config.genesis_timestamp,
    +            slot,
    +        )
    +        .expect("Time overflow when getting block slot timestamp for MIP");
    +
             // return readonly context
             ExecutionContext {
                 slot,
                 stack: call_stack,
                 read_only: true,
    +            execution_component_version: mip_store
    +                .get_latest_component_version_at(&MipComponent::Execution, ts),
                 ..ExecutionContext::new(
                     config,
                     final_state,
    @@ -1704,7 +2006,19 @@
         /// A vector of `(Option<Bytecode>, AsyncMessage)` pairs where:
         /// * `Option<Bytecode>` is the bytecode to execute (or `None` if not found)
         /// * `AsyncMessage` is the asynchronous message to execute
    -    pub(crate) fn take_async_batch(
    +    pub(crate) fn take_async_batch_v0(
    +        &mut self,
    +        max_gas: u64,
    +        async_msg_cst_gas_cost: u64,
    +    ) -> Vec<(Option<Bytecode>, AsyncMessage)> {
    +        self.speculative_async_pool
    +            .take_batch_to_execute(self.slot, max_gas, async_msg_cst_gas_cost)
    +            .into_iter()
    +            .map(|(_id, msg)| (self.get_bytecode(&msg.destination), msg))
    +            .collect()
    +    }
    +
    +    pub(crate) fn take_async_batch_v1(
             &mut self,
             max_gas: u64,
             async_msg_cst_gas_cost: u64,
    @@ -1749,10 +2063,20 @@
                 false,
             );
     
    +        let ts = get_block_slot_timestamp(
    +            config.thread_count,
    +            config.t0,
    +            config.genesis_timestamp,
    +            slot,
    +        )
    +        .expect("Time overflow when getting block slot timestamp for MIP");
    +
             // return active slot execution context
             ExecutionContext {
                 slot,
                 opt_block_id,
    +            execution_component_version: mip_store
    +                .get_latest_component_version_at(&MipComponent::Execution, ts),
                 ..ExecutionContext::new(
                     config,
                     final_state,
    @@ -1856,6 +2180,7 @@
                 self.get_current_address()?,
                 address,
                 bytecode,
    +            self.execution_component_version,
             )?;
     
             // add the address to owned addresses
    @@ -1927,8 +2252,13 @@
             }
     
             // set data entry
    -        self.speculative_ledger
    -            .set_data_entry(&self.get_current_address()?, address, key, data)
    +        self.speculative_ledger.set_data_entry(
    +            &self.get_current_address()?,
    +            address,
    +            key,
    +            data,
    +            self.execution_component_version,
    +        )
         }
     
         /// Appends data to a datastore entry for an address in the speculative ledger.
    @@ -1968,8 +2298,13 @@
             res_data.extend(data);
     
             // set data entry
    -        self.speculative_ledger
    -            .set_data_entry(&self.get_current_address()?, address, key, res_data)
    +        self.speculative_ledger.set_data_entry(
    +            &self.get_current_address()?,
    +            address,
    +            key,
    +            res_data,
    +            self.execution_component_version,
    +        )
         }
     
         /// Deletes a datastore entry for an address.
    @@ -1992,8 +2327,12 @@
             }
     
             // delete entry
    -        self.speculative_ledger
    -            .delete_data_entry(&self.get_current_address()?, address, key)
    +        self.speculative_ledger.delete_data_entry(
    +            &self.get_current_address()?,
    +            address,
    +            key,
    +            self.execution_component_version,
    +        )
         }
     
         /// Transfers coins from one address to another.
    @@ -2012,20 +2351,54 @@
             amount: Amount,
             check_rights: bool,
         ) -> Result<(), ExecutionError> {
    +        let execution_component_version = self.execution_component_version;
    +
             if let Some(from_addr) = &from_addr {
                 // check access rights
                 // ensure we can't spend from an address on which we have no write access
    -            if check_rights && !self.has_write_rights_on(from_addr) {
    -                return Err(ExecutionError::RuntimeError(format!(
    -                    "spending from address {} is not allowed in this context",
    -                    from_addr
    -                )));
    +            // If execution component version is 0, we need to disallow sending to SC addresses
    +
    +            match execution_component_version {
    +                0 => {
    +                    if check_rights {
    +                        if !self.has_write_rights_on(from_addr) {
    +                            return Err(ExecutionError::RuntimeError(format!(
    +                                "spending from address {} is not allowed in this context",
    +                                from_addr
    +                            )));
    +                        }
    +
    +                        // ensure we can't transfer towards SC addresses on which we have no write access
    +                        if let Some(to_addr) = &to_addr {
    +                            if matches!(to_addr, Address::SC(..))
    +                                && !self.has_write_rights_on(to_addr)
    +                            {
    +                                return Err(ExecutionError::RuntimeError(format!(
    +                                    "crediting SC address {} is not allowed without write access to it",
    +                                    to_addr
    +                                )));
    +                            }
    +                        }
    +                    }
    +                }
    +                _ => {
    +                    if check_rights && !self.has_write_rights_on(from_addr) {
    +                        return Err(ExecutionError::RuntimeError(format!(
    +                            "spending from address {} is not allowed in this context",
    +                            from_addr
    +                        )));
    +                    }
    +                }
                 }
             }
     
             // do the transfer
    -        self.speculative_ledger
    -            .transfer_coins(from_addr, to_addr, amount)
    +        self.speculative_ledger.transfer_coins(
    +            from_addr,
    +            to_addr,
    +            amount,
    +            execution_component_version,
    +        )
         }
     
         /// Add a new asynchronous message to speculative pool
    @@ -2105,6 +2478,76 @@
             &mut self,
             denounced_addr: &Address,
             roll_count: u64,
    +    ) -> Result<Amount, ExecutionError> {
    +        let execution_component_version = self.execution_component_version;
    +
    +        match execution_component_version {
    +            0 => self.try_slash_rolls_v0(denounced_addr, roll_count),
    +            _ => self.try_slash_rolls_v1(denounced_addr, roll_count),
    +        }
    +    }
    +
    +    pub fn try_slash_rolls_v0(
    +        &mut self,
    +        denounced_addr: &Address,
    +        roll_count: u64,
    +    ) -> Result<Amount, ExecutionError> {
    +        // try to slash as many roll as available
    +        let slashed_rolls = self
    +            .speculative_roll_state
    +            .try_slash_rolls(denounced_addr, roll_count);
    +        // convert slashed rolls to coins (as deferred credits => coins)
    +        let mut slashed_coins = self
    +            .config
    +            .roll_price
    +            .checked_mul_u64(slashed_rolls.unwrap_or_default())
    +            .ok_or_else(|| {
    +                ExecutionError::RuntimeError(format!(
    +                    "Cannot multiply roll price by {}",
    +                    roll_count
    +                ))
    +            })?;
    +
    +        // what remains to slash (then will try to slash as many deferred credits as avail/what remains to be slashed)
    +        let amount_remaining_to_slash = self
    +            .config
    +            .roll_price
    +            .checked_mul_u64(roll_count)
    +            .ok_or_else(|| {
    +                ExecutionError::RuntimeError(format!(
    +                    "Cannot multiply roll price by {}",
    +                    roll_count
    +                ))
    +            })?
    +            .saturating_sub(slashed_coins);
    +
    +        if amount_remaining_to_slash > Amount::zero() {
    +            // There is still an amount to slash for this denunciation so we need to slash
    +            // in deferred credits
    +            let slashed_coins_in_deferred_credits = self
    +                .speculative_roll_state
    +                .try_slash_deferred_credits(&self.slot, denounced_addr, &amount_remaining_to_slash);
    +
    +            slashed_coins = slashed_coins.saturating_add(slashed_coins_in_deferred_credits);
    +
    +            let amount_remaining_to_slash_2 =
    +                slashed_coins.saturating_sub(slashed_coins_in_deferred_credits);
    +            if amount_remaining_to_slash_2 > Amount::zero() {
    +                // Use saturating_mul_u64 to avoid an error (for just a warn!(..))
    +                warn!("Slashed {} coins (by selling rolls) and {} coins from deferred credits of address: {} but cumulative amount is lower than expected: {} coins",
    +                    slashed_coins, slashed_coins_in_deferred_credits, denounced_addr,
    +                    self.config.roll_price.saturating_mul_u64(roll_count)
    +                );
    +            }
    +        }
    +
    +        Ok(slashed_coins)
    +    }
    +
    +    pub fn try_slash_rolls_v1(
    +        &mut self,
    +        denounced_addr: &Address,
    +        roll_count: u64,
         ) -> Result<Amount, ExecutionError> {
             // try to slash as many roll as available
             let slashed_rolls = self
    @@ -2216,23 +2659,92 @@
             result
         }
     
    -    /// Finishes a slot and generates the execution output.
    -    /// Settles emitted asynchronous messages, reimburse the senders of deleted messages.
    -    /// Moves the output of the execution out of the context,
    -    /// resetting some context fields in the process.
    -    ///
    -    /// This is used to get the output of an execution before discarding the context.
    -    /// Note that we are not taking self by value to consume it because the context is shared.
    -    pub fn settle_slot(&mut self, block_info: Option<ExecutedBlockInfo>) -> ExecutionOutput {
    +    fn settle_slot_v0(&mut self, block_info: Option<ExecutedBlockInfo>) -> ExecutionOutput {
    +        let slot = self.slot;
    +        // execute the deferred credits coming from roll sells
    +        let deferred_credits_transfers = self.execute_deferred_credits(&slot);
    +
    +        // take the ledger changes first as they are needed for async messages and cache
    +        let ledger_changes = self.speculative_ledger.take();
    +
    +        // settle emitted async messages and reimburse the senders of deleted messages
    +        let deleted_messages =
    +            self.speculative_async_pool
    +                .settle_slot(&slot, &ledger_changes, false);
    +
    +        let mut cancel_async_message_transfers = vec![];
    +        for (_msg_id, msg) in deleted_messages {
    +            if let Some(t) = self.cancel_async_message(&msg) {
    +                cancel_async_message_transfers.push(t)
    +            }
    +        }
    +
    +        // update module cache
    +        let bc_updates = ledger_changes.get_bytecode_updates();
    +
    +        {
    +            let mut cache_write_lock = self.module_cache.write();
    +            for bytecode in bc_updates {
    +                cache_write_lock.save_module(&bytecode.0, CondomLimits::default());
    +            }
    +        }
    +        // if the current slot is last in cycle check the production stats and act accordingly
    +        let auto_sell_rolls = if self
    +            .slot
    +            .is_last_of_cycle(self.config.periods_per_cycle, self.config.thread_count)
    +        {
    +            self.speculative_roll_state.settle_production_stats(
    +                &slot,
    +                self.config.periods_per_cycle,
    +                self.config.thread_count,
    +                self.config.roll_price,
    +                self.config.max_miss_ratio,
    +            )
    +        } else {
    +            vec![]
    +        };
    +
    +        // generate the execution output
    +        let state_changes = StateChanges {
    +            ledger_changes,
    +            async_pool_changes: self.speculative_async_pool.take(),
    +            pos_changes: self.speculative_roll_state.take(),
    +            executed_ops_changes: self.speculative_executed_ops.take(),
    +            executed_denunciations_changes: self.speculative_executed_denunciations.take(),
    +            execution_trail_hash_change: SetOrKeep::Set(self.execution_trail_hash),
    +            deferred_call_changes: self.speculative_deferred_calls.take(),
    +        };
    +        std::mem::take(&mut self.opt_block_id);
    +        ExecutionOutput {
    +            slot,
    +            block_info,
    +            state_changes,
    +            events: std::mem::take(&mut self.events),
    +            #[cfg(feature = "execution-trace")]
    +            slot_trace: None,
    +            #[cfg(feature = "dump-block")]
    +            storage: None,
    +            deferred_credits_execution: deferred_credits_transfers,
    +            cancel_async_message_execution: cancel_async_message_transfers,
    +            auto_sell_execution: auto_sell_rolls,
    +        }
    +    }
    +
    +    fn settle_slot_with_fixed_ledger_change_handling(
    +        &mut self,
    +        block_info: Option<ExecutedBlockInfo>,
    +    ) -> ExecutionOutput {
             let slot = self.slot;
     
             // execute the deferred credits coming from roll sells
             let deferred_credits_transfers = self.execute_deferred_credits(&slot);
     
             // settle emitted async messages and reimburse the senders of deleted messages
    -        let deleted_messages = self
    -            .speculative_async_pool
    -            .settle_slot(&slot, &self.speculative_ledger.added_changes);
    +        let deleted_messages = self.speculative_async_pool.settle_slot(
    +            &slot,
    +            &self.speculative_ledger.added_changes,
    +            true,
    +        );
     
             let mut cancel_async_message_transfers = vec![];
             for (_msg_id, msg) in deleted_messages {
    @@ -2246,7 +2758,7 @@
             {
                 let mut cache_write_lock = self.module_cache.write();
                 for bytecode in bc_updates {
    -                cache_write_lock.save_module(&bytecode.0);
    +                cache_write_lock.save_module(&bytecode.0, self.config.condom_limits.clone());
                 }
             }
     
    @@ -2293,6 +2805,20 @@
             }
         }
     
    +    /// Finishes a slot and generates the execution output.
    +    /// Settles emitted asynchronous messages, reimburse the senders of deleted messages.
    +    /// Moves the output of the execution out of the context,
    +    /// resetting some context fields in the process.
    +    ///
    +    /// This is used to get the output of an execution before discarding the context.
    +    /// Note that we are not taking self by value to consume it because the context is shared.
    +    pub fn settle_slot(&mut self, block_info: Option<ExecutedBlockInfo>) -> ExecutionOutput {
    +        match self.execution_component_version {
    +            0 => self.settle_slot_v0(block_info),
    +            _ => self.settle_slot_with_fixed_ledger_change_handling(block_info),
    +        }
    +    }
    +
         /// Sets a bytecode for an address in the speculative ledger.
         /// Fail if the address is absent from the ledger.
         ///
    @@ -2322,8 +2848,12 @@
             }
     
             // set data entry
    -        self.speculative_ledger
    -            .set_bytecode(&self.get_current_address()?, address, bytecode)
    +        self.speculative_ledger.set_bytecode(
    +            &self.get_current_address()?,
    +            address,
    +            bytecode,
    +            self.execution_component_version,
    +        )
         }
     
         /// Creates a new event but does not emit it.
    @@ -2514,8 +3044,12 @@
     
             let mut event =
                 self.event_create(format!("DeferredCall execution fail call_id:{}", id), true);
    -        if event.data.len() > self.config.max_event_size {
    -            event.data.truncate(self.config.max_event_size);
    +        let max_event_size = match self.execution_component_version {
    +            0 => self.config.max_event_size_v0,
    +            _ => self.config.max_event_size_v1,
    +        };
    +        if event.data.len() > max_event_size {
    +            event.data.truncate(max_event_size);
             }
             self.event_emit(event);
     
    @@ -2571,6 +3105,14 @@
                 .get_calls_by_slot(slot)
                 .slot_calls
         }
    +
    +    /// Get the condom limits to pass to the VM depending on the current execution component version
    +    pub fn get_condom_limits(&self) -> CondomLimits {
    +        match self.execution_component_version {
    +            0 => Default::default(),
    +            _ => self.config.condom_limits.clone(),
    +        }
    +    }
     }
     
     /// Generate the execution trail hash
    diff --git a/src/massa_execution_worker/execution.rs.html b/src/massa_execution_worker/execution.rs.html
    index df43a9001a..27457e0e5f 100644
    --- a/src/massa_execution_worker/execution.rs.html
    +++ b/src/massa_execution_worker/execution.rs.html
    @@ -2521,6 +2521,193 @@
     2521
     2522
     2523
    +2524
    +2525
    +2526
    +2527
    +2528
    +2529
    +2530
    +2531
    +2532
    +2533
    +2534
    +2535
    +2536
    +2537
    +2538
    +2539
    +2540
    +2541
    +2542
    +2543
    +2544
    +2545
    +2546
    +2547
    +2548
    +2549
    +2550
    +2551
    +2552
    +2553
    +2554
    +2555
    +2556
    +2557
    +2558
    +2559
    +2560
    +2561
    +2562
    +2563
    +2564
    +2565
    +2566
    +2567
    +2568
    +2569
    +2570
    +2571
    +2572
    +2573
    +2574
    +2575
    +2576
    +2577
    +2578
    +2579
    +2580
    +2581
    +2582
    +2583
    +2584
    +2585
    +2586
    +2587
    +2588
    +2589
    +2590
    +2591
    +2592
    +2593
    +2594
    +2595
    +2596
    +2597
    +2598
    +2599
    +2600
    +2601
    +2602
    +2603
    +2604
    +2605
    +2606
    +2607
    +2608
    +2609
    +2610
    +2611
    +2612
    +2613
    +2614
    +2615
    +2616
    +2617
    +2618
    +2619
    +2620
    +2621
    +2622
    +2623
    +2624
    +2625
    +2626
    +2627
    +2628
    +2629
    +2630
    +2631
    +2632
    +2633
    +2634
    +2635
    +2636
    +2637
    +2638
    +2639
    +2640
    +2641
    +2642
    +2643
    +2644
    +2645
    +2646
    +2647
    +2648
    +2649
    +2650
    +2651
    +2652
    +2653
    +2654
    +2655
    +2656
    +2657
    +2658
    +2659
    +2660
    +2661
    +2662
    +2663
    +2664
    +2665
    +2666
    +2667
    +2668
    +2669
    +2670
    +2671
    +2672
    +2673
    +2674
    +2675
    +2676
    +2677
    +2678
    +2679
    +2680
    +2681
    +2682
    +2683
    +2684
    +2685
    +2686
    +2687
    +2688
    +2689
    +2690
    +2691
    +2692
    +2693
    +2694
    +2695
    +2696
    +2697
    +2698
    +2699
    +2700
    +2701
    +2702
    +2703
    +2704
    +2705
    +2706
    +2707
    +2708
    +2709
    +2710
     
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! This module deals with executing final and active slots, as well as read-only requests.
    @@ -2568,7 +2755,7 @@
     use massa_module_cache::config::ModuleCacheConfig;
     use massa_module_cache::controller::ModuleCache;
     use massa_pos_exports::SelectorController;
    -use massa_sc_runtime::{Interface, Response, VMError};
    +use massa_sc_runtime::{CondomLimits, Interface, Response, VMError};
     use massa_versioning::versioning::MipStore;
     use massa_wallet::Wallet;
     use parking_lot::{Mutex, RwLock};
    @@ -2969,6 +3156,7 @@
     
             // lock execution context
             let mut context = context_guard!(self);
    +        let execution_component_version = context.execution_component_version;
     
             // ignore the operation if it was already executed
             if context.is_op_executed(&operation_id) {
    @@ -2990,15 +3178,21 @@
             // set the context origin operation ID
             // Note: set operation ID early as if context.transfer_coins fails, event_create will use
             // operation ID in the event message
    -        context.origin_operation_id = Some(operation_id);
    +        if execution_component_version >= 1 {
    +            context.origin_operation_id = Some(operation_id);
    +        }
     
             // debit the fee from the operation sender
             if let Err(err) =
                 context.transfer_coins(Some(sender_addr), None, operation.content.fee, false)
             {
                 let mut error = format!("could not spend fees: {}", err);
    -            if error.len() > self.config.max_event_size {
    -                error.truncate(self.config.max_event_size);
    +            let max_event_size = match execution_component_version {
    +                0 => self.config.max_event_size_v0,
    +                _ => self.config.max_event_size_v1,
    +            };
    +            if error.len() > max_event_size {
    +                error.truncate(max_event_size);
                 }
                 let event = context.event_create(error.clone(), true);
                 context.event_emit(event);
    @@ -3014,6 +3208,10 @@
             // set the creator address
             context.creator_address = Some(operation.content_creator_address);
     
    +        if execution_component_version == 0 {
    +            context.origin_operation_id = Some(operation_id);
    +        }
    +
             Ok(context_snapshot)
         }
     
    @@ -3476,10 +3674,12 @@
                 _ => panic!("unexpected operation type"),
             };
     
    +        let condom_limits;
             {
                 // acquire write access to the context
                 let mut context = context_guard!(self);
     
    +            condom_limits = context.get_condom_limits();
                 // Set the call stack to a single element:
                 // * the execution will happen in the context of the address of the operation's sender
                 // * the context will give the operation's sender write access to its own ledger entry
    @@ -3494,17 +3694,17 @@
             };
     
             // load the tmp module
    -        let module = self
    -            .module_cache
    -            .read()
    -            .load_tmp_module(bytecode, *max_gas)?;
    +        let module =
    +            self.module_cache
    +                .read()
    +                .load_tmp_module(bytecode, *max_gas, condom_limits.clone())?;
             // run the VM
             let _res = massa_sc_runtime::run_main(
                 &*self.execution_interface,
                 module,
                 *max_gas,
                 self.config.gas_costs.clone(),
    -            self.config.condom_limits.clone(),
    +            condom_limits,
             )
             .map_err(|error| ExecutionError::VMError {
                 context: "ExecuteSC".to_string(),
    @@ -3549,10 +3749,13 @@
     
             // prepare the current slot context for executing the operation
             let bytecode;
    +        let condom_limits;
             {
                 // acquire write access to the context
                 let mut context = context_guard!(self);
     
    +            condom_limits = context.get_condom_limits();
    +
                 // Set the call stack
                 // This needs to be defined before anything can fail, so that the emitted event contains the right stack
                 context.stack = vec![
    @@ -3597,7 +3800,11 @@
     
             // load and execute the compiled module
             // IMPORTANT: do not keep a lock here as `run_function` uses the `get_module` interface
    -        let module = self.module_cache.write().load_module(&bytecode, max_gas)?;
    +
    +        let module =
    +            self.module_cache
    +                .write()
    +                .load_module(&bytecode, max_gas, condom_limits.clone())?;
             let response = massa_sc_runtime::run_function(
                 &*self.execution_interface,
                 module,
    @@ -3605,7 +3812,7 @@
                 param,
                 max_gas,
                 self.config.gas_costs.clone(),
    -            self.config.condom_limits.clone(),
    +            condom_limits,
             );
             match response {
                 Ok(Response { init_gas_cost, .. })
    @@ -3640,6 +3847,7 @@
             &self,
             message: AsyncMessage,
             bytecode: Option<Bytecode>,
    +        execution_version: u32,
         ) -> Result<AsyncMessageExecutionResult, ExecutionError> {
             let mut result = AsyncMessageExecutionResult::new();
             #[cfg(feature = "execution-info")]
    @@ -3659,7 +3867,10 @@
                 context.stack = vec![
                     ExecutionStackElement {
                         address: message.sender,
    -                    coins: Default::default(),
    +                    coins: match execution_version {
    +                        0 => message.coins,
    +                        _ => Default::default(),
    +                    },
                         owned_addresses: vec![message.sender],
                         operation_datastore: None,
                     },
    @@ -3711,17 +3922,31 @@
     
             // load and execute the compiled module
             // IMPORTANT: do not keep a lock here as `run_function` uses the `get_module` interface
    -        let Ok(module) = self
    -            .module_cache
    -            .write()
    -            .load_module(&bytecode, message.max_gas)
    -        else {
    -            let err =
    -                ExecutionError::RuntimeError("could not load module for async execution".into());
    -            let mut context = context_guard!(self);
    -            context.reset_to_snapshot(context_snapshot, err.clone());
    -            context.cancel_async_message(&message);
    -            return Err(err);
    +        let module = match context_guard!(self).execution_component_version {
    +            0 => self.module_cache.write().load_module(
    +                &bytecode,
    +                message.max_gas,
    +                CondomLimits::default(),
    +            )?,
    +            _ => {
    +                match self.module_cache.write().load_module(
    +                    &bytecode,
    +                    message.max_gas,
    +                    self.config.condom_limits.clone(),
    +                ) {
    +                    Ok(module) => module,
    +                    Err(err) => {
    +                        let err = ExecutionError::RuntimeError(format!(
    +                            "could not load module for async execution: {}",
    +                            err
    +                        ));
    +                        let mut context = context_guard!(self);
    +                        context.reset_to_snapshot(context_snapshot, err.clone());
    +                        context.cancel_async_message(&message);
    +                        return Err(err);
    +                    }
    +                }
    +            }
             };
     
             let response = massa_sc_runtime::run_function(
    @@ -3849,6 +4074,7 @@
                     let module = self.module_cache.write().load_module(
                         &bytecode,
                         call.get_effective_gas(self.config.deferred_calls_config.call_cst_gas_cost),
    +                    self.config.condom_limits.clone(),
                     )?;
                     let response = massa_sc_runtime::run_function(
                         &*self.execution_interface,
    @@ -3947,40 +4173,58 @@
                 self.mip_store.clone(),
             );
     
    -        // Deferred calls
    -        let calls = execution_context.deferred_calls_advance_slot(*slot);
    +        let execution_version = execution_context.execution_component_version;
     
    -        // Apply the created execution context for slot execution
    -        *context_guard!(self) = execution_context;
    +        let mut deferred_calls_slot_gas = 0;
     
    -        for (id, call) in calls.slot_calls {
    -            let cancelled = call.cancelled;
    -            match self.execute_deferred_call(&id, call) {
    -                Ok(_exec) => {
    -                    if cancelled {
    -                        continue;
    -                    }
    -                    info!("executed deferred call: {:?}", id);
    -                    cfg_if::cfg_if! {
    -                        if #[cfg(feature = "execution-trace")] {
    -                            // Safe to unwrap
    -                            slot_trace.deferred_call_stacks.push(_exec.traces.unwrap().0);
    -                        } else if #[cfg(feature = "execution-info")] {
    -                            slot_trace.deferred_call_stacks.push(_exec.traces.clone().unwrap().0);
    -                            exec_info.deferred_calls_messages.push(Ok(_exec));
    +        // deferred calls execution
    +
    +        match execution_version {
    +            0 => {
    +                // Apply the created execution context for slot execution
    +                *context_guard!(self) = execution_context;
    +            }
    +            _ => {
    +                // Deferred calls
    +                let calls = execution_context.deferred_calls_advance_slot(*slot);
    +
    +                deferred_calls_slot_gas = calls.effective_slot_gas;
    +
    +                // Apply the created execution context for slot execution
    +                *context_guard!(self) = execution_context;
    +
    +                for (id, call) in calls.slot_calls {
    +                    let cancelled = call.cancelled;
    +                    match self.execute_deferred_call(&id, call) {
    +                        Ok(_exec) => {
    +                            if cancelled {
    +                                continue;
    +                            }
    +                            info!("executed deferred call: {:?}", id);
    +                            cfg_if::cfg_if! {
    +                                if #[cfg(feature = "execution-trace")] {
    +                                    // Safe to unwrap
    +                                    slot_trace.deferred_call_stacks.push(_exec.traces.unwrap().0);
    +                                } else if #[cfg(feature = "execution-info")] {
    +                                    slot_trace.deferred_call_stacks.push(_exec.traces.clone().unwrap().0);
    +                                    exec_info.deferred_calls_messages.push(Ok(_exec));
    +                                }
    +                            }
    +                        }
    +                        Err(err) => {
    +                            let msg = format!("failed executing deferred call: {}", err);
    +                            #[cfg(feature = "execution-info")]
    +                            exec_info.deferred_calls_messages.push(Err(msg.clone()));
    +                            dbg!(msg);
                             }
                         }
                     }
    -                Err(err) => {
    -                    let msg = format!("failed executing deferred call: {}", err);
    -                    #[cfg(feature = "execution-info")]
    -                    exec_info.deferred_calls_messages.push(Err(msg.clone()));
    -                    dbg!(msg);
    -                }
                 }
             }
     
    -        let mut block_info: Option<ExecutedBlockInfo> = None;
    +        // Block execution
    +
    +        let mut block_info: Option<ExecutedBlockInfo> = None;
             // Set block gas (max_gas_per_block - gas used by deferred calls)
             let mut remaining_block_gas = self.config.max_gas_per_block;
     
    @@ -4162,89 +4406,173 @@
                 // Update speculative rolls state production stats
                 context.update_production_stats(&block_creator_addr, *slot, Some(*block_id));
     
    -            // Divide the total block credits into parts + remainder
    -            let block_credit_part_count = 3 * (1 + self.config.endorsement_count);
    -            let block_credit_part = block_credits
    -                .checked_div_u64(block_credit_part_count)
    -                .expect("critical: block_credits checked_div factor is 0");
    -            let remainder = block_credits
    -                .checked_rem_u64(block_credit_part_count)
    -                .expect("critical: block_credits checked_rem factor is 0");
    -
    -            // Give 3 parts + remainder to the block producer to stimulate block production
    -            // even in the absence of endorsements.
    -            let mut block_producer_credit = block_credit_part
    -                .saturating_mul_u64(3)
    -                .saturating_add(remainder);
    -
    -            for endorsement_creator in endorsement_creators {
    -                // Credit the creator of the block with 1 part to stimulate endorsement inclusion of endorsements,
    -                // and dissuade from emitting the block too early (before the endorsements have propageted).
    -                block_producer_credit = block_producer_credit.saturating_add(block_credit_part);
    -
    -                // Credit creator of the endorsement with 1 part to stimulate the production of endorsements.
    -                // This also motivates endorsers to not publish their endorsements too early (will not endorse the right block),
    -                // and to not publish too late (will not be included in the block).
    -                match context.transfer_coins(
    -                    None,
    -                    Some(endorsement_creator),
    -                    block_credit_part,
    -                    false,
    -                ) {
    -                    Ok(_) => {
    -                        #[cfg(feature = "execution-info")]
    -                        exec_info
    -                            .endorsement_creator_rewards
    -                            .insert(endorsement_creator, block_credit_part);
    +            match execution_version {
    +                0 => {
    +                    // Credit endorsement producers and endorsed block producers
    +                    let mut remaining_credit = block_credits;
    +                    let block_credit_part = block_credits
    +                        .checked_div_u64(3 * (1 + (self.config.endorsement_count)))
    +                        .expect("critical: block_credits checked_div factor is 0");
    +
    +                    for endorsement_creator in endorsement_creators {
    +                        // credit creator of the endorsement with coins
    +                        match context.transfer_coins(
    +                            None,
    +                            Some(endorsement_creator),
    +                            block_credit_part,
    +                            false,
    +                        ) {
    +                            Ok(_) => {
    +                                remaining_credit =
    +                                    remaining_credit.saturating_sub(block_credit_part);
    +
    +                                #[cfg(feature = "execution-info")]
    +                                exec_info
    +                                    .endorsement_creator_rewards
    +                                    .insert(endorsement_creator, block_credit_part);
    +                            }
    +                            Err(err) => {
    +                                debug!(
    +                                    "failed to credit {} coins to endorsement creator {} for an endorsed block execution: {}",
    +                                    block_credit_part, endorsement_creator, err
    +                                )
    +                            }
    +                        }
    +
    +                        // credit creator of the endorsed block with coins
    +                        match context.transfer_coins(
    +                            None,
    +                            Some(endorsement_target_creator),
    +                            block_credit_part,
    +                            false,
    +                        ) {
    +                            Ok(_) => {
    +                                remaining_credit =
    +                                    remaining_credit.saturating_sub(block_credit_part);
    +                                #[cfg(feature = "execution-info")]
    +                                {
    +                                    exec_info.endorsement_target_reward =
    +                                        Some((endorsement_target_creator, block_credit_part));
    +                                }
    +                            }
    +                            Err(err) => {
    +                                debug!(
    +                                    "failed to credit {} coins to endorsement target creator {} on block execution: {}",
    +                                    block_credit_part, endorsement_target_creator, err
    +                                )
    +                            }
    +                        }
                         }
    -                    Err(err) => {
    +
    +                    // Credit block creator with remaining_credit
    +                    if let Err(err) = context.transfer_coins(
    +                        None,
    +                        Some(block_creator_addr),
    +                        remaining_credit,
    +                        false,
    +                    ) {
                             debug!(
    -                            "failed to credit {} coins to endorsement creator {} for an endorsed block execution: {}",
    -                            block_credit_part, endorsement_creator, err
    +                            "failed to credit {} coins to block creator {} on block execution: {}",
    +                            remaining_credit, block_creator_addr, err
                             )
    +                    } else {
    +                        #[cfg(feature = "execution-info")]
    +                        {
    +                            exec_info.block_producer_reward =
    +                                Some((block_creator_addr, remaining_credit));
    +                        }
                         }
                     }
    +                _ => {
    +                    // Divide the total block credits into parts + remainder
    +                    let block_credit_part_count = 3 * (1 + self.config.endorsement_count);
    +                    let block_credit_part = block_credits
    +                        .checked_div_u64(block_credit_part_count)
    +                        .expect("critical: block_credits checked_div factor is 0");
    +                    let remainder = block_credits
    +                        .checked_rem_u64(block_credit_part_count)
    +                        .expect("critical: block_credits checked_rem factor is 0");
    +
    +                    // Give 3 parts + remainder to the block producer to stimulate block production
    +                    // even in the absence of endorsements.
    +                    let mut block_producer_credit = block_credit_part
    +                        .saturating_mul_u64(3)
    +                        .saturating_add(remainder);
    +
    +                    for endorsement_creator in endorsement_creators {
    +                        // Credit the creator of the block with 1 part to stimulate endorsement inclusion of endorsements,
    +                        // and dissuade from emitting the block too early (before the endorsements have propageted).
    +                        block_producer_credit =
    +                            block_producer_credit.saturating_add(block_credit_part);
    +
    +                        // Credit creator of the endorsement with 1 part to stimulate the production of endorsements.
    +                        // This also motivates endorsers to not publish their endorsements too early (will not endorse the right block),
    +                        // and to not publish too late (will not be included in the block).
    +                        match context.transfer_coins(
    +                            None,
    +                            Some(endorsement_creator),
    +                            block_credit_part,
    +                            false,
    +                        ) {
    +                            Ok(_) => {
    +                                #[cfg(feature = "execution-info")]
    +                                exec_info
    +                                    .endorsement_creator_rewards
    +                                    .insert(endorsement_creator, block_credit_part);
    +                            }
    +                            Err(err) => {
    +                                debug!(
    +                                    "failed to credit {} coins to endorsement creator {} for an endorsed block execution: {}",
    +                                    block_credit_part, endorsement_creator, err
    +                                )
    +                            }
    +                        }
     
    -                // Credit the creator of the endorsed block with 1 part.
    -                // This is done to incentivize block producers to be endorsed,
    -                // typically by not publishing their blocks too late.
    -                match context.transfer_coins(
    -                    None,
    -                    Some(endorsement_target_creator),
    -                    block_credit_part,
    -                    false,
    -                ) {
    -                    Ok(_) => {
    -                        #[cfg(feature = "execution-info")]
    -                        {
    -                            exec_info.endorsement_target_reward =
    -                                Some((endorsement_target_creator, block_credit_part));
    +                        // Credit the creator of the endorsed block with 1 part.
    +                        // This is done to incentivize block producers to be endorsed,
    +                        // typically by not publishing their blocks too late.
    +                        match context.transfer_coins(
    +                            None,
    +                            Some(endorsement_target_creator),
    +                            block_credit_part,
    +                            false,
    +                        ) {
    +                            Ok(_) => {
    +                                #[cfg(feature = "execution-info")]
    +                                {
    +                                    exec_info.endorsement_target_reward =
    +                                        Some((endorsement_target_creator, block_credit_part));
    +                                }
    +                            }
    +                            Err(err) => {
    +                                debug!(
    +                                    "failed to credit {} coins to endorsement target creator {} on block execution: {}",
    +                                    block_credit_part, endorsement_target_creator, err
    +                                )
    +                            }
                             }
                         }
    -                    Err(err) => {
    +
    +                    // Credit block producer
    +                    if let Err(err) = context.transfer_coins(
    +                        None,
    +                        Some(block_creator_addr),
    +                        block_producer_credit,
    +                        false,
    +                    ) {
                             debug!(
    -                            "failed to credit {} coins to endorsement target creator {} on block execution: {}",
    -                            block_credit_part, endorsement_target_creator, err
    +                            "failed to credit {} coins to block creator {} on block execution: {}",
    +                            block_producer_credit, block_creator_addr, err
                             )
    +                    } else {
    +                        #[cfg(feature = "execution-info")]
    +                        {
    +                            exec_info.block_producer_reward =
    +                                Some((block_creator_addr, block_producer_credit));
    +                        }
                         }
                     }
                 }
    -
    -            // Credit block producer
    -            if let Err(err) =
    -                context.transfer_coins(None, Some(block_creator_addr), block_producer_credit, false)
    -            {
    -                debug!(
    -                    "failed to credit {} coins to block creator {} on block execution: {}",
    -                    block_producer_credit, block_creator_addr, err
    -                )
    -            } else {
    -                #[cfg(feature = "execution-info")]
    -                {
    -                    exec_info.block_producer_reward =
    -                        Some((block_creator_addr, block_producer_credit));
    -                }
    -            }
             } else {
                 // the slot is a miss, check who was supposed to be the creator and update production stats
                 let producer_addr = selector
    @@ -4253,37 +4581,79 @@
                 context_guard!(self).update_production_stats(&producer_addr, *slot, None);
             }
     
    -        // Get asynchronous messages to execute
    -        // The gas available for async messages is the remaining block gas + async remaining gas (max_async - gas used by deferred calls)
    -        let async_msg_gas_available = self
    -            .config
    -            .max_async_gas
    -            .saturating_sub(calls.effective_slot_gas)
    -            .saturating_add(remaining_block_gas);
    -        let messages = context_guard!(self)
    -            .take_async_batch(async_msg_gas_available, self.config.async_msg_cst_gas_cost);
    -
    -        // Try executing asynchronous messages.
    -        // Effects are cancelled on failure and the sender is reimbursed.
    -        for (_message_id, message) in messages {
    -            let opt_bytecode = context_guard!(self).get_bytecode(&message.destination);
    -            match self.execute_async_message(message, opt_bytecode) {
    -                Ok(_message_return) => {
    -                    cfg_if::cfg_if! {
    -                        if #[cfg(feature = "execution-trace")] {
    -                            // Safe to unwrap
    -                            slot_trace.asc_call_stacks.push(_message_return.traces.unwrap().0);
    -                        } else if #[cfg(feature = "execution-info")] {
    -                            slot_trace.asc_call_stacks.push(_message_return.traces.clone().unwrap().0);
    -                            exec_info.async_messages.push(Ok(_message_return));
    +        // Async msg execution
    +
    +        match execution_version {
    +            0 => {
    +                // Get asynchronous messages to execute
    +                let messages = context_guard!(self).take_async_batch_v0(
    +                    self.config.max_async_gas,
    +                    self.config.async_msg_cst_gas_cost,
    +                );
    +
    +                // Try executing asynchronous messages.
    +                // Effects are cancelled on failure and the sender is reimbursed.
    +                for (opt_bytecode, message) in messages {
    +                    match self.execute_async_message(message, opt_bytecode, execution_version) {
    +                        Ok(_message_return) => {
    +                            cfg_if::cfg_if! {
    +                                if #[cfg(feature = "execution-trace")] {
    +                                    // Safe to unwrap
    +                                    slot_trace.asc_call_stacks.push(_message_return.traces.unwrap().0);
    +                                } else if #[cfg(feature = "execution-info")] {
    +                                    slot_trace.asc_call_stacks.push(_message_return.traces.clone().unwrap().0);
    +                                    exec_info.async_messages.push(Ok(_message_return));
    +                                }
    +                            }
    +                        }
    +                        Err(err) => {
    +                            let msg = format!("failed executing async message: {}", err);
    +                            #[cfg(feature = "execution-info")]
    +                            exec_info.async_messages.push(Err(msg.clone()));
    +                            debug!(msg);
                             }
                         }
                     }
    -                Err(err) => {
    -                    let msg = format!("failed executing async message: {}", err);
    -                    #[cfg(feature = "execution-info")]
    -                    exec_info.async_messages.push(Err(msg.clone()));
    -                    debug!(msg);
    +            }
    +            _ => {
    +                // Get asynchronous messages to execute
    +                // The gas available for async messages is the remaining block gas + async remaining gas (max_async - gas used by deferred calls)
    +                let async_msg_gas_available = self
    +                    .config
    +                    .max_async_gas
    +                    .saturating_sub(deferred_calls_slot_gas)
    +                    .saturating_add(remaining_block_gas);
    +
    +                // Get asynchronous messages to execute
    +                let messages = context_guard!(self).take_async_batch_v1(
    +                    async_msg_gas_available,
    +                    self.config.async_msg_cst_gas_cost,
    +                );
    +
    +                // Try executing asynchronous messages.
    +                // Effects are cancelled on failure and the sender is reimbursed.
    +                for (_message_id, message) in messages {
    +                    let opt_bytecode = context_guard!(self).get_bytecode(&message.destination);
    +
    +                    match self.execute_async_message(message, opt_bytecode, execution_version) {
    +                        Ok(_message_return) => {
    +                            cfg_if::cfg_if! {
    +                                if #[cfg(feature = "execution-trace")] {
    +                                    // Safe to unwrap
    +                                    slot_trace.asc_call_stacks.push(_message_return.traces.unwrap().0);
    +                                } else if #[cfg(feature = "execution-info")] {
    +                                    slot_trace.asc_call_stacks.push(_message_return.traces.clone().unwrap().0);
    +                                    exec_info.async_messages.push(Ok(_message_return));
    +                                }
    +                            }
    +                        }
    +                        Err(err) => {
    +                            let msg = format!("failed executing async message: {}", err);
    +                            #[cfg(feature = "execution-info")]
    +                            exec_info.async_messages.push(Err(msg.clone()));
    +                            debug!(msg);
    +                        }
    +                    }
                     }
                 }
             }
    @@ -4510,6 +4880,7 @@
             // run the interpreter according to the target type
             let exec_response = match req.target {
                 ReadOnlyExecutionTarget::BytecodeExecution(bytecode) => {
    +                let condom_limits = execution_context.get_condom_limits();
                     {
                         let mut context = context_guard!(self);
                         *context = execution_context;
    @@ -4523,10 +4894,11 @@
                     }
     
                     // load the tmp module
    -                let module = self
    -                    .module_cache
    -                    .read()
    -                    .load_tmp_module(&bytecode, req.max_gas)?;
    +                let module = self.module_cache.read().load_tmp_module(
    +                    &bytecode,
    +                    req.max_gas,
    +                    condom_limits.clone(),
    +                )?;
     
                     // run the VM
                     massa_sc_runtime::run_main(
    @@ -4534,7 +4906,7 @@
                         module,
                         req.max_gas,
                         self.config.gas_costs.clone(),
    -                    self.config.condom_limits.clone(),
    +                    condom_limits,
                     )
                     .map_err(|error| ExecutionError::VMError {
                         context: "ReadOnlyExecutionTarget::BytecodeExecution".to_string(),
    @@ -4553,6 +4925,7 @@
                         .unwrap_or_default()
                         .0;
     
    +                let condom_limits = execution_context.get_condom_limits();
                     {
                         let mut context = context_guard!(self);
                         *context = execution_context;
    @@ -4577,10 +4950,11 @@
     
                     // load and execute the compiled module
                     // IMPORTANT: do not keep a lock here as `run_function` uses the `get_module` interface
    -                let module = self
    -                    .module_cache
    -                    .write()
    -                    .load_module(&bytecode, req.max_gas)?;
    +                let module = self.module_cache.write().load_module(
    +                    &bytecode,
    +                    req.max_gas,
    +                    condom_limits.clone(),
    +                )?;
     
                     let response = massa_sc_runtime::run_function(
                         &*self.execution_interface,
    @@ -4589,7 +4963,7 @@
                         &parameter,
                         req.max_gas,
                         self.config.gas_costs.clone(),
    -                    self.config.condom_limits.clone(),
    +                    condom_limits,
                     );
     
                     match response {
    diff --git a/src/massa_execution_worker/interface_impl.rs.html b/src/massa_execution_worker/interface_impl.rs.html
    index d92470d917..fce4844100 100644
    --- a/src/massa_execution_worker/interface_impl.rs.html
    +++ b/src/massa_execution_worker/interface_impl.rs.html
    @@ -2335,6 +2335,94 @@
     2335
     2336
     2337
    +2338
    +2339
    +2340
    +2341
    +2342
    +2343
    +2344
    +2345
    +2346
    +2347
    +2348
    +2349
    +2350
    +2351
    +2352
    +2353
    +2354
    +2355
    +2356
    +2357
    +2358
    +2359
    +2360
    +2361
    +2362
    +2363
    +2364
    +2365
    +2366
    +2367
    +2368
    +2369
    +2370
    +2371
    +2372
    +2373
    +2374
    +2375
    +2376
    +2377
    +2378
    +2379
    +2380
    +2381
    +2382
    +2383
    +2384
    +2385
    +2386
    +2387
    +2388
    +2389
    +2390
    +2391
    +2392
    +2393
    +2394
    +2395
    +2396
    +2397
    +2398
    +2399
    +2400
    +2401
    +2402
    +2403
    +2404
    +2405
    +2406
    +2407
    +2408
    +2409
    +2410
    +2411
    +2412
    +2413
    +2414
    +2415
    +2416
    +2417
    +2418
    +2419
    +2420
    +2421
    +2422
    +2423
    +2424
    +2425
     
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! Implementation of the interface between massa-execution-worker and massa-sc-runtime.
    @@ -2438,7 +2526,10 @@
             use massa_module_cache::{config::ModuleCacheConfig, controller::ModuleCache};
             use massa_pos_exports::SelectorConfig;
             use massa_pos_worker::start_selector_worker;
    -        use massa_versioning::versioning::{MipStatsConfig, MipStore};
    +        use massa_versioning::{
    +            mips::get_mip_list,
    +            versioning::{MipStatsConfig, MipStore},
    +        };
             use parking_lot::RwLock;
             use tempfile::TempDir;
     
    @@ -2480,8 +2571,8 @@
                 block_count_considered: MIP_STORE_STATS_BLOCK_CONSIDERED,
                 warn_announced_version_ratio: Ratio::new_raw(30, 100),
             };
    -        let mip_store =
    -            MipStore::try_from(([], mip_stats_config)).expect("Cannot create an empty MIP store");
    +        let mip_store = MipStore::try_from((get_mip_list(), mip_stats_config))
    +            .expect("Cannot create an empty MIP store");
     
             let mut execution_context = ExecutionContext::new(
                 config.clone(),
    @@ -2569,12 +2660,21 @@
             Ok(())
         }
     
    +    fn get_interface_version(&self) -> Result<u32> {
    +        let context = context_guard!(self);
    +        Ok(context.execution_component_version)
    +    }
    +
         fn increment_recursion_counter(&self) -> Result<()> {
    +        let execution_component_version = self.get_interface_version()?;
    +
             let mut context = context_guard!(self);
     
             context.recursion_counter += 1;
     
    -        if context.recursion_counter > self.config.max_recursive_calls_depth {
    +        if execution_component_version > 0
    +            && context.recursion_counter > self.config.max_recursive_calls_depth
    +        {
                 bail!("recursion depth limit reached");
             }
     
    @@ -2669,10 +2769,15 @@
         /// # Returns
         /// A `massa-sc-runtime` CL compiled module & the remaining gas after loading the module
         fn get_module(&self, bytecode: &[u8], gas_limit: u64) -> Result<RuntimeModule> {
    -        Ok((context_guard!(self))
    +        let context = context_guard!(self);
    +        let condom_limits = context.get_condom_limits();
    +
    +        let ret = context
                 .module_cache
                 .write()
    -            .load_module(bytecode, gas_limit)?)
    +            .load_module(bytecode, gas_limit, condom_limits)?;
    +
    +        Ok(ret)
         }
     
         /// Compile and return a temporary module
    @@ -2680,10 +2785,16 @@
         /// # Returns
         /// A `massa-sc-runtime` SP compiled module & the remaining gas after loading the module
         fn get_tmp_module(&self, bytecode: &[u8], gas_limit: u64) -> Result<RuntimeModule> {
    -        Ok((context_guard!(self))
    -            .module_cache
    -            .write()
    -            .load_tmp_module(bytecode, gas_limit)?)
    +        let context = context_guard!(self);
    +        let condom_limits = context.get_condom_limits();
    +
    +        let ret =
    +            context
    +                .module_cache
    +                .write()
    +                .load_tmp_module(bytecode, gas_limit, condom_limits)?;
    +
    +        Ok(ret)
         }
     
         /// Gets the balance of the current address address (top of the stack).
    @@ -3242,13 +3353,21 @@
             signature_: &[u8],
             public_key_: &[u8],
         ) -> Result<bool> {
    +        let execution_component_version = self.get_interface_version()?;
    +
             // check the signature length
             if signature_.len() != 65 {
                 return Err(anyhow!("invalid signature length in evm_signature_verify"));
             }
     
             // parse the public key
    -        let public_key = libsecp256k1::PublicKey::parse_slice(public_key_, None)?;
    +        let public_key = match execution_component_version {
    +            0 => libsecp256k1::PublicKey::parse_slice(
    +                public_key_,
    +                Some(libsecp256k1::PublicKeyFormat::Raw),
    +            )?,
    +            _ => libsecp256k1::PublicKey::parse_slice(public_key_, None)?,
    +        };
     
             // build the message
             let prefix = format!("\x19Ethereum Signed Message:\n{}", message_.len());
    @@ -3262,34 +3381,36 @@
             // s is the signature proof for R.x (32 bytes)
             // v is a recovery parameter used to ease the signature verification (1 byte)
             // see test_evm_verify for an example of its usage
    -        let recovery_id: u8 = libsecp256k1::RecoveryId::parse_rpc(signature_[64])?.into();
    -        // Note: parse_rpc returns p - 27 and allow for 27, 28, 29, 30
    -        //       restrict to only 27 & 28 (=> 0 & 1)
    -        if recovery_id != 0 && recovery_id != 1 {
    -            // Note:
    -            // The v value in an EVM signature serves as a recovery ID,
    -            // aiding in the recovery of the public key from the signature.
    -            // Typically, v should be either 27 or 28
    -            // (or sometimes 0 or 1, depending on the implementation).
    -            // Ensuring that v is within the expected range is crucial
    -            // for correctly recovering the public key.
    -            // the Ethereum yellow paper specifies only 27 and 28, requiring additional checks.
    -            return Err(anyhow!(
    -                "invalid recovery id value (v = {recovery_id}) in evm_signature_verify"
    -            ));
    -        }
    +        let signature = libsecp256k1::Signature::parse_standard_slice(&signature_[..64])?;
     
    -        let signature = libsecp256k1::Signature::parse_standard_slice(&signature_[..64])?;
    +        if execution_component_version != 0 {
    +            let recovery_id: u8 = libsecp256k1::RecoveryId::parse_rpc(signature_[64])?.into();
    +            // Note: parse_rpc returns p - 27 and allow for 27, 28, 29, 30
    +            //       restrict to only 27 & 28 (=> 0 & 1)
    +            if recovery_id != 0 && recovery_id != 1 {
    +                // Note:
    +                // The v value in an EVM signature serves as a recovery ID,
    +                // aiding in the recovery of the public key from the signature.
    +                // Typically, v should be either 27 or 28
    +                // (or sometimes 0 or 1, depending on the implementation).
    +                // Ensuring that v is within the expected range is crucial
    +                // for correctly recovering the public key.
    +                // the Ethereum yellow paper specifies only 27 and 28, requiring additional checks.
    +                return Err(anyhow!(
    +                    "invalid recovery id value (v = {recovery_id}) in evm_signature_verify"
    +                ));
    +            }
     
    -        // Note:
    -        // The s value in an EVM signature should be in the lower half of the elliptic curve
    -        // in order to prevent malleability attacks.
    -        // If s is in the high-order range, it can be converted to its low-order equivalent,
    -        // which should be enforced during signature verification.
    -        if signature.s.is_high() {
    -            return Err(anyhow!(
    -                "High-Order s Value are prohibited in evm_get_pubkey_from_signature"
    -            ));
    +            // Note:
    +            // The s value in an EVM signature should be in the lower half of the elliptic curve
    +            // in order to prevent malleability attacks.
    +            // If s is in the high-order range, it can be converted to its low-order equivalent,
    +            // which should be enforced during signature verification.
    +            if signature.s.is_high() {
    +                return Err(anyhow!(
    +                    "High-Order s Value are prohibited in evm_get_pubkey_from_signature"
    +                ));
    +            }
             }
     
             // verify the signature
    @@ -3304,11 +3425,25 @@
         /// Get an EVM address from a raw secp256k1 public key (64 bytes).
         /// Address is the last 20 bytes of the hash of the public key.
         fn evm_get_address_from_pubkey(&self, public_key_: &[u8]) -> Result<Vec<u8>> {
    -        // parse the public key
    -        let public_key = libsecp256k1::PublicKey::parse_slice(public_key_, None)?;
    -
    -        // compute the hash of the public key
    -        let hash = sha3::Keccak256::digest(&public_key.serialize()[1..]);
    +        let execution_component_version = self.get_interface_version()?;
    +
    +        let hash = match execution_component_version {
    +            0 => {
    +                // parse the public key
    +                let public_key = libsecp256k1::PublicKey::parse_slice(
    +                    public_key_,
    +                    Some(libsecp256k1::PublicKeyFormat::Raw),
    +                )?;
    +                // compute the hash of the public key
    +                sha3::Keccak256::digest(public_key.serialize())
    +            }
    +            _ => {
    +                // parse the public key
    +                let public_key = libsecp256k1::PublicKey::parse_slice(public_key_, None)?;
    +                // compute the hash of the public key
    +                sha3::Keccak256::digest(&public_key.serialize()[1..])
    +            }
    +        };
     
             // ignore the first 12 bytes of the hash
             let address = hash[12..].to_vec();
    @@ -3319,6 +3454,8 @@
     
         /// Get a raw secp256k1 public key from an EVM signature and the signed hash.
         fn evm_get_pubkey_from_signature(&self, hash_: &[u8], signature_: &[u8]) -> Result<Vec<u8>> {
    +        let execution_component_version = self.get_interface_version()?;
    +
             // check the signature length
             if signature_.len() != 65 {
                 return Err(anyhow!(
    @@ -3326,37 +3463,58 @@
                 ));
             }
     
    -        // parse the message
    -        let message = libsecp256k1::Message::parse_slice(hash_)?;
    +        match execution_component_version {
    +            0 => {
    +                // parse the message
    +                let message = libsecp256k1::Message::parse_slice(hash_).unwrap();
     
    -        // parse the signature as being (r, s, v) use only r and s
    -        let signature = libsecp256k1::Signature::parse_standard_slice(&signature_[..64])?;
    +                // parse the signature as being (r, s, v) use only r and s
    +                let signature =
    +                    libsecp256k1::Signature::parse_standard_slice(&signature_[..64]).unwrap();
     
    -        // Note:
    -        // See evm_signature_verify explanation
    -        if signature.s.is_high() {
    -            return Err(anyhow!(
    -                "High-Order s Value are prohibited in evm_get_pubkey_from_signature"
    -            ));
    -        }
    +                // parse v as a recovery id
    +                let recovery_id = libsecp256k1::RecoveryId::parse_rpc(signature_[64]).unwrap();
     
    -        // parse v as a recovery id
    -        let recovery_id = libsecp256k1::RecoveryId::parse_rpc(signature_[64])?;
    +                // recover the public key
    +                let recovered = libsecp256k1::recover(&message, &signature, &recovery_id).unwrap();
     
    -        let recovery_id_: u8 = recovery_id.into();
    -        if recovery_id_ != 0 && recovery_id_ != 1 {
    -            // Note:
    -            // See evm_signature_verify explanation
    -            return Err(anyhow!(
    -                "invalid recovery id value (v = {recovery_id_}) in evm_get_pubkey_from_signature"
    -            ));
    +                // return its serialized value
    +                Ok(recovered.serialize().to_vec())
    +            }
    +            _ => {
    +                // parse the message
    +                let message = libsecp256k1::Message::parse_slice(hash_)?;
    +
    +                // parse the signature as being (r, s, v) use only r and s
    +                let signature = libsecp256k1::Signature::parse_standard_slice(&signature_[..64])?;
    +
    +                // Note:
    +                // See evm_signature_verify explanation
    +                if signature.s.is_high() {
    +                    return Err(anyhow!(
    +                        "High-Order s Value are prohibited in evm_get_pubkey_from_signature"
    +                    ));
    +                }
    +
    +                // parse v as a recovery id
    +                let recovery_id = libsecp256k1::RecoveryId::parse_rpc(signature_[64])?;
    +
    +                let recovery_id_: u8 = recovery_id.into();
    +                if recovery_id_ != 0 && recovery_id_ != 1 {
    +                    // Note:
    +                    // See evm_signature_verify explanation
    +                    return Err(anyhow!(
    +                        "invalid recovery id value (v = {recovery_id_}) in evm_get_pubkey_from_signature"
    +                    ));
    +                }
    +
    +                // recover the public key
    +                let recovered = libsecp256k1::recover(&message, &signature, &recovery_id)?;
    +
    +                // return its serialized value
    +                Ok(recovered.serialize().to_vec())
    +            }
             }
    -
    -        // recover the public key
    -        let recovered = libsecp256k1::recover(&message, &signature, &recovery_id)?;
    -
    -        // return its serialized value
    -        Ok(recovered.serialize().to_vec())
         }
     
         // Return true if the address is a User address, false if it is an SC address.
    @@ -3483,7 +3641,13 @@
         ///
         /// [DeprecatedByNewRuntime] Replaced by `get_current_slot`
         fn generate_event(&self, data: String) -> Result<()> {
    -        if data.len() > self.config.max_event_size {
    +        let execution_component_version = self.get_interface_version()?;
    +        let max_event_size = match execution_component_version {
    +            0 => self.config.max_event_size_v0,
    +            _ => self.config.max_event_size_v1,
    +        };
    +
    +        if data.len() > max_event_size {
                 bail!("Event data size is too large");
             };
     
    @@ -3499,14 +3663,15 @@
                 is_final: None,
                 is_error: None,
             };
    -        let event_per_op = context
    -            .events
    -            .get_filtered_sc_output_events_iter(&event_filter)
    -            .count();
    -        if event_per_op >= self.config.max_event_per_operation {
    -            bail!("Too many event for this operation");
    +        if execution_component_version > 0 {
    +            let event_per_op = context
    +                .events
    +                .get_filtered_sc_output_events_iter(&event_filter)
    +                .count();
    +            if event_per_op >= self.config.max_event_per_operation {
    +                bail!("Too many event for this operation");
    +            }
             }
    -
             context.event_emit(event);
             Ok(())
         }
    @@ -3516,7 +3681,13 @@
         /// # Arguments:
         /// data: the bytes_array data that is the payload of the event
         fn generate_event_wasmv1(&self, data: Vec<u8>) -> Result<()> {
    -        if data.len() > self.config.max_event_size {
    +        let execution_component_version = self.get_interface_version()?;
    +        let max_event_size = match execution_component_version {
    +            0 => self.config.max_event_size_v0,
    +            _ => self.config.max_event_size_v1,
    +        };
    +
    +        if data.len() > max_event_size {
                 bail!("Event data size is too large");
             };
     
    @@ -3533,14 +3704,15 @@
                 is_final: None,
                 is_error: None,
             };
    -        let event_per_op = context
    -            .events
    -            .get_filtered_sc_output_events_iter(&event_filter)
    -            .count();
    -        if event_per_op >= self.config.max_event_per_operation {
    -            bail!("Too many event for this operation");
    +        if execution_component_version > 0 {
    +            let event_per_op = context
    +                .events
    +                .get_filtered_sc_output_events_iter(&event_filter)
    +                .count();
    +            if event_per_op >= self.config.max_event_per_operation {
    +                bail!("Too many event for this operation");
    +            }
             }
    -
             context.event_emit(event);
     
             Ok(())
    @@ -3624,10 +3796,6 @@
                 bail!("validity end thread exceeds the configuration thread count")
             }
     
    -        if max_gas < self.config.gas_costs.max_instance_cost {
    -            bail!("max gas is lower than the minimum instance cost")
    -        }
    -
             let target_addr = Address::from_str(target_address)?;
     
             // check that the target address is an SC address
    @@ -3646,12 +3814,19 @@
             let mut execution_context = context_guard!(self);
             let emission_slot = execution_context.slot;
     
    -        if Slot::new(validity_end.0, validity_end.1) < Slot::new(validity_start.0, validity_start.1)
    -        {
    -            bail!("validity end is earlier than the validity start")
    -        }
    -        if Slot::new(validity_end.0, validity_end.1) < emission_slot {
    -            bail!("validity end is earlier than the current slot")
    +        let execution_component_version = execution_context.execution_component_version;
    +        if execution_component_version > 0 {
    +            if max_gas < self.config.gas_costs.max_instance_cost {
    +                bail!("max gas is lower than the minimum instance cost")
    +            }
    +            if Slot::new(validity_end.0, validity_end.1)
    +                < Slot::new(validity_start.0, validity_start.1)
    +            {
    +                bail!("validity end is earlier than the validity start")
    +            }
    +            if Slot::new(validity_end.0, validity_end.1) < emission_slot {
    +                bail!("validity end is earlier than the current slot")
    +            }
             }
     
             let emission_index = execution_context.created_message_index;
    @@ -3799,9 +3974,7 @@
             params_size: u64,
         ) -> Result<(bool, u64)> {
             // write-lock context
    -
             let context = context_guard!(self);
    -
             let current_slot = context.slot;
     
             let target_slot = Slot::new(target_slot.0, target_slot.1);
    @@ -3902,8 +4075,9 @@
         /// true if the call exists, false otherwise
         fn deferred_call_exists(&self, id: &str) -> Result<bool> {
             // write-lock context
    -        let call_id = DeferredCallId::from_str(id)?;
    -        let context = context_guard!(self);
    +        let context = context_guard!(self);
    +
    +        let call_id = DeferredCallId::from_str(id)?;
             Ok(context.deferred_call_exists(&call_id))
         }
     
    @@ -4098,11 +4272,18 @@
     
         fn get_address_category_wasmv1(&self, to_check: &str) -> Result<AddressCategory> {
             let addr = Address::from_str(to_check)?;
    -        match addr {
    -            Address::User(_) => Ok(AddressCategory::UserAddress),
    -            Address::SC(_) => Ok(AddressCategory::ScAddress),
    +        let execution_component_version = context_guard!(self).execution_component_version;
    +
    +        // Fixed behavior for this ABI in https://github.com/massalabs/massa/pull/4728
    +        // We keep the previous (bugged) code if the execution component version is 0
    +        // to avoid a breaking change
    +        match (addr, execution_component_version) {
    +            (Address::User(_), 0) => Ok(AddressCategory::ScAddress),
    +            (Address::SC(_), 0) => Ok(AddressCategory::UserAddress),
    +            (Address::User(_), _) => Ok(AddressCategory::UserAddress),
    +            (Address::SC(_), _) => Ok(AddressCategory::ScAddress),
                 #[allow(unreachable_patterns)]
    -            _ => Ok(AddressCategory::Unspecified),
    +            (_, _) => Ok(AddressCategory::Unspecified),
             }
         }
     
    @@ -4282,11 +4463,6 @@
                 }
             }
         }
    -
    -    /// Interface version to sync with the runtime for its versioning
    -    fn get_interface_version(&self) -> Result<u32> {
    -        Ok(1)
    -    }
     }
     
     #[cfg(test)]
    diff --git a/src/massa_execution_worker/speculative_async_pool.rs.html b/src/massa_execution_worker/speculative_async_pool.rs.html
    index 7ecf7e120d..1f6cf0ab0e 100644
    --- a/src/massa_execution_worker/speculative_async_pool.rs.html
    +++ b/src/massa_execution_worker/speculative_async_pool.rs.html
    @@ -397,6 +397,68 @@
     397
     398
     399
    +400
    +401
    +402
    +403
    +404
    +405
    +406
    +407
    +408
    +409
    +410
    +411
    +412
    +413
    +414
    +415
    +416
    +417
    +418
    +419
    +420
    +421
    +422
    +423
    +424
    +425
    +426
    +427
    +428
    +429
    +430
    +431
    +432
    +433
    +434
    +435
    +436
    +437
    +438
    +439
    +440
    +441
    +442
    +443
    +444
    +445
    +446
    +447
    +448
    +449
    +450
    +451
    +452
    +453
    +454
    +455
    +456
    +457
    +458
    +459
    +460
    +461
     

    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! The speculative asynchronous pool represents the state of
    @@ -409,8 +471,13 @@
     };
     use massa_final_state::FinalStateController;
     use massa_ledger_exports::LedgerChanges;
    -use massa_models::slot::Slot;
     use massa_models::types::{Applicable, SetUpdateOrDelete};
    +use massa_models::{
    +    config::{GENESIS_TIMESTAMP, T0, THREAD_COUNT},
    +    slot::Slot,
    +    timeslots::get_block_slot_timestamp,
    +};
    +use massa_versioning::versioning::MipComponent;
     use parking_lot::RwLock;
     use std::{
         collections::{BTreeMap, HashMap},
    @@ -530,6 +597,7 @@
                         &slot,
                         &message_info.validity_start,
                         &message_info.validity_end,
    +                    self.get_execution_component_version(&slot),
                     )
                     && message_info.can_be_executed
                 {
    @@ -539,7 +607,11 @@
                 }
             }
     
    -        let taken = self.fetch_msgs(wanted_messages, true);
    +        let taken = self.fetch_msgs(
    +            wanted_messages,
    +            true,
    +            self.get_execution_component_version(&slot),
    +        );
     
             for (message_id, _) in taken.iter() {
                 self.message_infos.remove(message_id);
    @@ -561,14 +633,17 @@
             &mut self,
             slot: &Slot,
             ledger_changes: &LedgerChanges,
    +        fix_eliminated_msg: bool,
         ) -> Vec<(AsyncMessageId, AsyncMessage)> {
    +        let execution_component_version = self.get_execution_component_version(slot);
    +
             // Update the messages_info: remove messages that should be removed
             // Filter out all messages for which the validity end is expired.
             // Note: that the validity_end bound is included in the validity interval of the message.
     
             let mut eliminated_infos = Vec::new();
             self.message_infos.retain(|id, info| {
    -            if Self::is_message_expired(slot, &info.validity_end) {
    +            if Self::is_message_expired(slot, &info.validity_end, execution_component_version) {
                     eliminated_infos.push((*id, info.clone()));
                     false
                 } else {
    @@ -579,7 +654,11 @@
             let mut eliminated_new_messages = Vec::new();
             self.pool_changes.0.retain(|k, v| match v {
                 SetUpdateOrDelete::Set(message) => {
    -                if Self::is_message_expired(slot, &message.validity_end) {
    +                if Self::is_message_expired(
    +                    slot,
    +                    &message.validity_end,
    +                    execution_component_version,
    +                ) {
                         eliminated_new_messages.push((*k, v.clone()));
                         false
                     } else {
    @@ -619,22 +698,29 @@
             }
     
             // Query triggered messages
    -        let triggered_msg =
    -            self.fetch_msgs(triggered_info.iter().map(|(id, _)| id).collect(), false);
    +        let triggered_msg = self.fetch_msgs(
    +            triggered_info.iter().map(|(id, _)| id).collect(),
    +            false,
    +            execution_component_version,
    +        );
     
             for (msg_id, _msg) in triggered_msg.iter() {
                 self.pool_changes.push_activate(*msg_id);
             }
     
             // Query eliminated messages
    -        let mut eliminated_msg =
    -            self.fetch_msgs(eliminated_infos.iter().map(|(id, _)| id).collect(), true);
    -
    -        eliminated_msg.extend(eliminated_new_messages.iter().filter_map(|(k, v)| match v {
    -            SetUpdateOrDelete::Set(v) => Some((*k, v.clone())),
    -            SetUpdateOrDelete::Update(_v) => None,
    -            SetUpdateOrDelete::Delete => None,
    -        }));
    +        let mut eliminated_msg = self.fetch_msgs(
    +            eliminated_infos.iter().map(|(id, _)| id).collect(),
    +            true,
    +            execution_component_version,
    +        );
    +        if fix_eliminated_msg {
    +            eliminated_msg.extend(eliminated_new_messages.iter().filter_map(|(k, v)| match v {
    +                SetUpdateOrDelete::Set(v) => Some((*k, v.clone())),
    +                SetUpdateOrDelete::Update(_v) => None,
    +                SetUpdateOrDelete::Delete => None,
    +            }));
    +        }
             eliminated_msg
         }
     
    @@ -642,6 +728,7 @@
             &mut self,
             mut wanted_ids: Vec<&AsyncMessageId>,
             delete_existing: bool,
    +        execution_component_version: u32,
         ) -> Vec<(AsyncMessageId, AsyncMessage)> {
             let mut msgs = Vec::new();
     
    @@ -676,6 +763,7 @@
                 match self.active_history.read().fetch_message(
                     message_id,
                     current_changes.get(message_id).cloned().unwrap_or_default(),
    +                execution_component_version,
                 ) {
                     Present(SetUpdateOrDelete::Set(mut msg)) => {
                         msg.apply(current_changes.get(message_id).cloned().unwrap_or_default());
    @@ -687,7 +775,14 @@
                     }
                     Present(SetUpdateOrDelete::Update(msg_update)) => {
                         current_changes.entry(message_id).and_modify(|e| {
    -                        *e = msg_update.clone();
    +                        match execution_component_version {
    +                            0 => {
    +                                e.apply(msg_update.clone());
    +                            }
    +                            _ => {
    +                                *e = msg_update.clone();
    +                            }
    +                        }
                         });
                         return true;
                     }
    @@ -717,12 +812,29 @@
             msgs
         }
     
    +    fn get_execution_component_version(&self, slot: &Slot) -> u32 {
    +        let ts = get_block_slot_timestamp(THREAD_COUNT, T0, *GENESIS_TIMESTAMP, *slot)
    +            .expect("Time overflow when getting block slot timestamp for MIP");
    +
    +        self.final_state
    +            .read()
    +            .get_mip_store()
    +            .get_latest_component_version_at(&MipComponent::Execution, ts)
    +    }
    +
         /// Return true if a message (given its validity end) is expired
         /// Must be consistent with is_message_valid
    -    fn is_message_expired(slot: &Slot, message_validity_end: &Slot) -> bool {
    +    fn is_message_expired(
    +        slot: &Slot,
    +        message_validity_end: &Slot,
    +        execution_component_version: u32,
    +    ) -> bool {
             // Note: SecureShareOperation.get_validity_range(...) returns RangeInclusive
             //       (for operation validity) so apply the same rule for message validity
    -        *slot > *message_validity_end
    +        match execution_component_version {
    +            0 => *slot >= *message_validity_end,
    +            _ => *slot > *message_validity_end,
    +        }
         }
     
         /// Return true if a message (given its validity_start & validity end) is ready to execute
    @@ -731,10 +843,14 @@
             slot: &Slot,
             message_validity_start: &Slot,
             message_validity_end: &Slot,
    +        execution_component_version: u32,
         ) -> bool {
             // Note: SecureShareOperation.get_validity_range(...) returns RangeInclusive
             //       (for operation validity) so apply the same rule for message validity
    -        slot >= message_validity_start && slot <= message_validity_end
    +        match execution_component_version {
    +            0 => slot >= message_validity_start && slot < message_validity_end,
    +            _ => slot >= message_validity_start && slot <= message_validity_end,
    +        }
         }
     }
     
    @@ -757,43 +873,51 @@
     
             assert!(!SpeculativeAsyncPool::is_message_expired(
                 &slot1,
    -            &slot_validity_end
    -        ));
    +            &slot_validity_end,
    +            1
    +        ));
             assert!(SpeculativeAsyncPool::is_message_ready_to_execute(
                 &slot1,
                 &slot_validity_start,
    -            &slot_validity_end
    -        ));
    +            &slot_validity_end,
    +            1
    +        ));
     
             assert!(!SpeculativeAsyncPool::is_message_expired(
                 &slot_validity_start,
    -            &slot_validity_end
    -        ));
    +            &slot_validity_end,
    +            1
    +        ));
             assert!(SpeculativeAsyncPool::is_message_ready_to_execute(
                 &slot_validity_start,
                 &slot_validity_start,
    -            &slot_validity_end
    -        ));
    +            &slot_validity_end,
    +            1
    +        ));
     
             assert!(!SpeculativeAsyncPool::is_message_expired(
                 &slot_validity_end,
    -            &slot_validity_end
    -        ));
    +            &slot_validity_end,
    +            1
    +        ));
             assert!(SpeculativeAsyncPool::is_message_ready_to_execute(
                 &slot_validity_end,
                 &slot_validity_start,
    -            &slot_validity_end
    -        ));
    +            &slot_validity_end,
    +            1
    +        ));
     
             assert!(SpeculativeAsyncPool::is_message_expired(
                 &slot2,
    -            &slot_validity_end
    -        ));
    +            &slot_validity_end,
    +            1
    +        ));
             assert!(!SpeculativeAsyncPool::is_message_ready_to_execute(
                 &slot2,
                 &slot_validity_start,
    -            &slot_validity_end
    -        ));
    +            &slot_validity_end,
    +            1
    +        ));
         }
     }
     

    \ No newline at end of file diff --git a/src/massa_execution_worker/speculative_ledger.rs.html b/src/massa_execution_worker/speculative_ledger.rs.html index eb81218485..a0cb23c8c3 100644 --- a/src/massa_execution_worker/speculative_ledger.rs.html +++ b/src/massa_execution_worker/speculative_ledger.rs.html @@ -659,6 +659,40 @@ 659 660 661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! The speculative ledger represents, in a compressed way,
    @@ -805,6 +839,7 @@
             from_addr: Option<Address>,
             to_addr: Option<Address>,
             amount: Amount,
    +        execution_component_version: u32,
         ) -> Result<(), ExecutionError> {
             // init empty ledger changes
             let mut changes = LedgerChanges::default();
    @@ -838,7 +873,7 @@
                         ))
                     })?;
                     changes.set_balance(to_addr, new_balance);
    -            } else if matches!(to_addr, Address::SC(..)) {
    +            } else if execution_component_version > 0 && matches!(to_addr, Address::SC(..)) {
                     return Err(ExecutionError::RuntimeError(format!(
                         "cannot transfer coins to non-existing smart contract address {}",
                         to_addr
    @@ -897,6 +932,7 @@
             creator_address: Address,
             addr: Address,
             bytecode: Bytecode,
    +        execution_component_version: u32,
         ) -> Result<(), ExecutionError> {
             // check for address existence
             if !self.entry_exists(&creator_address) {
    @@ -944,7 +980,12 @@
                     ExecutionError::RuntimeError("overflow in ledger cost for bytecode".to_string())
                 })?;
     
    -        self.transfer_coins(Some(creator_address), None, address_storage_cost)?;
    +        self.transfer_coins(
    +            Some(creator_address),
    +            None,
    +            address_storage_cost,
    +            execution_component_version,
    +        )?;
             self.added_changes.create_address(&addr);
             self.added_changes.set_bytecode(addr, bytecode);
             Ok(())
    @@ -962,6 +1003,7 @@
             caller_addr: &Address,
             addr: &Address,
             bytecode: Bytecode,
    +        execution_component_version: u32,
         ) -> Result<(), ExecutionError> {
             // check for address existence
             if !self.entry_exists(addr) {
    @@ -991,8 +1033,18 @@
                     })?;
     
                 match diff_size_storage.signum() {
    -                1 => self.transfer_coins(Some(*caller_addr), None, storage_cost_bytecode)?,
    -                -1 => self.transfer_coins(None, Some(*caller_addr), storage_cost_bytecode)?,
    +                1 => self.transfer_coins(
    +                    Some(*caller_addr),
    +                    None,
    +                    storage_cost_bytecode,
    +                    execution_component_version,
    +                )?,
    +                -1 => self.transfer_coins(
    +                    None,
    +                    Some(*caller_addr),
    +                    storage_cost_bytecode,
    +                    execution_component_version,
    +                )?,
                     _ => {}
                 };
             } else {
    @@ -1005,7 +1057,12 @@
                             "overflow when calculating storage cost of bytecode".to_string(),
                         )
                     })?;
    -            self.transfer_coins(Some(*caller_addr), None, bytecode_storage_cost)?;
    +            self.transfer_coins(
    +                Some(*caller_addr),
    +                None,
    +                bytecode_storage_cost,
    +                execution_component_version,
    +            )?;
             }
             // set the bytecode of that address
             self.added_changes.set_bytecode(*addr, bytecode);
    @@ -1189,6 +1246,7 @@
             caller_addr: &Address,
             old_key_value: Option<(&[u8], &[u8])>,
             new_key_value: Option<(&[u8], &[u8])>,
    +        execution_component_version: u32,
         ) -> Result<(), ExecutionError> {
             // compute the old storage cost of the entry
             let old_storage_cost = old_key_value.map_or_else(
    @@ -1210,6 +1268,7 @@
                         Some(*caller_addr),
                         None,
                         new_storage_cost.saturating_sub(old_storage_cost),
    +                    execution_component_version,
                     )
                 }
                 Ordering::Less => {
    @@ -1218,6 +1277,7 @@
                         None,
                         Some(*caller_addr),
                         old_storage_cost.saturating_sub(new_storage_cost),
    +                    execution_component_version,
                     )
                 }
                 Ordering::Equal => {
    @@ -1248,6 +1308,7 @@
             addr: &Address,
             key: Vec<u8>,
             value: Vec<u8>,
    +        execution_component_version: u32,
         ) -> Result<(), ExecutionError> {
             // check for address existence
             if !self.entry_exists(addr) {
    @@ -1281,6 +1342,7 @@
                     caller_addr,
                     prev_value.as_ref().map(|v| (&key[..], &v[..])),
                     Some((&key, &value)),
    +                execution_component_version,
                 )?;
             }
     
    @@ -1302,11 +1364,17 @@
             caller_addr: &Address,
             addr: &Address,
             key: &[u8],
    +        execution_component_version: u32,
         ) -> Result<(), ExecutionError> {
             // check if the entry exists
             if let Some(value) = self.get_data_entry(addr, key) {
                 // reimburse the storage costs of the entry
    -            self.charge_datastore_entry_change_storage(caller_addr, Some((key, &value)), None)?;
    +            self.charge_datastore_entry_change_storage(
    +                caller_addr,
    +                Some((key, &value)),
    +                None,
    +                execution_component_version,
    +            )?;
             } else {
                 return Err(ExecutionError::RuntimeError(format!(
                     "could not delete data entry {:?} for address {}: entry or address does not exist",
    diff --git a/src/massa_final_state/final_state.rs.html b/src/massa_final_state/final_state.rs.html
    index 9cafa87d5b..a4b1a2d084 100644
    --- a/src/massa_final_state/final_state.rs.html
    +++ b/src/massa_final_state/final_state.rs.html
    @@ -1341,6 +1341,19 @@
     1341
     1342
     1343
    +1344
    +1345
    +1346
    +1347
    +1348
    +1349
    +1350
    +1351
    +1352
    +1353
    +1354
    +1355
    +1356
     
    //! Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! This file defines the final state of the node, which includes
    @@ -1369,7 +1382,7 @@
     use massa_models::timeslots::get_block_slot_timestamp;
     use massa_models::types::SetOrKeep;
     use massa_pos_exports::{PoSFinalState, SelectorController};
    -use massa_versioning::versioning::MipStore;
    +use massa_versioning::versioning::{MipComponent, MipStore};
     use tracing::{debug, info, warn};
     
     /// Represents a final state `(ledger, async pool, executed_ops, executed_de and the state of the PoS)`
    @@ -1778,9 +1791,19 @@
             // check slot consistency
             let next_slot = cur_slot.get_next_slot(self.config.thread_count)?;
     
    -        // .expect("overflow in execution state slot");
    +        let ts = get_block_slot_timestamp(
    +            self.config.thread_count,
    +            self.config.t0,
    +            self.config.genesis_timestamp,
    +            slot,
    +        )
    +        .expect("Time overflow when getting block slot timestamp for MIP");
    +
    +        let final_state_component_version = self
    +            .get_mip_store()
    +            .get_latest_component_version_at(&MipComponent::FinalState, ts);
     
    -        if slot != next_slot {
    +        if slot != next_slot {
                 return Err(anyhow!(
                     "attempting to apply execution state changes at slot {} while the current slot is {}",
                     slot, cur_slot
    @@ -1799,8 +1822,11 @@
     
             // do not panic above, it might just mean that the lookback cycle is not available
             // bootstrap again instead
    -        self.ledger
    -            .apply_changes_to_batch(changes.ledger_changes, &mut db_batch);
    +        self.ledger.apply_changes_to_batch(
    +            changes.ledger_changes,
    +            &mut db_batch,
    +            final_state_component_version,
    +        );
             self.executed_ops
                 .apply_changes_to_batch(changes.executed_ops_changes, slot, &mut db_batch);
     
    diff --git a/src/massa_final_state/state_changes.rs.html b/src/massa_final_state/state_changes.rs.html
    index 2bd0c0c084..3c8b0fa02c 100644
    --- a/src/massa_final_state/state_changes.rs.html
    +++ b/src/massa_final_state/state_changes.rs.html
    @@ -399,6 +399,7 @@
     399
     400
     401
    +402
     
    //! Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! This file provides structures representing changes to the final state
    @@ -641,7 +642,8 @@
             self.pos_changes.extend(changes.pos_changes);
             self.executed_ops_changes
                 .extend(changes.executed_ops_changes);
    -        self.executed_denunciations_changes
    +        // Note: no need to version the changes, as this function is not used in the codebase
    +        self.executed_denunciations_changes
                 .extend(changes.executed_denunciations_changes);
             self.execution_trail_hash_change
                 .apply(changes.execution_trail_hash_change);
    diff --git a/src/massa_grpc/public.rs.html b/src/massa_grpc/public.rs.html
    index 4b927b6e69..104f10cfe2 100644
    --- a/src/massa_grpc/public.rs.html
    +++ b/src/massa_grpc/public.rs.html
    @@ -1524,6 +1524,8 @@
     1524
     1525
     1526
    +1527
    +1528
     
    // Copyright (c) 2023 MASSA LABS <info@massa.net>
     
     use crate::error::GrpcError;
    @@ -2518,11 +2520,13 @@
         grpc: &MassaPublicGrpc,
         request: tonic::Request<grpc_api::QueryStateRequest>,
     ) -> Result<grpc_api::QueryStateResponse, GrpcError> {
    +    let current_network_version = grpc.keypair_factory.mip_store.get_network_version_current();
    +
         let queries = request
             .into_inner()
             .queries
             .into_iter()
    -        .map(to_querystate_filter)
    +        .map(|q| to_querystate_filter(q, current_network_version))
             .collect::<Result<Vec<_>, _>>()?;
     
         if queries.is_empty() {
    diff --git a/src/massa_ledger_exports/controller.rs.html b/src/massa_ledger_exports/controller.rs.html
    index ce4cdd2c44..18c5838fce 100644
    --- a/src/massa_ledger_exports/controller.rs.html
    +++ b/src/massa_ledger_exports/controller.rs.html
    @@ -74,6 +74,11 @@
     74
     75
     76
    +77
    +78
    +79
    +80
    +81
     
    use massa_models::{address::Address, amount::Amount, bytecode::Bytecode};
     use std::collections::BTreeSet;
     
    @@ -127,7 +132,12 @@
         /// USED FOR BOOTSTRAP ONLY
         fn reset(&mut self);
     
    -    fn apply_changes_to_batch(&mut self, changes: LedgerChanges, ledger_batch: &mut DBBatch);
    +    fn apply_changes_to_batch(
    +        &mut self,
    +        changes: LedgerChanges,
    +        ledger_batch: &mut DBBatch,
    +        final_state_component_version: u32,
    +    );
     
         /// Deserializes the key and value, useful after bootstrap
         fn is_key_value_valid(&self, serialized_key: &[u8], serialized_value: &[u8]) -> bool;
    diff --git a/src/massa_ledger_worker/ledger.rs.html b/src/massa_ledger_worker/ledger.rs.html
    index d7aa5aed28..07be27f95b 100644
    --- a/src/massa_ledger_worker/ledger.rs.html
    +++ b/src/massa_ledger_worker/ledger.rs.html
    @@ -183,6 +183,14 @@
     183
     184
     185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
     
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! This file defines the final ledger associating addresses to their balances, bytecode and data.
    @@ -335,9 +343,17 @@
         }
     
         /// Allows applying `LedgerChanges` to the final ledger
    -    fn apply_changes_to_batch(&mut self, changes: LedgerChanges, ledger_batch: &mut DBBatch) {
    -        self.sorted_ledger
    -            .apply_changes_to_batch(changes, ledger_batch);
    +    fn apply_changes_to_batch(
    +        &mut self,
    +        changes: LedgerChanges,
    +        ledger_batch: &mut DBBatch,
    +        final_state_component_version: u32,
    +    ) {
    +        self.sorted_ledger.apply_changes_to_batch(
    +            changes,
    +            ledger_batch,
    +            final_state_component_version,
    +        );
         }
     
         /// Deserializes the key and value, useful after bootstrap
    diff --git a/src/massa_ledger_worker/ledger_db.rs.html b/src/massa_ledger_worker/ledger_db.rs.html
    index 987df1a469..8be67a979d 100644
    --- a/src/massa_ledger_worker/ledger_db.rs.html
    +++ b/src/massa_ledger_worker/ledger_db.rs.html
    @@ -698,6 +698,28 @@
     698
     699
     700
    +701
    +702
    +703
    +704
    +705
    +706
    +707
    +708
    +709
    +710
    +711
    +712
    +713
    +714
    +715
    +716
    +717
    +718
    +719
    +720
    +721
    +722
     
    //! Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! Module to interact with the disk ledger
    @@ -812,7 +834,7 @@
             let mut batch = DBBatch::new();
     
             for (address, entry) in initial_ledger {
    -            self.put_entry(&address, entry, &mut batch);
    +            self.put_entry(&address, entry, &mut batch, 0);
             }
     
             self.db.write().write_batch(
    @@ -827,14 +849,19 @@
         /// # Arguments
         /// * changes: ledger changes to be applied
         /// * batch: the batch to apply the changes to
    -    pub fn apply_changes_to_batch(&self, changes: LedgerChanges, batch: &mut DBBatch) {
    +    pub fn apply_changes_to_batch(
    +        &self,
    +        changes: LedgerChanges,
    +        batch: &mut DBBatch,
    +        final_state_component_version: u32,
    +    ) {
             // for all incoming changes
             for (addr, change) in changes.0 {
                 match change {
                     // the incoming change sets a ledger entry to a new one
                     SetUpdateOrDelete::Set(new_entry) => {
                         // inserts/overwrites the entry with the incoming one
    -                    self.put_entry(&addr, new_entry, batch);
    +                    self.put_entry(&addr, new_entry, batch, final_state_component_version);
                     }
                     // the incoming change updates an existing ledger entry
                     SetUpdateOrDelete::Update(entry_update) => {
    @@ -845,7 +872,7 @@
                     // the incoming change deletes a ledger entry
                     SetUpdateOrDelete::Delete => {
                         // delete the entry, if it exists
    -                    self.delete_entry(&addr, batch);
    +                    self.delete_entry(&addr, batch, final_state_component_version);
                     }
                 }
             }
    @@ -985,11 +1012,19 @@
         /// * `addr`: associated address
         /// * `ledger_entry`: complete entry to be added
         /// * `batch`: the given operation batch to update
    -    fn put_entry(&self, addr: &Address, ledger_entry: LedgerEntry, batch: &mut DBBatch) {
    +    fn put_entry(
    +        &self,
    +        addr: &Address,
    +        ledger_entry: LedgerEntry,
    +        batch: &mut DBBatch,
    +        final_state_component_version: u32,
    +    ) {
             let db = self.db.read();
     
    -        // Ensures any potential previous entry is fully deleted.
    -        delete_datastore_entries(addr, &db, batch);
    +        if final_state_component_version > 0 {
    +            // Ensures any potential previous entry is fully deleted.
    +            delete_datastore_entries(addr, &db, batch, final_state_component_version);
    +        }
     
             // Version
             //TODO: Get version number from parameters
    @@ -1137,7 +1172,12 @@
         ///
         /// # Arguments
         /// * batch: the given operation batch to update
    -    fn delete_entry(&self, addr: &Address, batch: &mut DBBatch) {
    +    fn delete_entry(
    +        &self,
    +        addr: &Address,
    +        batch: &mut DBBatch,
    +        final_state_component_version: u32,
    +    ) {
             let db = self.db.read();
     
             // version
    @@ -1161,7 +1201,7 @@
                 .expect(KEY_SER_ERROR);
             db.delete_key(batch, serialized_key);
     
    -        delete_datastore_entries(addr, &db, batch);
    +        delete_datastore_entries(addr, &db, batch, final_state_component_version);
         }
     }
     
    @@ -1172,6 +1212,7 @@
         addr: &Address,
         db: &RwLockReadGuard<RawRwLock, Box<dyn MassaDBController>>,
         batch: &mut std::collections::BTreeMap<Vec<u8>, Option<Vec<u8>>>,
    +    final_state_component_version: u32,
     ) {
         // datastore
         let key_prefix = datastore_prefix_from_address(addr, &[]);
    @@ -1181,7 +1222,10 @@
                 STATE_CF,
                 MassaIteratorMode::From(&key_prefix, MassaDirection::Forward),
             )
    -        .take_while(|(key, _)| key < &end_prefix(&key_prefix).unwrap())
    +        .take_while(|(key, _)| match final_state_component_version {
    +            0 => key <= &end_prefix(&key_prefix).unwrap(),
    +            _ => key < &end_prefix(&key_prefix).unwrap(),
    +        })
         {
             db.delete_key(batch, serialized_key.to_vec());
         }
    @@ -1328,7 +1372,7 @@
             let ledger_db = LedgerDB::new(db.clone(), 32, 255, 1000);
             let mut batch = DBBatch::new();
     
    -        ledger_db.put_entry(&addr, entry, &mut batch);
    +        ledger_db.put_entry(&addr, entry, &mut batch, 0);
             ledger_db.update_entry(&addr, entry_update, &mut batch);
             ledger_db
                 .db
    @@ -1375,7 +1419,7 @@
     
             // delete entry
             let mut batch = DBBatch::new();
    -        ledger_db.delete_entry(&addr, &mut batch);
    +        ledger_db.delete_entry(&addr, &mut batch, 1);
             ledger_db
                 .db
                 .write()
    diff --git a/src/massa_models/config/constants.rs.html b/src/massa_models/config/constants.rs.html
    index cbbe99b3c0..0568800c60 100644
    --- a/src/massa_models/config/constants.rs.html
    +++ b/src/massa_models/config/constants.rs.html
    @@ -419,6 +419,8 @@
     419
     420
     421
    +422
    +423
     
    //! DEFAULT VALUES USED TO INITIALIZE DIVERS CONFIGURATIONS STRUCTURES
     //!
     //!
    @@ -730,7 +732,9 @@
     /// Gas used by a base operation (transaction, roll buy, roll sell)
     pub const BASE_OPERATION_GAS_COST: u64 = 800_000; // approx MAX_GAS_PER_BLOCK / MAX_OPERATIONS_PER_BLOCK
     /// Maximum event size in bytes
    -pub const MAX_EVENT_DATA_SIZE: usize = 512;
    +pub const MAX_EVENT_DATA_SIZE_V0: usize = 50_000;
    +/// Maximum event size in bytes
    +pub const MAX_EVENT_DATA_SIZE_V1: usize = 512;
     /// Maximum event number that can be emitted for an operation
     pub const MAX_EVENT_PER_OPERATION: usize = 25;
     /// Maximum number of recursion for calls
    diff --git a/src/massa_module_cache/controller.rs.html b/src/massa_module_cache/controller.rs.html
    index 534fb8daaa..b8b63f3c13 100644
    --- a/src/massa_module_cache/controller.rs.html
    +++ b/src/massa_module_cache/controller.rs.html
    @@ -203,9 +203,14 @@
     203
     204
     205
    +206
    +207
    +208
    +209
    +210
     
    use massa_hash::Hash;
     use massa_models::prehash::BuildHashMapper;
    -use massa_sc_runtime::{Compiler, RuntimeModule};
    +use massa_sc_runtime::{Compiler, CondomLimits, RuntimeModule};
     use schnellru::{ByLength, LruMap};
     use tracing::debug;
     
    @@ -245,12 +250,17 @@
         }
     
         /// Internal function to compile and build `ModuleInfo`
    -    fn compile_cached(&mut self, bytecode: &[u8], hash: Hash) -> ModuleInfo {
    +    fn compile_cached(
    +        &mut self,
    +        bytecode: &[u8],
    +        hash: Hash,
    +        condom_limits: CondomLimits,
    +    ) -> ModuleInfo {
             match RuntimeModule::new(
                 bytecode,
                 self.cfg.gas_costs.clone(),
                 Compiler::CL,
    -            self.cfg.condom_limits.clone(),
    +            condom_limits,
             ) {
                 Ok(module) => {
                     debug!("compilation of module {} succeeded", hash);
    @@ -265,13 +275,12 @@
         }
     
         /// Save a new or an already existing module in the cache
    -    pub fn save_module(&mut self, bytecode: &[u8]) {
    +    pub fn save_module(&mut self, bytecode: &[u8], condom_limits: CondomLimits) {
             let hash = Hash::compute_from(bytecode);
    -        if let Some(hd_module_info) = self.hd_cache.get(
    -            hash,
    -            self.cfg.gas_costs.clone(),
    -            self.cfg.condom_limits.clone(),
    -        ) {
    +        if let Some(hd_module_info) =
    +            self.hd_cache
    +                .get(hash, self.cfg.gas_costs.clone(), condom_limits.clone())
    +        {
                 debug!("save_module: {} present in hd", hash);
                 self.lru_cache.insert(hash, hd_module_info);
             } else if let Some(lru_module_info) = self.lru_cache.get(hash) {
    @@ -279,7 +288,7 @@
                 self.hd_cache.insert(hash, lru_module_info);
             } else {
                 debug!("save_module: {} missing", hash);
    -            let module_info = self.compile_cached(bytecode, hash);
    +            let module_info = self.compile_cached(bytecode, hash, condom_limits);
                 self.hd_cache.insert(hash, module_info.clone());
                 self.lru_cache.insert(hash, module_info);
             }
    @@ -305,7 +314,7 @@
         /// * `ModuleInfo::Invalid` if the module is invalid
         /// * `ModuleInfo::Module` if the module is valid and has no delta
         /// * `ModuleInfo::ModuleAndDelta` if the module is valid and has a delta
    -    fn load_module_info(&mut self, bytecode: &[u8]) -> ModuleInfo {
    +    fn load_module_info(&mut self, bytecode: &[u8], condom_limits: CondomLimits) -> ModuleInfo {
             if bytecode.is_empty() {
                 let error_msg = "load_module: bytecode is absent".to_string();
                 debug!(error_msg);
    @@ -324,17 +333,16 @@
             if let Some(lru_module_info) = self.lru_cache.get(hash) {
                 debug!("load_module: {} present in lru", hash);
                 lru_module_info
    -        } else if let Some(hd_module_info) = self.hd_cache.get(
    -            hash,
    -            self.cfg.gas_costs.clone(),
    -            self.cfg.condom_limits.clone(),
    -        ) {
    +        } else if let Some(hd_module_info) =
    +            self.hd_cache
    +                .get(hash, self.cfg.gas_costs.clone(), condom_limits.clone())
    +        {
                 debug!("load_module: {} missing in lru but present in hd", hash);
                 self.lru_cache.insert(hash, hd_module_info.clone());
                 hd_module_info
             } else {
                 debug!("load_module: {} missing", hash);
    -            let module_info = self.compile_cached(bytecode, hash);
    +            let module_info = self.compile_cached(bytecode, hash, condom_limits);
                 self.hd_cache.insert(hash, module_info.clone());
                 self.lru_cache.insert(hash, module_info.clone());
                 module_info
    @@ -349,6 +357,7 @@
             &mut self,
             bytecode: &[u8],
             execution_gas: u64,
    +        condom_limits: CondomLimits,
         ) -> Result<RuntimeModule, CacheError> {
             // Do not actually debit the instance creation cost from the provided gas
             // This is only supposed to be a check
    @@ -360,7 +369,7 @@
                 )))?;
             // TODO: interesting but unimportant optim
             // remove max_instance_cost hard check if module is cached and has a delta
    -        let module_info = self.load_module_info(bytecode);
    +        let module_info = self.load_module_info(bytecode, condom_limits);
             let module = match module_info {
                 ModuleInfo::Invalid(err) => {
                     let err_msg = format!("invalid module: {}", err);
    @@ -389,6 +398,7 @@
             &self,
             bytecode: &[u8],
             limit: u64,
    +        condom_limits: CondomLimits,
         ) -> Result<RuntimeModule, CacheError> {
             debug!("load_tmp_module");
             // Do not actually debit the instance creation cost from the provided gas
    @@ -403,7 +413,7 @@
                 bytecode,
                 self.cfg.gas_costs.clone(),
                 Compiler::SP,
    -            self.cfg.condom_limits.clone(),
    +            condom_limits,
             )?;
             Ok(module)
         }
    diff --git a/src/massa_node/main.rs.html b/src/massa_node/main.rs.html
    index e902bb024a..3905e72d2d 100644
    --- a/src/massa_node/main.rs.html
    +++ b/src/massa_node/main.rs.html
    @@ -1587,6 +1587,7 @@
     1587
     1588
     1589
    +1590
     
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     #![doc = include_str!("../../README.md")]
    @@ -1681,10 +1682,10 @@
         DEFERRED_CALL_MAX_ASYNC_GAS, DEFERRED_CALL_MAX_POOL_CHANGES, DEFERRED_CALL_MIN_GAS_COST,
         DEFERRED_CALL_MIN_GAS_INCREMENT, DEFERRED_CALL_SLOT_OVERBOOKING_PENALTY,
         KEEP_EXECUTED_HISTORY_EXTRA_PERIODS, MAX_BOOTSTRAP_FINAL_STATE_PARTS_SIZE,
    -    MAX_BOOTSTRAP_VERSIONING_ELEMENTS_SIZE, MAX_EVENT_DATA_SIZE, MAX_EVENT_PER_OPERATION,
    -    MAX_MESSAGE_SIZE, MAX_RECURSIVE_CALLS_DEPTH, MAX_RUNTIME_MODULE_CUSTOM_SECTION_DATA_LEN,
    -    MAX_RUNTIME_MODULE_CUSTOM_SECTION_LEN, MAX_RUNTIME_MODULE_EXPORTS,
    -    MAX_RUNTIME_MODULE_FUNCTIONS, MAX_RUNTIME_MODULE_FUNCTION_NAME_LEN,
    +    MAX_BOOTSTRAP_VERSIONING_ELEMENTS_SIZE, MAX_EVENT_DATA_SIZE_V0, MAX_EVENT_DATA_SIZE_V1,
    +    MAX_EVENT_PER_OPERATION, MAX_MESSAGE_SIZE, MAX_RECURSIVE_CALLS_DEPTH,
    +    MAX_RUNTIME_MODULE_CUSTOM_SECTION_DATA_LEN, MAX_RUNTIME_MODULE_CUSTOM_SECTION_LEN,
    +    MAX_RUNTIME_MODULE_EXPORTS, MAX_RUNTIME_MODULE_FUNCTIONS, MAX_RUNTIME_MODULE_FUNCTION_NAME_LEN,
         MAX_RUNTIME_MODULE_GLOBAL_INITIALIZER, MAX_RUNTIME_MODULE_IMPORTS, MAX_RUNTIME_MODULE_MEMORIES,
         MAX_RUNTIME_MODULE_NAME_LEN, MAX_RUNTIME_MODULE_PASSIVE_DATA,
         MAX_RUNTIME_MODULE_PASSIVE_ELEMENT, MAX_RUNTIME_MODULE_SIGNATURE_LEN, MAX_RUNTIME_MODULE_TABLE,
    @@ -2070,7 +2071,7 @@
             event_cache_path: SETTINGS.execution.event_cache_path.clone(),
             max_event_cache_length: SETTINGS.execution.event_cache_size,
             snip_amount: SETTINGS.execution.event_snip_amount,
    -        max_event_data_length: MAX_EVENT_DATA_SIZE as u64,
    +        max_event_data_length: MAX_EVENT_DATA_SIZE_V0 as u64,
             thread_count: THREAD_COUNT,
             // Note: SCOutputEvent call stack comes from the execution module, and we assume
             //       this should return a limited call stack length
    @@ -2160,7 +2161,8 @@
             broadcast_slot_execution_output_channel_capacity: SETTINGS
                 .execution
                 .broadcast_slot_execution_output_channel_capacity,
    -        max_event_size: MAX_EVENT_DATA_SIZE,
    +        max_event_size_v0: MAX_EVENT_DATA_SIZE_V0,
    +        max_event_size_v1: MAX_EVENT_DATA_SIZE_V1,
             max_function_length: MAX_FUNCTION_NAME_LENGTH,
             max_parameter_length: MAX_PARAMETERS_SIZE,
             chain_id: *CHAINID,
    diff --git a/src/massa_versioning/lib.rs.html b/src/massa_versioning/lib.rs.html
    index 61f919cdc9..9f7e203173 100644
    --- a/src/massa_versioning/lib.rs.html
    +++ b/src/massa_versioning/lib.rs.html
    @@ -166,6 +166,6 @@
     pub mod versioning_ser_der;
     
     /// Test utils
    -#[cfg(test)]
    +#[cfg(any(test, feature = "test-exports"))]
     pub mod test_helpers;
     
    \ No newline at end of file diff --git a/src/massa_versioning/mips.rs.html b/src/massa_versioning/mips.rs.html index 5efad5cd97..e309e510be 100644 --- a/src/massa_versioning/mips.rs.html +++ b/src/massa_versioning/mips.rs.html @@ -30,6 +30,37 @@ 30 31 32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63
    #[allow(unused_imports)]
     use std::collections::BTreeMap;
     
    @@ -39,27 +70,58 @@
     #[allow(unused_imports)]
     use crate::versioning::{MipComponent, MipInfo, MipState};
     
    -pub fn get_mip_list() -> [(MipInfo, MipState); 0] {
    -    // placeholder
    -    let mip_list = [
    -        /*
    -        (MipInfo {
    -            name: "MIP-0000".to_string(),
    -            version: 0,
    -            components: BTreeMap::from([
    -                (MipComponent::Address, 0),
    -                (MipComponent::KeyPair, 0),
    -            ]),
    -            start: MassaTime::from_millis(0),
    -            timeout: MassaTime::from_millis(0),
    -            activation_delay: MassaTime::from_millis(0),
    -        },
    -        MipState::new(MassaTime::from_millis(0)))
    -        */
    +#[cfg(not(feature = "test-exports"))]
    +pub fn get_mip_list() -> [(MipInfo, MipState); 1] {
    +    let mip_list = [
    +        (
    +            MipInfo {
    +                name: "MIP-0001-Execution-BugFix".to_string(),
    +                version: 1,
    +                components: BTreeMap::from([
    +                    (MipComponent::Execution, 1),
    +                    (MipComponent::FinalState, 1),
    +                ]),
    +                start: MassaTime::from_utc_ymd_hms(2024, 11, 28, 2, 0, 0).unwrap(), // TODO: set when known, ex: MassaTime::from_utc_ymd_hms(2024, 7, 10, 15, 0, 0).unwrap();
    +                timeout: MassaTime::from_utc_ymd_hms(2025, 11, 28, 2, 0, 0).unwrap(), // TODO: set when known
    +                activation_delay: MassaTime::from_millis(3 * 24 * 60 * 60 * 1000), // TODO: set when known, 3 days as an example
    +            },
    +            MipState::new(MassaTime::from_utc_ymd_hms(2024, 11, 28, 0, 0, 0).unwrap()),
    +        ), // TODO: set when known, (when the MIP becomes defined, e.g. when merged to main branch)
         ];
     
         // debug!("MIP list: {:?}", mip_list);
         #[allow(clippy::let_and_return)]
         mip_list
     }
    +
    +#[cfg(feature = "test-exports")]
    +pub fn get_mip_list() -> [(MipInfo, MipState); 1] {
    +    use crate::{
    +        test_helpers::versioning_helpers::advance_state_until,
    +        versioning::{Active, ComponentState},
    +    };
    +
    +    println!("Running with test-exports feature");
    +
    +    let mip_info_1 = MipInfo {
    +        name: "MIP-0001-Execution-BugFix".to_string(),
    +        version: 1,
    +        components: BTreeMap::from([(MipComponent::Execution, 1), (MipComponent::FinalState, 1)]),
    +        start: MassaTime::from_millis(2), // TODO: set when known, ex: MassaTime::from_utc_ymd_hms(2024, 7, 10, 15, 0, 0).unwrap();
    +        timeout: MassaTime::from_millis(10), // TODO: set when known
    +        activation_delay: MassaTime::from_millis(2), // TODO: set when known, 3 days as an example
    +    };
    +    let mip_state_1 = advance_state_until(
    +        ComponentState::Active(Active {
    +            at: MassaTime::from_millis(3),
    +        }),
    +        &mip_info_1,
    +    );
    +
    +    let mip_list = [(mip_info_1, mip_state_1)];
    +
    +    println!("MIP list: {:?}", mip_list);
    +    #[allow(clippy::let_and_return)]
    +    mip_list
    +}
     
    \ No newline at end of file diff --git a/src/massa_versioning/versioning.rs.html b/src/massa_versioning/versioning.rs.html index a25dd4228b..06dc873b6b 100644 --- a/src/massa_versioning/versioning.rs.html +++ b/src/massa_versioning/versioning.rs.html @@ -2743,6 +2743,8 @@ 2743 2744 2745 +2746 +2747
    use std::cmp::Ordering;
     use std::collections::hash_map::Entry;
     use std::collections::{BTreeMap, HashMap, HashSet, VecDeque};
    @@ -2790,6 +2792,8 @@
         Block,
         VM,
         FinalStateHashKind,
    +    Execution,
    +    FinalState,
         #[doc(hidden)]
         #[num_enum(default)]
         __Nonexhaustive,
    diff --git a/trait.impl/core/clone/trait.Clone.js b/trait.impl/core/clone/trait.Clone.js
    index c97afe5b2f..c3f7a9edfe 100644
    --- a/trait.impl/core/clone/trait.Clone.js
    +++ b/trait.impl/core/clone/trait.Clone.js
    @@ -18,7 +18,7 @@
     "massa_hash":[["impl Clone for MassaHashError"],["impl Clone for Hash"],["impl Clone for HashDeserializer"],["impl Clone for HashSerializer"],["impl Clone for HashXofDeserializer"],["impl Clone for HashXofSerializer"],["impl<const SIZE: usize> Clone for HashXof<SIZE>"]],
     "massa_ledger_exports":[["impl Clone for KeyType"],["impl Clone for KeyTypeId"],["impl Clone for LedgerConfig"],["impl Clone for Key"],["impl Clone for KeyDeserializer"],["impl Clone for KeySerializer"],["impl Clone for KeyTypeDeserializer"],["impl Clone for KeyTypeSerializer"],["impl Clone for LedgerChanges"],["impl Clone for LedgerEntryUpdate"],["impl Clone for LedgerEntry"]],
     "massa_metrics":[["impl Clone for MassaMetrics"]],
    -"massa_models":[["impl Clone for Address"],["impl Clone for SCAddress"],["impl Clone for UserAddress"],["impl Clone for BlockId"],["impl Clone for OperationSearchResultBlockStatus"],["impl Clone for OperationSearchResultStatus"],["impl Clone for DeferredCallId"],["impl Clone for Denunciation"],["impl Clone for DenunciationIndex"],["impl Clone for DenunciationPrecursor"],["impl Clone for EndorsementId"],["impl Clone for ModelsError"],["impl Clone for OperationId"],["impl Clone for OperationPrefixId"],["impl Clone for OperationType"],["impl Clone for ActiveBlock"],["impl Clone for AddressDeserializer"],["impl Clone for AddressSerializer"],["impl Clone for ExecutionAddressCycleInfo"],["impl Clone for SCAddressV0"],["impl Clone for UserAddressV0"],["impl Clone for Amount"],["impl Clone for AmountDeserializer"],["impl Clone for AmountSerializer"],["impl Clone for Block"],["impl Clone for FilledBlock"],["impl Clone for BlockHeader"],["impl Clone for BlockIdDeserializer"],["impl Clone for BlockIdSerializer"],["impl Clone for BlockIdV0"],["impl Clone for Bytecode"],["impl Clone for Clique"],["impl Clone for OperationSearchResult"],["impl Clone for PubkeySig"],["impl Clone for StakersCycleProductionStats"],["impl Clone for CompactConfig"],["impl Clone for DeferredCallIdDeserializer"],["impl Clone for DeferredCallIdSerializer"],["impl Clone for DeferredCallIdV0"],["impl Clone for BlockHeaderDenunciation"],["impl Clone for BlockHeaderDenunciationPrecursor"],["impl Clone for DenunciationIndexDeserializer"],["impl Clone for DenunciationIndexSerializer"],["impl Clone for EndorsementDenunciation"],["impl Clone for EndorsementDenunciationPrecursor"],["impl Clone for Endorsement"],["impl Clone for EndorsementIdV0"],["impl Clone for EndorsementSerializer"],["impl Clone for EventFilter"],["impl Clone for LedgerChange"],["impl Clone for LedgerChanges"],["impl Clone for LedgerData"],["impl Clone for NodeId"],["impl Clone for Operation"],["impl Clone for OperationIdDeserializer"],["impl Clone for OperationIdSerializer"],["impl Clone for OperationIdV0"],["impl Clone for OperationPrefixIdV0"],["impl Clone for OperationPrefixIdsSerializer"],["impl Clone for OperationsSerializer"],["impl Clone for EventExecutionContext"],["impl Clone for SCOutputEvent"],["impl Clone for RollCompensation"],["impl Clone for RollCounts"],["impl Clone for RollUpdate"],["impl Clone for RollUpdates"],["impl Clone for SecureShareSerializer"],["impl Clone for BitVecDeserializer"],["impl Clone for BitVecSerializer"],["impl Clone for IpAddrDeserializer"],["impl Clone for IpAddrSerializer"],["impl Clone for VecU8Deserializer"],["impl Clone for VecU8Serializer"],["impl Clone for IndexedSlot"],["impl Clone for Slot"],["impl Clone for SlotDeserializer"],["impl Clone for SlotSerializer"],["impl Clone for ConsensusStats"],["impl Clone for ExecutionStats"],["impl Clone for NetworkStats"],["impl Clone for Version"],["impl Clone for VersionDeserializer"],["impl Clone for VersionSerializer"],["impl<DL, L> Clone for StringDeserializer<DL, L>
    where\n DL: Deserializer<L> + Clone,\n L: TryFrom<usize> + ToUsize + Clone,
    "],["impl<SL, L> Clone for StringSerializer<SL, L>
    where\n SL: Serializer<L> + Clone,\n L: TryFrom<usize> + Clone,
    "],["impl<T, ID> Clone for SecureShare<T, ID>
    where\n T: Display + SecureShareContent + Clone,\n ID: Id + Clone,
    "],["impl<T: Clone + Clone> Clone for SetOrDelete<T>"],["impl<T: Clone + Clone> Clone for SetOrKeep<T>"],["impl<T: Clone + Default + Applicable<V>, V: Clone + Applicable<V> + Clone> Clone for SetUpdateOrDelete<T, V>"],["impl<T: Clone> Clone for StreamingStep<T>"],["impl<T: Clone, ST> Clone for PreHashSetDeserializer<T, ST>
    where\n ST: Deserializer<T> + Clone + Clone,
    "],["impl<T: Clone, ST> Clone for PreHashSetSerializer<T, ST>
    where\n ST: Serializer<T> + Clone,
    "],["impl<T: Clone, ST> Clone for VecDeserializer<T, ST>
    where\n ST: Deserializer<T> + Clone + Clone,
    "],["impl<T: Clone, ST> Clone for VecSerializer<T, ST>
    where\n ST: Serializer<T> + Clone,
    "]], +"massa_models":[["impl Clone for Address"],["impl Clone for SCAddress"],["impl Clone for UserAddress"],["impl Clone for BlockId"],["impl Clone for OperationSearchResultBlockStatus"],["impl Clone for OperationSearchResultStatus"],["impl Clone for DeferredCallId"],["impl Clone for Denunciation"],["impl Clone for DenunciationIndex"],["impl Clone for DenunciationPrecursor"],["impl Clone for EndorsementId"],["impl Clone for ModelsError"],["impl Clone for OperationId"],["impl Clone for OperationPrefixId"],["impl Clone for OperationType"],["impl Clone for ActiveBlock"],["impl Clone for AddressDeserializer"],["impl Clone for AddressSerializer"],["impl Clone for ExecutionAddressCycleInfo"],["impl Clone for SCAddressV0"],["impl Clone for UserAddressV0"],["impl Clone for Amount"],["impl Clone for AmountDeserializer"],["impl Clone for AmountSerializer"],["impl Clone for Block"],["impl Clone for FilledBlock"],["impl Clone for BlockHeader"],["impl Clone for BlockIdDeserializer"],["impl Clone for BlockIdSerializer"],["impl Clone for BlockIdV0"],["impl Clone for Bytecode"],["impl Clone for Clique"],["impl Clone for OperationSearchResult"],["impl Clone for PubkeySig"],["impl Clone for StakersCycleProductionStats"],["impl Clone for CompactConfig"],["impl Clone for DeferredCallIdDeserializer"],["impl Clone for DeferredCallIdSerializer"],["impl Clone for DeferredCallIdV0"],["impl Clone for BlockHeaderDenunciation"],["impl Clone for BlockHeaderDenunciationPrecursor"],["impl Clone for DenunciationIndexDeserializer"],["impl Clone for DenunciationIndexSerializer"],["impl Clone for EndorsementDenunciation"],["impl Clone for EndorsementDenunciationPrecursor"],["impl Clone for Endorsement"],["impl Clone for EndorsementIdV0"],["impl Clone for EndorsementSerializer"],["impl Clone for EventFilter"],["impl Clone for LedgerChange"],["impl Clone for LedgerChanges"],["impl Clone for LedgerData"],["impl Clone for NodeId"],["impl Clone for Operation"],["impl Clone for OperationIdDeserializer"],["impl Clone for OperationIdSerializer"],["impl Clone for OperationIdV0"],["impl Clone for OperationPrefixIdV0"],["impl Clone for OperationPrefixIdsSerializer"],["impl Clone for OperationsSerializer"],["impl Clone for EventExecutionContext"],["impl Clone for SCOutputEvent"],["impl Clone for RollCompensation"],["impl Clone for RollCounts"],["impl Clone for RollUpdate"],["impl Clone for RollUpdates"],["impl Clone for SecureShareSerializer"],["impl Clone for BitVecDeserializer"],["impl Clone for BitVecSerializer"],["impl Clone for IpAddrDeserializer"],["impl Clone for IpAddrSerializer"],["impl Clone for VecU8Deserializer"],["impl Clone for VecU8Serializer"],["impl Clone for IndexedSlot"],["impl Clone for Slot"],["impl Clone for SlotDeserializer"],["impl Clone for SlotSerializer"],["impl Clone for ConsensusStats"],["impl Clone for ExecutionStats"],["impl Clone for NetworkStats"],["impl Clone for Version"],["impl Clone for VersionDeserializer"],["impl Clone for VersionSerializer"],["impl<DL, L> Clone for StringDeserializer<DL, L>
    where\n DL: Deserializer<L> + Clone,\n L: TryFrom<usize> + ToUsize + Clone,
    "],["impl<SL, L> Clone for StringSerializer<SL, L>
    where\n SL: Serializer<L> + Clone,\n L: TryFrom<usize> + Clone,
    "],["impl<T, ID> Clone for SecureShare<T, ID>
    where\n T: Display + SecureShareContent + Clone,\n ID: Id + Clone,
    "],["impl<T: Clone + Clone> Clone for SetOrDelete<T>"],["impl<T: Clone + Clone> Clone for SetOrKeep<T>"],["impl<T: Clone + Default + Applicable<V>, V: Clone + Applicable<V> + Clone> Clone for SetUpdateOrDelete<T, V>"],["impl<T: Clone> Clone for StreamingStep<T>"],["impl<T: Clone, ST> Clone for PreHashSetDeserializer<T, ST>
    where\n ST: Deserializer<T> + Clone + Clone,
    "],["impl<T: Clone, ST> Clone for PreHashSetSerializer<T, ST>
    where\n ST: Serializer<T> + Clone,
    "],["impl<T: Clone, ST> Clone for VecDeserializer<T, ST>
    where\n ST: Deserializer<T> + Clone + Clone,
    "],["impl<T: Clone, ST> Clone for VecSerializer<T, ST>
    where\n ST: Serializer<T> + Clone,
    "]], "massa_module_cache":[["impl Clone for CacheError"],["impl Clone for ModuleInfo"]], "massa_node":[["impl Clone for APISettings"],["impl Clone for BlockDumpSettings"],["impl Clone for BootstrapSettings"],["impl Clone for ConsensusSettings"],["impl Clone for ExecutionSettings"],["impl Clone for FactorySettings"],["impl Clone for GrpcApiSettings"],["impl Clone for GrpcSettings"],["impl Clone for LedgerSettings"],["impl Clone for LoggingSettings"],["impl Clone for MetricsSettings"],["impl Clone for NetworkSettings"],["impl Clone for PoolSettings"],["impl Clone for ProtocolSettings"],["impl Clone for SelectionSettings"],["impl Clone for Settings"],["impl Clone for VersioningSettings"]], "massa_pool_exports":[["impl Clone for Box<dyn PoolController>"],["impl Clone for PoolBroadcasts"],["impl Clone for PoolChannels"],["impl Clone for PoolConfig"]], diff --git a/trait.impl/core/convert/trait.From.js b/trait.impl/core/convert/trait.From.js index 28ae664d1b..011108e1ed 100644 --- a/trait.impl/core/convert/trait.From.js +++ b/trait.impl/core/convert/trait.From.js @@ -10,7 +10,7 @@ "massa_final_state":[["impl From<StateChanges> for StateChanges"],["impl From<ExtendFromDbError> for FinalStateError"],["impl From<IsConsistentWithShutdownPeriodError> for FinalStateError"]], "massa_grpc":[["impl From<Error> for GrpcError"],["impl From<GrpcError> for Status"],["impl From<MassaHashError> for GrpcError"],["impl From<ModelsError> for GrpcError"],["impl From<ProtocolError> for GrpcError"],["impl From<MassaSignatureError> for GrpcError"],["impl From<TimeError> for GrpcError"],["impl From<FactoryError> for GrpcError"],["impl From<WalletError> for GrpcError"],["impl From<EndorsementDraw> for EndorsementDraw"],["impl From<SlotDraw> for SlotDraw"],["impl From<ConsensusError> for GrpcError"],["impl From<ExecutionError> for GrpcError"]], "massa_ledger_exports":[["impl From<KeyTypeId> for u8"],["impl From<LedgerEntryUpdate> for LedgerEntryUpdate"],["impl From<LedgerEntry> for LedgerEntry"]], -"massa_models":[["impl From<&'static str> for ModelsError"],["impl From<&Denunciation> for DenunciationIndex"],["impl From<&Denunciation> for DenunciationTypeId"],["impl From<&DenunciationIndex> for DenunciationIndexTypeId"],["impl From<&DenunciationPrecursor> for DenunciationIndex"],["impl From<&OperationPrefixId> for Vec<u8>"],["impl From<&SecureShare<BlockHeader, BlockId>> for DenunciationPrecursor"],["impl From<&SecureShare<Endorsement, EndorsementId>> for DenunciationPrecursor"],["impl From<&[u8; 17]> for OperationPrefixId"],["impl From<MassaHashError> for ModelsError"],["impl From<BlockGraphStatus> for i32"],["impl From<Denunciation> for Denunciation"],["impl From<DenunciationIndex> for DenunciationIndex"],["impl From<DenunciationIndexTypeId> for u32"],["impl From<DenunciationTypeId> for u32"],["impl From<OperationType> for OpType"],["impl From<OperationType> for OperationType"],["impl From<OperationTypeId> for u32"],["impl From<SerializeError> for DenunciationError"],["impl From<SerializeError> for ModelsError"],["impl From<MassaSignatureError> for DenunciationError"],["impl From<MassaSignatureError> for ModelsError"],["impl From<TimeError> for ModelsError"],["impl From<Amount> for NativeAmount"],["impl From<Block> for Block"],["impl From<FilledBlock> for FilledBlock"],["impl From<BlockHeader> for BlockHeader"],["impl From<CompactConfig> for CompactConfig"],["impl From<Endorsement> for Endorsement"],["impl From<Operation> for Operation"],["impl From<EventExecutionContext> for ScExecutionEventContext"],["impl From<SCOutputEvent> for ScExecutionEvent"],["impl From<SecureShare<Block, BlockId>> for SignedBlock"],["impl From<SecureShare<BlockHeader, BlockId>> for SignedBlockHeader"],["impl From<SecureShare<Endorsement, EndorsementId>> for SignedEndorsement"],["impl From<SecureShare<Operation, OperationId>> for SignedOperation"],["impl From<IndexedSlot> for IndexedSlot"],["impl From<Slot> for Slot"],["impl From<ConsensusStats> for ConsensusStats"],["impl From<ExecutionStats> for ExecutionStats"],["impl From<NetworkStats> for NetworkStats"],["impl From<Err<Error<&[u8]>>> for ModelsError"],["impl From<Slot> for Slot"]], +"massa_models":[["impl From<&'static str> for ModelsError"],["impl From<&Denunciation> for DenunciationIndex"],["impl From<&Denunciation> for DenunciationTypeId"],["impl From<&DenunciationIndex> for DenunciationIndexTypeId"],["impl From<&DenunciationPrecursor> for DenunciationIndex"],["impl From<&OperationPrefixId> for Vec<u8>"],["impl From<&SecureShare<BlockHeader, BlockId>> for DenunciationPrecursor"],["impl From<&SecureShare<Endorsement, EndorsementId>> for DenunciationPrecursor"],["impl From<&[u8; 17]> for OperationPrefixId"],["impl From<MassaHashError> for ModelsError"],["impl From<BlockGraphStatus> for i32"],["impl From<Denunciation> for Denunciation"],["impl From<DenunciationIndex> for DenunciationIndex"],["impl From<DenunciationIndexTypeId> for u32"],["impl From<DenunciationTypeId> for u32"],["impl From<OperationType> for OpType"],["impl From<OperationType> for OperationType"],["impl From<OperationTypeId> for u32"],["impl From<MassaSignatureError> for DenunciationError"],["impl From<MassaSignatureError> for ModelsError"],["impl From<TimeError> for ModelsError"],["impl From<Amount> for NativeAmount"],["impl From<Block> for Block"],["impl From<FilledBlock> for FilledBlock"],["impl From<BlockHeader> for BlockHeader"],["impl From<CompactConfig> for CompactConfig"],["impl From<Endorsement> for Endorsement"],["impl From<Operation> for Operation"],["impl From<EventExecutionContext> for ScExecutionEventContext"],["impl From<SCOutputEvent> for ScExecutionEvent"],["impl From<SecureShare<Block, BlockId>> for SignedBlock"],["impl From<SecureShare<BlockHeader, BlockId>> for SignedBlockHeader"],["impl From<SecureShare<Endorsement, EndorsementId>> for SignedEndorsement"],["impl From<SecureShare<Operation, OperationId>> for SignedOperation"],["impl From<IndexedSlot> for IndexedSlot"],["impl From<Slot> for Slot"],["impl From<ConsensusStats> for ConsensusStats"],["impl From<ExecutionStats> for ExecutionStats"],["impl From<NetworkStats> for NetworkStats"],["impl From<Err<Error<&[u8]>>> for ModelsError"],["impl From<SerializeError> for DenunciationError"],["impl From<SerializeError> for ModelsError"],["impl From<Slot> for Slot"]], "massa_module_cache":[["impl From<ModuleMetadataId> for u64"],["impl From<Error> for CacheError"]], "massa_protocol_exports":[["impl From<Error> for ProtocolError"],["impl From<Error> for ProtocolError"],["impl From<FactoryError> for ProtocolError"],["impl From<ModelsError> for ProtocolError"],["impl From<PosError> for ProtocolError"],["impl From<TimeError> for ProtocolError"]], "massa_protocol_worker":[["impl From<&BlockMessage> for MessageTypeId"],["impl From<&EndorsementMessage> for MessageTypeId"],["impl From<&OperationMessage> for MessageTypeId"],["impl From<&PeerManagementMessage> for MessageTypeId"],["impl From<&Message> for MessageTypeId"],["impl From<BlockInfoType> for u64"],["impl From<BlockMessage> for Message"],["impl From<MessageTypeId> for u64"],["impl From<EndorsementMessage> for Message"],["impl From<MessageTypeId> for u64"],["impl From<MessageTypeId> for u64"],["impl From<OperationMessage> for Message"],["impl From<MessageTypeId> for u64"],["impl From<PeerManagementMessage> for Message"],["impl From<MessageTypeId> for u64"]], diff --git a/trait.impl/massa_serialization/trait.Deserializer.js b/trait.impl/massa_serialization/trait.Deserializer.js index 4856beed67..11900cfba8 100644 --- a/trait.impl/massa_serialization/trait.Deserializer.js +++ b/trait.impl/massa_serialization/trait.Deserializer.js @@ -8,7 +8,7 @@ "massa_final_state":[["impl Deserializer<StateChanges> for StateChangesDeserializer"]], "massa_hash":[["impl Deserializer<Hash> for HashDeserializer"],["impl<const SIZE: usize> Deserializer<HashXof<SIZE>> for HashXofDeserializer"]], "massa_ledger_exports":[["impl Deserializer<KeyType> for KeyTypeDeserializer"],["impl Deserializer<BTreeMap<Vec<u8>, SetOrDelete<Vec<u8>>>> for DatastoreUpdateDeserializer"],["impl Deserializer<Key> for KeyDeserializer"],["impl Deserializer<LedgerChanges> for LedgerChangesDeserializer"],["impl Deserializer<LedgerEntryUpdate> for LedgerEntryUpdateDeserializer"],["impl Deserializer<LedgerEntry> for LedgerEntryDeserializer"]], -"massa_models":[["impl Deserializer<IpAddr> for IpAddrDeserializer"],["impl Deserializer<Address> for AddressDeserializer"],["impl Deserializer<SCAddress> for AddressDeserializer"],["impl Deserializer<UserAddress> for AddressDeserializer"],["impl Deserializer<BlockId> for BlockIdDeserializer"],["impl Deserializer<DeferredCallId> for DeferredCallIdDeserializer"],["impl Deserializer<Denunciation> for DenunciationDeserializer"],["impl Deserializer<DenunciationIndex> for DenunciationIndexDeserializer"],["impl Deserializer<EndorsementId> for EndorsementIdDeserializer"],["impl Deserializer<OperationId> for OperationIdDeserializer"],["impl Deserializer<OperationPrefixId> for OperationPrefixIdDeserializer"],["impl Deserializer<OperationType> for OperationTypeDeserializer"],["impl Deserializer<BTreeMap<Vec<u8>, Vec<u8>>> for DatastoreDeserializer"],["impl Deserializer<Vec<OperationId>> for OperationIdsDeserializer"],["impl Deserializer<Vec<u8>> for VecU8Deserializer"],["impl Deserializer<Vec<SecureShare<Operation, OperationId>>> for OperationsDeserializer"],["impl Deserializer<HashSet<OperationPrefixId, BuildHasherDefault<HashMapper<OperationPrefixId>>>> for OperationPrefixIdsDeserializer"],["impl Deserializer<SCAddressV0> for AddressDeserializer"],["impl Deserializer<UserAddressV0> for AddressDeserializer"],["impl Deserializer<Amount> for AmountDeserializer"],["impl Deserializer<Block> for BlockDeserializer"],["impl Deserializer<BlockHeader> for BlockHeaderDeserializer"],["impl Deserializer<BlockIdV0> for BlockIdDeserializer"],["impl Deserializer<Bytecode> for BytecodeDeserializer"],["impl Deserializer<Clique> for CliqueDeserializer"],["impl Deserializer<BlockHeaderDenunciation> for BlockHeaderDenunciationDeserializer"],["impl Deserializer<EndorsementDenunciation> for EndorsementDenunciationDeserializer"],["impl Deserializer<Endorsement> for EndorsementDeserializer"],["impl Deserializer<Endorsement> for EndorsementDeserializerLW"],["impl Deserializer<EndorsementIdV0> for EndorsementIdDeserializer"],["impl Deserializer<LedgerChange> for LedgerChangeDeserializer"],["impl Deserializer<LedgerChanges> for LedgerChangesDeserializer"],["impl Deserializer<LedgerData> for LedgerDataDeserializer"],["impl Deserializer<Operation> for OperationDeserializer"],["impl Deserializer<OperationIdV0> for OperationIdDeserializer"],["impl Deserializer<RollUpdate> for RollUpdateDeserializer"],["impl Deserializer<Slot> for SlotDeserializer"],["impl Deserializer<Version> for VersionDeserializer"],["impl Deserializer<BitVec<u8>> for BitVecDeserializer"],["impl<DL, L> Deserializer<String> for StringDeserializer<DL, L>
    where\n DL: Deserializer<L>,\n L: TryFrom<usize> + ToUsize,
    "],["impl<T, ID, Deser> Deserializer<SecureShare<T, ID>> for SecureShareDeserializer<T, Deser>
    where\n T: Display + SecureShareContent,\n ID: Id,\n Deser: Deserializer<T>,
    "],["impl<T, ST> Deserializer<StreamingStep<T>> for StreamingStepDeserializer<T, ST>
    where\n ST: Deserializer<T>,\n T: Clone,
    "],["impl<T, ST> Deserializer<Vec<T>> for VecDeserializer<T, ST>
    where\n ST: Deserializer<T> + Clone,
    "],["impl<T, ST> Deserializer<HashSet<T, BuildHasherDefault<HashMapper<T>>>> for PreHashSetDeserializer<T, ST>
    where\n ST: Deserializer<T> + Clone,\n T: PreHashed + Eq + Hash,
    "],["impl<T: Clone, DT: Deserializer<T>> Deserializer<SetOrDelete<T>> for SetOrDeleteDeserializer<T, DT>"],["impl<T: Clone, DT: Deserializer<T>> Deserializer<SetOrKeep<T>> for SetOrKeepDeserializer<T, DT>"],["impl<T: Default + Applicable<V>, V: Applicable<V> + Clone, DT: Deserializer<T>, DV: Deserializer<V>> Deserializer<SetUpdateOrDelete<T, V>> for SetUpdateOrDeleteDeserializer<T, V, DT, DV>"]], +"massa_models":[["impl Deserializer<IpAddr> for IpAddrDeserializer"],["impl Deserializer<Address> for AddressDeserializer"],["impl Deserializer<SCAddress> for AddressDeserializer"],["impl Deserializer<UserAddress> for AddressDeserializer"],["impl Deserializer<BlockId> for BlockIdDeserializer"],["impl Deserializer<DeferredCallId> for DeferredCallIdDeserializer"],["impl Deserializer<Denunciation> for DenunciationDeserializer"],["impl Deserializer<DenunciationIndex> for DenunciationIndexDeserializer"],["impl Deserializer<EndorsementId> for EndorsementIdDeserializer"],["impl Deserializer<OperationId> for OperationIdDeserializer"],["impl Deserializer<OperationPrefixId> for OperationPrefixIdDeserializer"],["impl Deserializer<OperationType> for OperationTypeDeserializer"],["impl Deserializer<BTreeMap<Vec<u8>, Vec<u8>>> for DatastoreDeserializer"],["impl Deserializer<Vec<OperationId>> for OperationIdsDeserializer"],["impl Deserializer<Vec<u8>> for VecU8Deserializer"],["impl Deserializer<Vec<SecureShare<Operation, OperationId>>> for OperationsDeserializer"],["impl Deserializer<HashSet<OperationPrefixId, BuildHasherDefault<HashMapper<OperationPrefixId>>>> for OperationPrefixIdsDeserializer"],["impl Deserializer<SCAddressV0> for AddressDeserializer"],["impl Deserializer<UserAddressV0> for AddressDeserializer"],["impl Deserializer<Amount> for AmountDeserializer"],["impl Deserializer<Block> for BlockDeserializer"],["impl Deserializer<BlockHeader> for BlockHeaderDeserializer"],["impl Deserializer<BlockIdV0> for BlockIdDeserializer"],["impl Deserializer<Bytecode> for BytecodeDeserializer"],["impl Deserializer<Clique> for CliqueDeserializer"],["impl Deserializer<BlockHeaderDenunciation> for BlockHeaderDenunciationDeserializer"],["impl Deserializer<EndorsementDenunciation> for EndorsementDenunciationDeserializer"],["impl Deserializer<Endorsement> for EndorsementDeserializer"],["impl Deserializer<Endorsement> for EndorsementDeserializerLW"],["impl Deserializer<EndorsementIdV0> for EndorsementIdDeserializer"],["impl Deserializer<LedgerChange> for LedgerChangeDeserializer"],["impl Deserializer<LedgerChanges> for LedgerChangesDeserializer"],["impl Deserializer<LedgerData> for LedgerDataDeserializer"],["impl Deserializer<Operation> for OperationDeserializer"],["impl Deserializer<OperationIdV0> for OperationIdDeserializer"],["impl Deserializer<RollUpdate> for RollUpdateDeserializer"],["impl Deserializer<Slot> for SlotDeserializer"],["impl Deserializer<Version> for VersionDeserializer"],["impl Deserializer<BitVec<u8>> for BitVecDeserializer"],["impl<DL, L> Deserializer<String> for StringDeserializer<DL, L>
    where\n DL: Deserializer<L>,\n L: TryFrom<usize> + ToUsize,
    "],["impl<T, ID, Deser> Deserializer<SecureShare<T, ID>> for SecureShareDeserializer<T, Deser>
    where\n T: Display + SecureShareContent,\n ID: Id,\n Deser: Deserializer<T>,
    "],["impl<T, ST> Deserializer<StreamingStep<T>> for StreamingStepDeserializer<T, ST>
    where\n ST: Deserializer<T>,\n T: Clone,
    "],["impl<T, ST> Deserializer<Vec<T>> for VecDeserializer<T, ST>
    where\n ST: Deserializer<T> + Clone,
    "],["impl<T, ST> Deserializer<HashSet<T, BuildHasherDefault<HashMapper<T>>>> for PreHashSetDeserializer<T, ST>
    where\n ST: Deserializer<T> + Clone,\n T: PreHashed + Eq + Hash,
    "],["impl<T: Clone, DT: Deserializer<T>> Deserializer<SetOrDelete<T>> for SetOrDeleteDeserializer<T, DT>"],["impl<T: Clone, DT: Deserializer<T>> Deserializer<SetOrKeep<T>> for SetOrKeepDeserializer<T, DT>"],["impl<T: Default + Applicable<V>, V: Applicable<V> + Clone, DT: Deserializer<T>, DV: Deserializer<V>> Deserializer<SetUpdateOrDelete<T, V>> for SetUpdateOrDeleteDeserializer<T, V, DT, DV>"]], "massa_module_cache":[["impl Deserializer<ModuleMetadata> for ModuleMetadataDeserializer"]], "massa_pos_exports":[["impl Deserializer<Vec<(Address, u64)>> for RollsDeserializer"],["impl Deserializer<Vec<CycleInfo>> for CycleHistoryDeserializer"],["impl Deserializer<HashMap<Address, ProductionStats, BuildHasherDefault<HashMapper<Address>>>> for ProductionStatsDeserializer"],["impl Deserializer<HashMap<Address, Amount, BuildHasherDefault<HashMapper<Address>>>> for CreditsDeserializer"],["impl Deserializer<CycleInfo> for CycleInfoDeserializer"],["impl Deserializer<DeferredCredits> for DeferredCreditsDeserializer"],["impl Deserializer<PoSChanges> for PoSChangesDeserializer"]], "massa_protocol_exports":[["impl Deserializer<BootstrapPeers> for BootstrapPeersDeserializer"],["impl Deserializer<PeerId> for PeerIdDeserializer"]], diff --git a/trait.impl/massa_serialization/trait.Serializer.js b/trait.impl/massa_serialization/trait.Serializer.js index 33931c0ca5..79e0348746 100644 --- a/trait.impl/massa_serialization/trait.Serializer.js +++ b/trait.impl/massa_serialization/trait.Serializer.js @@ -8,7 +8,7 @@ "massa_final_state":[["impl Serializer<StateChanges> for StateChangesSerializer"]], "massa_hash":[["impl Serializer<Hash> for HashSerializer"],["impl<const SIZE: usize> Serializer<HashXof<SIZE>> for HashXofSerializer"]], "massa_ledger_exports":[["impl Serializer<KeyType> for KeyTypeSerializer"],["impl Serializer<BTreeMap<Vec<u8>, SetOrDelete<Vec<u8>>>> for DatastoreUpdateSerializer"],["impl Serializer<Key> for KeySerializer"],["impl Serializer<LedgerChanges> for LedgerChangesSerializer"],["impl Serializer<LedgerEntryUpdate> for LedgerEntryUpdateSerializer"],["impl Serializer<LedgerEntry> for LedgerEntrySerializer"]], -"massa_models":[["impl Serializer<IpAddr> for IpAddrSerializer"],["impl Serializer<Address> for AddressSerializer"],["impl Serializer<SCAddress> for AddressSerializer"],["impl Serializer<UserAddress> for AddressSerializer"],["impl Serializer<BlockId> for BlockIdSerializer"],["impl Serializer<DeferredCallId> for DeferredCallIdSerializer"],["impl Serializer<Denunciation> for DenunciationSerializer"],["impl Serializer<DenunciationIndex> for DenunciationIndexSerializer"],["impl Serializer<OperationId> for OperationIdSerializer"],["impl Serializer<OperationType> for OperationTypeSerializer"],["impl Serializer<BTreeMap<Vec<u8>, Vec<u8>>> for DatastoreSerializer"],["impl Serializer<Vec<OperationId>> for OperationIdsSerializer"],["impl Serializer<Vec<u8>> for VecU8Serializer"],["impl Serializer<Vec<SecureShare<Operation, OperationId>>> for OperationsSerializer"],["impl Serializer<HashSet<OperationPrefixId, BuildHasherDefault<HashMapper<OperationPrefixId>>>> for OperationPrefixIdsSerializer"],["impl Serializer<SCAddressV0> for AddressSerializer"],["impl Serializer<UserAddressV0> for AddressSerializer"],["impl Serializer<Amount> for AmountSerializer"],["impl Serializer<Block> for BlockSerializer"],["impl Serializer<BlockHeader> for BlockHeaderSerializer"],["impl Serializer<BlockIdV0> for BlockIdSerializer"],["impl Serializer<Bytecode> for BytecodeSerializer"],["impl Serializer<Clique> for CliqueSerializer"],["impl Serializer<BlockHeaderDenunciation> for BlockHeaderDenunciationSerializer"],["impl Serializer<EndorsementDenunciation> for EndorsementDenunciationSerializer"],["impl Serializer<Endorsement> for EndorsementSerializer"],["impl Serializer<Endorsement> for EndorsementSerializerLW"],["impl Serializer<LedgerChange> for LedgerChangeSerializer"],["impl Serializer<LedgerChanges> for LedgerChangesSerializer"],["impl Serializer<LedgerData> for LedgerDataSerializer"],["impl Serializer<Operation> for OperationSerializer"],["impl Serializer<OperationIdV0> for OperationIdSerializer"],["impl Serializer<RollUpdate> for RollUpdateSerializer"],["impl Serializer<Slot> for SlotSerializer"],["impl Serializer<Version> for VersionSerializer"],["impl Serializer<BitVec<u8>> for BitVecSerializer"],["impl<SL, L> Serializer<String> for StringSerializer<SL, L>
    where\n SL: Serializer<L>,\n L: TryFrom<usize>,
    "],["impl<T, ID> Serializer<SecureShare<T, ID>> for SecureShareSerializer
    where\n T: Display + SecureShareContent,\n ID: Id,
    "],["impl<T, ST> Serializer<StreamingStep<T>> for StreamingStepSerializer<T, ST>
    where\n ST: Serializer<T>,\n T: Debug,
    "],["impl<T, ST> Serializer<Vec<T>> for VecSerializer<T, ST>
    where\n ST: Serializer<T>,
    "],["impl<T, ST> Serializer<HashSet<T, BuildHasherDefault<HashMapper<T>>>> for PreHashSetSerializer<T, ST>
    where\n ST: Serializer<T>,\n T: PreHashed,
    "],["impl<T: Clone, ST: Serializer<T>> Serializer<SetOrDelete<T>> for SetOrDeleteSerializer<T, ST>"],["impl<T: Clone, ST: Serializer<T>> Serializer<SetOrKeep<T>> for SetOrKeepSerializer<T, ST>"],["impl<T: Default + Applicable<V>, V: Applicable<V> + Clone, ST: Serializer<T>, SV: Serializer<V>> Serializer<SetUpdateOrDelete<T, V>> for SetUpdateOrDeleteSerializer<T, V, ST, SV>"]], +"massa_models":[["impl Serializer<IpAddr> for IpAddrSerializer"],["impl Serializer<Address> for AddressSerializer"],["impl Serializer<SCAddress> for AddressSerializer"],["impl Serializer<UserAddress> for AddressSerializer"],["impl Serializer<BlockId> for BlockIdSerializer"],["impl Serializer<DeferredCallId> for DeferredCallIdSerializer"],["impl Serializer<Denunciation> for DenunciationSerializer"],["impl Serializer<DenunciationIndex> for DenunciationIndexSerializer"],["impl Serializer<OperationId> for OperationIdSerializer"],["impl Serializer<OperationType> for OperationTypeSerializer"],["impl Serializer<BTreeMap<Vec<u8>, Vec<u8>>> for DatastoreSerializer"],["impl Serializer<Vec<OperationId>> for OperationIdsSerializer"],["impl Serializer<Vec<u8>> for VecU8Serializer"],["impl Serializer<Vec<SecureShare<Operation, OperationId>>> for OperationsSerializer"],["impl Serializer<HashSet<OperationPrefixId, BuildHasherDefault<HashMapper<OperationPrefixId>>>> for OperationPrefixIdsSerializer"],["impl Serializer<SCAddressV0> for AddressSerializer"],["impl Serializer<UserAddressV0> for AddressSerializer"],["impl Serializer<Amount> for AmountSerializer"],["impl Serializer<Block> for BlockSerializer"],["impl Serializer<BlockHeader> for BlockHeaderSerializer"],["impl Serializer<BlockIdV0> for BlockIdSerializer"],["impl Serializer<Bytecode> for BytecodeSerializer"],["impl Serializer<Clique> for CliqueSerializer"],["impl Serializer<BlockHeaderDenunciation> for BlockHeaderDenunciationSerializer"],["impl Serializer<EndorsementDenunciation> for EndorsementDenunciationSerializer"],["impl Serializer<Endorsement> for EndorsementSerializer"],["impl Serializer<Endorsement> for EndorsementSerializerLW"],["impl Serializer<LedgerChange> for LedgerChangeSerializer"],["impl Serializer<LedgerChanges> for LedgerChangesSerializer"],["impl Serializer<LedgerData> for LedgerDataSerializer"],["impl Serializer<Operation> for OperationSerializer"],["impl Serializer<OperationIdV0> for OperationIdSerializer"],["impl Serializer<RollUpdate> for RollUpdateSerializer"],["impl Serializer<Slot> for SlotSerializer"],["impl Serializer<Version> for VersionSerializer"],["impl Serializer<BitVec<u8>> for BitVecSerializer"],["impl<SL, L> Serializer<String> for StringSerializer<SL, L>
    where\n SL: Serializer<L>,\n L: TryFrom<usize>,
    "],["impl<T, ID> Serializer<SecureShare<T, ID>> for SecureShareSerializer
    where\n T: Display + SecureShareContent,\n ID: Id,
    "],["impl<T, ST> Serializer<StreamingStep<T>> for StreamingStepSerializer<T, ST>
    where\n ST: Serializer<T>,\n T: Debug,
    "],["impl<T, ST> Serializer<Vec<T>> for VecSerializer<T, ST>
    where\n ST: Serializer<T>,
    "],["impl<T, ST> Serializer<HashSet<T, BuildHasherDefault<HashMapper<T>>>> for PreHashSetSerializer<T, ST>
    where\n ST: Serializer<T>,\n T: PreHashed,
    "],["impl<T: Clone, ST: Serializer<T>> Serializer<SetOrDelete<T>> for SetOrDeleteSerializer<T, ST>"],["impl<T: Clone, ST: Serializer<T>> Serializer<SetOrKeep<T>> for SetOrKeepSerializer<T, ST>"],["impl<T: Default + Applicable<V>, V: Applicable<V> + Clone, ST: Serializer<T>, SV: Serializer<V>> Serializer<SetUpdateOrDelete<T, V>> for SetUpdateOrDeleteSerializer<T, V, ST, SV>"]], "massa_module_cache":[["impl Serializer<ModuleMetadata> for ModuleMetadataSerializer"]], "massa_pos_exports":[["impl Serializer<VecDeque<CycleInfo>> for CycleHistorySerializer"],["impl Serializer<HashMap<Address, ProductionStats, BuildHasherDefault<HashMapper<Address>>>> for ProductionStatsSerializer"],["impl Serializer<HashMap<Address, Amount, BuildHasherDefault<HashMapper<Address>>>> for CreditsSerializer"],["impl Serializer<CycleInfo> for CycleInfoSerializer"],["impl Serializer<DeferredCredits> for DeferredCreditsSerializer"],["impl Serializer<PoSChanges> for PoSChangesSerializer"]], "massa_protocol_exports":[["impl Serializer<BootstrapPeers> for BootstrapPeersSerializer"],["impl Serializer<PeerId> for PeerIdSerializer"]],