From ca78220df0908d774fd66761a43cc17aead09585 Mon Sep 17 00:00:00 2001 From: modship Date: Fri, 3 Jan 2025 10:09:43 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20massalab?= =?UTF-8?q?s/massa@045252312e435732893cc363b511356eb32c2878=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../public/fn.check_input_operation.html | 2 +- massa_api/public/index.html | 2 +- .../address/struct.CompactAddressInfo.html | 4 +- .../struct.DatastoreEntryOutput.html | 4 +- massa_api_exports/error/enum.ApiError.html | 6 +- massa_api_exports/node/index.html | 2 +- massa_api_exports/node/struct.NodeStatus.html | 6 +- .../operation/struct.OperationInfo.html | 4 +- massa_api_exports/rolls/struct.RollsInfo.html | 4 +- .../changes/struct.AsyncPoolChanges.html | 4 +- .../message/struct.AsyncMessage.html | 8 +- .../message/struct.AsyncMessageUpdate.html | 8 +- massa_async_pool/struct.AsyncMessage.html | 8 +- .../struct.AsyncMessageUpdate.html | 8 +- massa_async_pool/struct.AsyncPoolChanges.html | 4 +- .../client/struct.BootstrapClientBinder.html | 4 +- .../server/struct.BootstrapServerBinder.html | 4 +- .../enum.BootstrapClientMessage.html | 4 +- massa_bootstrap/enum.BootstrapError.html | 4 +- .../error/enum.BootstrapError.html | 4 +- .../messages/enum.BootstrapClientMessage.html | 4 +- .../cmds/struct.ExtendedWalletEntry.html | 2 +- massa_client/display/index.html | 2 +- massa_client/display/trait.Output.html | 2 +- .../struct.BootstrapableGraph.html | 12 +- .../error/enum.ConsensusError.html | 2 +- .../error/enum.LedgerError.html | 2 +- .../struct.ExportActiveBlock.html | 4 +- .../call/struct.DeferredCall.html | 8 +- .../struct.DeferredCallRegistryChanges.html | 4 +- massa_deferred_calls/struct.DeferredCall.html | 8 +- .../enum.ExecutionError.html | 2 +- .../enum.ExecutionQueryError.html | 2 +- .../enum.SlotExecutionOutput.html | 2 +- .../error/enum.ExecutionError.html | 2 +- .../error/enum.ExecutionQueryError.html | 2 +- .../mapping_grpc/fn.to_cycle_info.html | 2 +- .../mapping_grpc/fn.to_event_filter.html | 2 +- .../fn.to_execution_query_response.html | 2 +- .../fn.to_execution_query_result.html | 2 +- .../fn.to_execution_query_staker_info.html | 2 +- .../mapping_grpc/fn.to_querystate_filter.html | 3 +- .../mapping_grpc/index.html | 2 +- massa_execution_exports/settings/index.html | 2 +- .../settings/struct.ExecutionConfig.html | 8 +- .../struct.ExecutionConfig.html | 8 +- .../struct.ExecutionOutput.html | 2 +- .../types/enum.SlotExecutionOutput.html | 2 +- .../types/struct.ExecutionOutput.html | 2 +- .../active_history/index.html | 2 +- .../active_history/struct.ActiveHistory.html | 27 +- .../fn.generate_execution_trail_hash.html | 2 +- .../context/fn.init_prng.html | 2 +- massa_execution_worker/context/index.html | 2 +- .../context/struct.ExecutionContext.html | 119 +-- .../struct.ExecutionContextSnapshot.html | 2 +- massa_execution_worker/execution/index.html | 2 +- .../execution/struct.ExecutionState.html | 78 +- .../fn.amount_from_native_amount.html | 2 +- .../fn.amount_to_native_amount.html | 2 +- .../fn.get_address_from_opt_or_context.html | 2 +- .../fn.massa_time_from_native_time.html | 2 +- .../fn.massa_time_to_native_time.html | 2 +- .../interface_impl/index.html | 2 +- .../interface_impl/struct.InterfaceImpl.html | 183 +++-- .../fn.is_triggered.html | 2 +- .../speculative_async_pool/index.html | 2 +- .../struct.SpeculativeAsyncPool.html | 29 +- .../speculative_ledger/index.html | 2 +- .../struct.SpeculativeLedger.html | 30 +- .../trait.FinalStateController.html | 2 +- massa_final_state/enum.FinalStateError.html | 2 +- .../error/enum.FinalStateError.html | 2 +- massa_final_state/final_state/index.html | 2 +- .../final_state/struct.FinalState.html | 14 +- massa_final_state/state_changes/index.html | 2 +- .../state_changes/struct.StateChanges.html | 7 +- massa_final_state/struct.FinalState.html | 14 +- massa_final_state/struct.StateChanges.html | 7 +- .../trait.FinalStateController.html | 2 +- massa_grpc/error/enum.GrpcError.html | 2 +- massa_grpc/private/fn.get_node_status.html | 2 +- .../private/fn.get_peers_whitelist.html | 2 +- .../fn.remove_from_bootstrap_blacklist.html | 2 +- .../fn.remove_from_bootstrap_whitelist.html | 2 +- .../fn.remove_from_peers_whitelist.html | 2 +- .../private/fn.remove_staking_addresses.html | 2 +- .../private/fn.shutdown_gracefully.html | 2 +- massa_grpc/private/fn.sign_messages.html | 2 +- massa_grpc/private/fn.unban_nodes_by_ids.html | 2 +- massa_grpc/private/fn.unban_nodes_by_ips.html | 2 +- massa_grpc/private/index.html | 2 +- massa_grpc/public/fn.get_status.html | 2 +- .../fn.get_transactions_throughput.html | 2 +- massa_grpc/public/fn.query_state.html | 2 +- massa_grpc/public/fn.search_blocks.html | 2 +- massa_grpc/public/fn.search_endorsements.html | 2 +- massa_grpc/public/fn.search_operations.html | 2 +- massa_grpc/public/index.html | 2 +- massa_ledger_exports/controller/index.html | 2 +- .../controller/trait.LedgerController.html | 8 +- massa_ledger_exports/enum.LedgerError.html | 2 +- .../error/enum.LedgerError.html | 2 +- .../ledger_changes/struct.LedgerChanges.html | 4 +- .../struct.LedgerEntryUpdate.html | 10 +- .../ledger_entry/struct.LedgerEntry.html | 12 +- .../struct.LedgerChanges.html | 4 +- massa_ledger_exports/struct.LedgerEntry.html | 12 +- .../struct.LedgerEntryUpdate.html | 10 +- .../trait.LedgerController.html | 8 +- massa_ledger_worker/ledger/index.html | 2 +- .../ledger/struct.FinalLedger.html | 7 +- .../fn.delete_datastore_entries.html | 3 +- .../ledger_db/fn.end_prefix.html | 2 +- massa_ledger_worker/ledger_db/index.html | 2 +- .../ledger_db/struct.LedgerDB.html | 23 +- massa_ledger_worker/struct.FinalLedger.html | 7 +- massa_models/address/enum.Address.html | 8 +- massa_models/address/enum.SCAddress.html | 8 +- massa_models/address/enum.UserAddress.html | 8 +- .../address/struct.AddressDeserializer.html | 18 +- .../address/struct.AddressSerializer.html | 18 +- massa_models/address/struct.SCAddressV0.html | 8 +- .../address/struct.UserAddressV0.html | 8 +- massa_models/all.html | 2 +- massa_models/amount/struct.Amount.html | 10 +- .../amount/struct.AmountDeserializer.html | 6 +- .../amount/struct.AmountSerializer.html | 8 +- massa_models/block/struct.Block.html | 18 +- .../block/struct.BlockDeserializer.html | 2 +- .../block/struct.BlockSerializer.html | 4 +- .../block_header/struct.BlockHeader.html | 18 +- .../struct.BlockHeaderDeserializer.html | 12 +- .../struct.BlockHeaderSerializer.html | 10 +- massa_models/block_id/enum.BlockId.html | 14 +- .../block_id/struct.BlockIdDeserializer.html | 10 +- .../block_id/struct.BlockIdSerializer.html | 10 +- massa_models/block_id/struct.BlockIdV0.html | 10 +- massa_models/bytecode/struct.Bytecode.html | 8 +- .../bytecode/struct.BytecodeDeserializer.html | 8 +- .../bytecode/struct.BytecodeSerializer.html | 8 +- massa_models/clique/struct.Clique.html | 8 +- .../clique/struct.CliqueDeserializer.html | 8 +- .../clique/struct.CliqueSerializer.html | 10 +- .../compact_config/struct.CompactConfig.html | 16 +- ..._CALL_BASE_FEE_MAX_CHANGE_DENOMINATOR.html | 2 +- .../constant.DEFERRED_CALL_CST_GAS_COST.html | 2 +- ...ERRED_CALL_GLOBAL_OVERBOOKING_PENALTY.html | 2 +- .../constant.DEFERRED_CALL_MAX_ASYNC_GAS.html | 2 +- ...nstant.DEFERRED_CALL_MAX_FUTURE_SLOTS.html | 2 +- ...nstant.DEFERRED_CALL_MAX_POOL_CHANGES.html | 2 +- .../constant.DEFERRED_CALL_MIN_GAS_COST.html | 2 +- ...stant.DEFERRED_CALL_MIN_GAS_INCREMENT.html | 2 +- ...EFERRED_CALL_SLOT_OVERBOOKING_PENALTY.html | 2 +- .../constant.DENUNCIATION_EXPIRE_PERIODS.html | 2 +- ...nt.MAX_DENUNCIATIONS_PER_BLOCK_HEADER.html | 2 +- ...stant.MAX_DENUNCIATION_CHANGES_LENGTH.html | 2 +- .../constant.MAX_DUPLEX_BUFFER_SIZE.html | 2 +- ...constant.MAX_ENDORSEMENTS_PER_MESSAGE.html | 2 +- .../constant.MAX_EVENT_DATA_SIZE.html | 2 - .../constant.MAX_EVENT_DATA_SIZE_V0.html | 2 + .../constant.MAX_EVENT_DATA_SIZE_V1.html | 2 + .../constant.MAX_EVENT_PER_OPERATION.html | 2 +- .../constant.MAX_LISTENERS_PER_PEER.html | 2 +- .../constant.MAX_OPERATION_STORAGE_TIME.html | 2 +- ...nstant.MAX_PEERS_IN_ANNOUNCEMENT_LIST.html | 2 +- .../constant.MAX_RECURSIVE_CALLS_DEPTH.html | 2 +- ...AX_SIZE_CHANNEL_COMMANDS_CONNECTIVITY.html | 2 +- ...stant.MAX_SIZE_CHANNEL_COMMANDS_PEERS.html | 2 +- ...AX_SIZE_CHANNEL_COMMANDS_PEER_TESTERS.html | 2 +- ...E_CHANNEL_COMMANDS_PROPAGATION_BLOCKS.html | 2 +- ...NEL_COMMANDS_PROPAGATION_ENDORSEMENTS.html | 2 +- ...ANNEL_COMMANDS_PROPAGATION_OPERATIONS.html | 2 +- ...IZE_CHANNEL_COMMANDS_RETRIEVAL_BLOCKS.html | 2 +- ...ANNEL_COMMANDS_RETRIEVAL_ENDORSEMENTS.html | 2 +- ...CHANNEL_COMMANDS_RETRIEVAL_OPERATIONS.html | 2 +- ...SIZE_CHANNEL_NETWORK_TO_BLOCK_HANDLER.html | 2 +- ...HANNEL_NETWORK_TO_ENDORSEMENT_HANDLER.html | 2 +- ..._CHANNEL_NETWORK_TO_OPERATION_HANDLER.html | 2 +- ..._SIZE_CHANNEL_NETWORK_TO_PEER_HANDLER.html | 2 +- ...tant.MIP_STORE_STATS_BLOCK_CONSIDERED.html | 2 +- ...stant.NETWORK_CONTROLLER_CHANNEL_SIZE.html | 2 +- .../constant.NETWORK_EVENT_CHANNEL_SIZE.html | 2 +- ...ant.NETWORK_NODE_COMMAND_CHANNEL_SIZE.html | 2 +- ...stant.NETWORK_NODE_EVENT_CHANNEL_SIZE.html | 2 +- .../constant.NODE_SEND_CHANNEL_SIZE.html | 2 +- ...t.ROLL_COUNT_TO_SLASH_ON_DENUNCIATION.html | 2 +- .../config/constants/constant.T0.html | 2 +- ...stant.VERSIONING_ACTIVATION_DELAY_MIN.html | 2 +- ...SIONING_THRESHOLD_TRANSITION_ACCEPTED.html | 2 +- massa_models/config/constants/index.html | 4 +- .../config/constants/sidebar-items.js | 2 +- .../constants/struct.END_TIMESTAMP.html | 4 +- .../constants/struct.GENESIS_TIMESTAMP.html | 14 +- massa_models/config/struct.CompactConfig.html | 16 +- .../struct.DatastoreDeserializer.html | 6 +- .../datastore/struct.DatastoreSerializer.html | 8 +- .../deferred_calls/enum.DeferredCallId.html | 10 +- .../struct.DeferredCallIdDeserializer.html | 4 +- .../struct.DeferredCallIdSerializer.html | 4 +- .../denunciation/enum.Denunciation.html | 14 +- .../denunciation/enum.DenunciationError.html | 4 +- .../denunciation/enum.DenunciationIndex.html | 12 +- .../enum.DenunciationIndexTypeId.html | 2 +- .../denunciation/enum.DenunciationTypeId.html | 2 +- .../struct.BlockHeaderDenunciation.html | 10 +- ...t.BlockHeaderDenunciationDeserializer.html | 4 +- ...uct.BlockHeaderDenunciationSerializer.html | 4 +- .../struct.DenunciationDeserializer.html | 8 +- .../struct.DenunciationIndexDeserializer.html | 10 +- .../struct.DenunciationIndexSerializer.html | 10 +- .../struct.DenunciationSerializer.html | 8 +- .../struct.EndorsementDenunciation.html | 8 +- ...t.EndorsementDenunciationDeserializer.html | 8 +- ...uct.EndorsementDenunciationSerializer.html | 8 +- .../endorsement/enum.EndorsementId.html | 6 +- .../endorsement/struct.Endorsement.html | 26 +- .../struct.EndorsementDeserializer.html | 6 +- .../struct.EndorsementDeserializerLW.html | 6 +- .../struct.EndorsementIdDeserializer.html | 8 +- .../endorsement/struct.EndorsementIdV0.html | 4 +- .../struct.EndorsementSerializer.html | 8 +- .../struct.EndorsementSerializerLW.html | 8 +- massa_models/error/enum.ModelsError.html | 10 +- massa_models/ledger/struct.LedgerChange.html | 10 +- .../struct.LedgerChangeDeserializer.html | 2 +- .../ledger/struct.LedgerChangeSerializer.html | 4 +- massa_models/ledger/struct.LedgerChanges.html | 8 +- .../struct.LedgerChangesDeserializer.html | 6 +- .../struct.LedgerChangesSerializer.html | 8 +- massa_models/ledger/struct.LedgerData.html | 6 +- .../ledger/struct.LedgerDataDeserializer.html | 2 +- .../ledger/struct.LedgerDataSerializer.html | 4 +- massa_models/node/struct.NodeId.html | 4 +- massa_models/operation/enum.OperationId.html | 8 +- .../operation/enum.OperationPrefixId.html | 6 +- .../operation/enum.OperationType.html | 10 +- .../operation/enum.OperationTypeId.html | 2 +- massa_models/operation/struct.Operation.html | 18 +- .../struct.OperationDeserializer.html | 6 +- .../struct.OperationIdDeserializer.html | 10 +- .../struct.OperationIdSerializer.html | 10 +- .../operation/struct.OperationIdV0.html | 12 +- .../struct.OperationIdsDeserializer.html | 6 +- .../struct.OperationIdsSerializer.html | 8 +- .../struct.OperationPrefixIdDeserializer.html | 2 +- ...struct.OperationPrefixIdsDeserializer.html | 6 +- .../struct.OperationPrefixIdsSerializer.html | 8 +- .../operation/struct.OperationSerializer.html | 8 +- .../struct.OperationTypeDeserializer.html | 12 +- .../struct.OperationTypeSerializer.html | 12 +- .../struct.OperationsDeserializer.html | 6 +- .../struct.OperationsSerializer.html | 8 +- .../struct.EventExecutionContext.html | 4 +- massa_models/rolls/struct.RollUpdate.html | 10 +- .../rolls/struct.RollUpdateDeserializer.html | 6 +- .../rolls/struct.RollUpdateSerializer.html | 8 +- .../secure_share/struct.SecureShare.html | 12 +- .../struct.SecureShareDeserializer.html | 10 +- .../struct.SecureShareSerializer.html | 10 +- .../trait.SecureShareContent.html | 16 +- .../struct.BitVecDeserializer.html | 8 +- .../struct.BitVecSerializer.html | 8 +- .../struct.IpAddrDeserializer.html | 2 +- .../struct.IpAddrSerializer.html | 4 +- .../struct.PreHashSetDeserializer.html | 16 +- .../struct.PreHashSetSerializer.html | 16 +- .../struct.StringDeserializer.html | 14 +- .../struct.StringSerializer.html | 14 +- .../serialization/struct.VecDeserializer.html | 14 +- .../serialization/struct.VecSerializer.html | 14 +- .../struct.VecU8Deserializer.html | 6 +- .../serialization/struct.VecU8Serializer.html | 8 +- massa_models/slot/struct.Slot.html | 6 +- .../slot/struct.SlotDeserializer.html | 6 +- massa_models/slot/struct.SlotSerializer.html | 8 +- massa_models/stats/struct.ConsensusStats.html | 8 +- massa_models/stats/struct.ExecutionStats.html | 12 +- massa_models/stats/struct.NetworkStats.html | 4 +- massa_models/stats/struct.PoolStats.html | 4 +- .../streaming_step/enum.StreamingStep.html | 16 +- .../struct.StreamingStepDeserializer.html | 18 +- .../struct.StreamingStepSerializer.html | 18 +- .../fn.get_block_slot_timestamp.html | 6 +- .../fn.get_closest_slot_to_timestamp.html | 6 +- .../fn.get_current_latest_block_slot.html | 4 +- ...fn.get_latest_block_slot_at_timestamp.html | 6 +- .../fn.time_range_to_slot_range.html | 8 +- massa_models/types/enum.SetOrDelete.html | 8 +- massa_models/types/enum.SetOrKeep.html | 10 +- .../types/enum.SetUpdateOrDelete.html | 10 +- .../types/struct.SetOrDeleteDeserializer.html | 6 +- .../types/struct.SetOrDeleteSerializer.html | 6 +- .../types/struct.SetOrKeepDeserializer.html | 6 +- .../types/struct.SetOrKeepSerializer.html | 6 +- .../struct.SetUpdateOrDeleteDeserializer.html | 6 +- .../struct.SetUpdateOrDeleteSerializer.html | 6 +- massa_models/version/struct.Version.html | 10 +- .../version/struct.VersionDeserializer.html | 6 +- .../version/struct.VersionSerializer.html | 8 +- massa_module_cache/controller/index.html | 2 +- .../controller/struct.ModuleCache.html | 29 +- massa_module_cache/error/enum.CacheError.html | 2 +- massa_module_cache/hd_cache/index.html | 2 +- .../hd_cache/struct.HDCache.html | 18 +- massa_module_cache/lru_cache/index.html | 2 +- .../lru_cache/struct.LRUCache.html | 12 +- .../types/enum.ModuleMetadataId.html | 2 +- massa_node/fn.configure_grpc.html | 2 +- massa_node/fn.launch.html | 4 +- massa_node/fn.load_wallet.html | 2 +- massa_node/fn.main.html | 2 +- massa_node/fn.run.html | 2 +- massa_node/fn.stop.html | 8 +- massa_node/index.html | 2 +- massa_node/struct.Args.html | 14 +- massa_node/struct.Managers.html | 2 +- .../struct.PoolControllerImpl.html | 32 +- .../struct.PoolManagerImpl.html | 2 +- .../struct.DenunciationPool.html | 10 +- .../struct.EndorsementPool.html | 12 +- .../fn.start_pool_controller.html | 6 +- .../operation_pool/struct.OperationPool.html | 12 +- .../worker/fn.start_pool_controller.html | 6 +- .../worker/struct.OperationPoolThread.html | 4 +- .../struct.DeferredCredits.html | 4 +- .../pos_changes/struct.PoSChanges.html | 4 +- massa_pos_exports/struct.DeferredCredits.html | 4 +- massa_pos_exports/struct.PoSChanges.html | 4 +- .../enum.ProtocolError.html | 2 +- .../error/enum.ProtocolError.html | 2 +- .../peer_id/struct.PeerId.html | 8 +- massa_protocol_exports/struct.PeerId.html | 8 +- .../messages/enum.BlockMessage.html | 2 +- .../messages/enum.MessageTypeId.html | 4 +- .../messages/enum.EndorsementMessage.html | 2 +- .../messages/enum.MessageTypeId.html | 4 +- .../messages/enum.OperationMessage.html | 2 +- .../messages/enum.PeerManagementMessage.html | 2 +- .../messages/enum.Message.html | 2 +- .../messages/enum.MessageTypeId.html | 2 +- massa_sdk/enum.ClientError.html | 2 +- massa_time/enum.TimeError.html | 2 +- massa_time/error/enum.TimeError.html | 2 +- massa_time/struct.MassaTime.html | 12 +- massa_versioning/mips/fn.get_mip_list.html | 2 +- massa_versioning/mips/index.html | 2 +- .../versioning/enum.ComponentState.html | 8 +- .../enum.ComponentStateMessages.html | 6 +- .../versioning/enum.ComponentStateTypeId.html | 12 +- .../versioning/enum.ExtendFromDbError.html | 4 +- .../versioning/enum.IsConsistentError.html | 6 +- ...m.IsConsistentWithShutdownPeriodError.html | 4 +- .../versioning/enum.IsKVValidError.html | 4 +- .../versioning/enum.MipComponent.html | 6 +- .../versioning/enum.StateAtError.html | 6 +- .../versioning/enum.UpdateWithError.html | 6 +- massa_versioning/versioning/index.html | 2 +- .../versioning/struct.Active.html | 8 +- .../versioning/struct.Advance.html | 6 +- .../versioning/struct.AdvanceLW.html | 12 +- .../versioning/struct.Defined.html | 8 +- .../versioning/struct.Failed.html | 8 +- .../versioning/struct.LockedIn.html | 8 +- .../versioning/struct.MipInfo.html | 12 +- .../versioning/struct.MipState.html | 22 +- .../versioning/struct.MipStatsConfig.html | 6 +- .../versioning/struct.MipStore.html | 34 +- .../versioning/struct.MipStoreRaw.html | 36 +- .../versioning/struct.MipStoreStats.html | 8 +- .../versioning/struct.Started.html | 8 +- .../versioning_factory/enum.FactoryError.html | 2 +- massa_wallet/enum.WalletError.html | 2 +- massa_wallet/error/enum.WalletError.html | 2 +- massa_wallet/struct.Wallet.html | 4 +- search-index.js | 40 +- .../massa_api_exports-desc-0-.js | 2 +- .../massa_execution_exports-desc-0-.js | 2 +- .../massa_execution_worker-desc-0-.js | 2 +- .../massa_final_state-desc-0-.js | 2 +- .../massa_models/massa_models-desc-0-.js | 2 +- src/massa_api/public.rs.html | 74 ++ src/massa_api_exports/node.rs.html | 4 + src/massa_client/display.rs.html | 2 + src/massa_db_worker/massa_db.rs.html | 4 +- src/massa_event_cache/event_cache.rs.html | 4 +- .../mapping_grpc.rs.html | 38 + src/massa_execution_exports/settings.rs.html | 6 +- .../active_history.rs.html | 36 +- src/massa_execution_worker/context.rs.html | 612 +++++++++++++- src/massa_execution_worker/execution.rs.html | 752 ++++++++++++++---- .../interface_impl.rs.html | 390 ++++++--- .../speculative_async_pool.rs.html | 192 ++++- .../speculative_ledger.rs.html | 80 +- src/massa_final_state/final_state.rs.html | 36 +- src/massa_final_state/state_changes.rs.html | 36 + src/massa_grpc/private.rs.html | 2 + src/massa_grpc/public.rs.html | 8 +- src/massa_ledger_exports/controller.rs.html | 12 +- src/massa_ledger_worker/ledger.rs.html | 22 +- src/massa_ledger_worker/ledger_db.rs.html | 72 +- src/massa_models/config/constants.rs.html | 6 +- src/massa_module_cache/controller.rs.html | 58 +- src/massa_module_cache/hd_cache.rs.html | 74 +- src/massa_module_cache/lru_cache.rs.html | 8 + src/massa_node/main.rs.html | 14 +- src/massa_versioning/lib.rs.html | 2 +- src/massa_versioning/mips.rs.html | 96 ++- src/massa_versioning/versioning.rs.html | 4 + trait.impl/core/clone/trait.Clone.js | 2 +- trait.impl/core/convert/trait.From.js | 4 +- .../controller_traits/trait.PoolController.js | 2 +- .../controller_traits/trait.PoolManager.js | 2 +- .../massa_serialization/trait.Deserializer.js | 2 +- .../massa_serialization/trait.Serializer.js | 2 +- 415 files changed, 3598 insertions(+), 1792 deletions(-) delete mode 100644 massa_models/config/constants/constant.MAX_EVENT_DATA_SIZE.html create mode 100644 massa_models/config/constants/constant.MAX_EVENT_DATA_SIZE_V0.html create mode 100644 massa_models/config/constants/constant.MAX_EVENT_DATA_SIZE_V1.html diff --git a/massa_api/public/fn.check_input_operation.html b/massa_api/public/fn.check_input_operation.html index b5bb8425ffa..0b3e36920b5 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 d8a24c3d0b9..f0c80baad33 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_api_exports/address/struct.CompactAddressInfo.html b/massa_api_exports/address/struct.CompactAddressInfo.html index 77c32e0fe0e..26c3a8dc785 100644 --- a/massa_api_exports/address/struct.CompactAddressInfo.html +++ b/massa_api_exports/address/struct.CompactAddressInfo.html @@ -14,8 +14,8 @@
§active_rolls: u64

active rolls

§final_balance: Amount

final balance

§candidate_balance: Amount

candidate balance

-

Trait Implementations§

source§

impl Debug for CompactAddressInfo

source§

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

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

impl<'de> Deserialize<'de> for CompactAddressInfo

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 Display for CompactAddressInfo

source§

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

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

impl Serialize for CompactAddressInfo

source§

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

Trait Implementations§

source§

impl Debug for CompactAddressInfo

source§

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

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

impl<'de> Deserialize<'de> for CompactAddressInfo

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 Display for CompactAddressInfo

source§

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

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

impl Serialize for CompactAddressInfo

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
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 diff --git a/massa_api_exports/datastore/struct.DatastoreEntryOutput.html b/massa_api_exports/datastore/struct.DatastoreEntryOutput.html index b748c07e191..42facb198ed 100644 --- a/massa_api_exports/datastore/struct.DatastoreEntryOutput.html +++ b/massa_api_exports/datastore/struct.DatastoreEntryOutput.html @@ -4,8 +4,8 @@ }

Expand description

Datastore entry query output structure

Fields§

§final_value: Option<Vec<u8>>

final datastore entry value

§candidate_value: Option<Vec<u8>>

candidate datastore entry value

-

Trait Implementations§

source§

impl Clone for DatastoreEntryOutput

source§

fn clone(&self) -> DatastoreEntryOutput

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 DatastoreEntryOutput

source§

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

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

impl<'de> Deserialize<'de> for DatastoreEntryOutput

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 Display for DatastoreEntryOutput

source§

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

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

impl Serialize for DatastoreEntryOutput

source§

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

Trait Implementations§

source§

impl Clone for DatastoreEntryOutput

source§

fn clone(&self) -> DatastoreEntryOutput

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 DatastoreEntryOutput

source§

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

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

impl<'de> Deserialize<'de> for DatastoreEntryOutput

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 Display for DatastoreEntryOutput

source§

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

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

impl Serialize for DatastoreEntryOutput

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
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 diff --git a/massa_api_exports/error/enum.ApiError.html b/massa_api_exports/error/enum.ApiError.html index d844ab96a98..8491bf1b101 100644 --- a/massa_api_exports/error/enum.ApiError.html +++ b/massa_api_exports/error/enum.ApiError.html @@ -7,7 +7,7 @@ ProtocolError(String), ModelsError(ModelsError), TimeError(TimeError), - WalletError(WalletError), + WalletError(WalletError), NotFound, InconsistencyError(String), MissingCommandSender(String), @@ -25,7 +25,7 @@
§

ProtocolError(String)

Protocol error: {0}

§

ModelsError(ModelsError)

Models error: {0}

§

TimeError(TimeError)

Time error: {0}

-
§

WalletError(WalletError)

Wallet error: {0}

+
§

WalletError(WalletError)

Wallet error: {0}

§

NotFound

Not found

§

InconsistencyError(String)

Inconsistency error: {0}

§

MissingCommandSender(String)

Missing command sender: {0}

@@ -34,7 +34,7 @@
§

BadRequest(String)

Bad request: {0}

§

InternalServerError(String)

Internal server error: {0}

§

FactoryError(FactoryError)

Versioning Factory error: {0}

-

Trait Implementations§

source§

impl Debug for ApiError

source§

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

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

impl Display for ApiError

source§

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

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

impl Error for ApiError

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<ApiError> for ErrorObjectOwned

source§

fn from(err: ApiError) -> Self

Converts to this type from the input type.
source§

impl From<FactoryError> for ApiError

source§

fn from(source: FactoryError) -> Self

Converts to this type from the input type.
source§

impl From<MassaHashError> for ApiError

source§

fn from(source: MassaHashError) -> Self

Converts to this type from the input type.
source§

impl From<ModelsError> for ApiError

source§

fn from(source: ModelsError) -> Self

Converts to this type from the input type.
source§

impl From<TimeError> for ApiError

source§

fn from(source: TimeError) -> Self

Converts to this type from the input type.
source§

impl From<WalletError> for ApiError

source§

fn from(source: WalletError) -> 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 Debug for ApiError

source§

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

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

impl Display for ApiError

source§

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

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

impl Error for ApiError

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<ApiError> for ErrorObjectOwned

source§

fn from(err: ApiError) -> Self

Converts to this type from the input type.
source§

impl From<FactoryError> for ApiError

source§

fn from(source: FactoryError) -> Self

Converts to this type from the input type.
source§

impl From<MassaHashError> for ApiError

source§

fn from(source: MassaHashError) -> Self

Converts to this type from the input type.
source§

impl From<ModelsError> for ApiError

source§

fn from(source: ModelsError) -> Self

Converts to this type from the input type.
source§

impl From<TimeError> for ApiError

source§

fn from(source: TimeError) -> Self

Converts to this type from the input type.
source§

impl From<WalletError> for ApiError

source§

fn from(source: WalletError) -> 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_api_exports/node/index.html b/massa_api_exports/node/index.html index fa021a065c3..6952837d593 100644 --- a/massa_api_exports/node/index.html +++ b/massa_api_exports/node/index.html @@ -1,2 +1,2 @@ -massa_api_exports::node - Rust

Module massa_api_exports::node

source ·
Expand description

node related structure

+massa_api_exports::node - Rust

Module massa_api_exports::node

source ·
Expand description

node related structure

Structs§

\ No newline at end of file diff --git a/massa_api_exports/node/struct.NodeStatus.html b/massa_api_exports/node/struct.NodeStatus.html index a7f6ba6689e..7de1bc0d399 100644 --- a/massa_api_exports/node/struct.NodeStatus.html +++ b/massa_api_exports/node/struct.NodeStatus.html @@ -1,4 +1,4 @@ -NodeStatus in massa_api_exports::node - Rust

Struct massa_api_exports::node::NodeStatus

source ·
pub struct NodeStatus {
Show 17 fields +NodeStatus in massa_api_exports::node - Rust

Struct massa_api_exports::node::NodeStatus

source ·
pub struct NodeStatus {
Show 18 fields pub node_id: NodeId, pub node_ip: Option<IpAddr>, pub version: Version, @@ -16,6 +16,7 @@ pub config: CompactConfig, pub chain_id: u64, pub minimal_fees: Amount, + pub current_mip_version: u32,
}
Expand description

node status

Fields§

§node_id: NodeId

our node id

§node_ip: Option<IpAddr>

optional node ip

@@ -34,8 +35,9 @@
§config: CompactConfig

compact configuration

§chain_id: u64

chain id

§minimal_fees: Amount

minimal fees to include an operation in a block

+
§current_mip_version: u32

current mip version

Trait Implementations§

source§

impl Clone for NodeStatus

source§

fn clone(&self) -> NodeStatus

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 NodeStatus

source§

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

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

impl<'de> Deserialize<'de> for NodeStatus

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 Display for NodeStatus

source§

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

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

impl Serialize for NodeStatus

source§

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

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for NodeStatus

source§

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

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

impl Serialize for NodeStatus

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
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 diff --git a/massa_api_exports/operation/struct.OperationInfo.html b/massa_api_exports/operation/struct.OperationInfo.html index 6842e75608e..6c8caa2bcc5 100644 --- a/massa_api_exports/operation/struct.OperationInfo.html +++ b/massa_api_exports/operation/struct.OperationInfo.html @@ -15,8 +15,8 @@
§thread: u8

Thread in which the operation can be included

§operation: SecureShareOperation

the operation itself

§op_exec_status: Option<bool>

true if the operation execution succeeded, false if failed, None means unknown

-

Trait Implementations§

source§

impl Clone for OperationInfo

source§

fn clone(&self) -> OperationInfo

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 OperationInfo

source§

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

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

impl<'de> Deserialize<'de> for OperationInfo

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 Display for OperationInfo

source§

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

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

impl Serialize for OperationInfo

source§

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

Trait Implementations§

source§

impl Clone for OperationInfo

source§

fn clone(&self) -> OperationInfo

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 OperationInfo

source§

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

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

impl<'de> Deserialize<'de> for OperationInfo

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 Display for OperationInfo

source§

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

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

impl Serialize for OperationInfo

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
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 diff --git a/massa_api_exports/rolls/struct.RollsInfo.html b/massa_api_exports/rolls/struct.RollsInfo.html index 65eae3c425c..1aec60d594f 100644 --- a/massa_api_exports/rolls/struct.RollsInfo.html +++ b/massa_api_exports/rolls/struct.RollsInfo.html @@ -6,8 +6,8 @@

Fields§

§active_rolls: u64

count taken into account for the current cycle

§final_rolls: u64

at final blocks

§candidate_rolls: u64

at latest blocks

-

Trait Implementations§

source§

impl Clone for RollsInfo

source§

fn clone(&self) -> RollsInfo

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 RollsInfo

source§

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

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

impl<'de> Deserialize<'de> for RollsInfo

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 Display for RollsInfo

source§

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

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

impl Serialize for RollsInfo

source§

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

Trait Implementations§

source§

impl Clone for RollsInfo

source§

fn clone(&self) -> RollsInfo

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 RollsInfo

source§

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

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

impl<'de> Deserialize<'de> for RollsInfo

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 Display for RollsInfo

source§

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

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

impl Serialize for RollsInfo

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 Copy for RollsInfo

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 diff --git a/massa_async_pool/changes/struct.AsyncPoolChanges.html b/massa_async_pool/changes/struct.AsyncPoolChanges.html index b6f713096af..1d0cc638301 100644 --- a/massa_async_pool/changes/struct.AsyncPoolChanges.html +++ b/massa_async_pool/changes/struct.AsyncPoolChanges.html @@ -24,8 +24,8 @@ buffer: &'a [u8], ) -> IResult<&'a [u8], AsyncPoolChanges, E>

Deserialize a value T from a buffer of u8. Read more
source§

impl PartialEq for AsyncPoolChanges

source§

fn eq(&self, other: &AsyncPoolChanges) -> 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 AsyncPoolChanges

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<AsyncPoolChanges> for AsyncPoolChangesSerializer

source§

fn serialize( +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for AsyncPoolChanges

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<AsyncPoolChanges> for AsyncPoolChangesSerializer

source§

fn serialize( &self, value: &AsyncPoolChanges, buffer: &mut Vec<u8>, diff --git a/massa_async_pool/message/struct.AsyncMessage.html b/massa_async_pool/message/struct.AsyncMessage.html index d923f244b1c..2e35ef6d999 100644 --- a/massa_async_pool/message/struct.AsyncMessage.html +++ b/massa_async_pool/message/struct.AsyncMessage.html @@ -52,7 +52,7 @@ __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Deserializer<AsyncMessage> for AsyncMessageDeserializer

source§

fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], AsyncMessage, E>

§Example
+) -> IResult<&'a [u8], AsyncMessage, E>
§Example
use massa_async_pool::{AsyncMessage, AsyncMessageSerializer, AsyncMessageDeserializer, AsyncMessageTrigger};
 use massa_models::{address::Address, amount::Amount, slot::Slot};
 use massa_serialization::{Serializer, Deserializer, DeserializeError};
@@ -86,12 +86,12 @@
 assert_eq!(message, message_deserialized);
source§

impl From<AsyncMessage> for AsyncMessage

source§

fn from(value: AsyncMessage) -> Self

Converts to this type from the input type.
source§

impl From<AsyncMessage> for AsyncMessageInfo

source§

fn from(value: AsyncMessage) -> Self

Converts to this type from the input type.
source§

impl PartialEq for AsyncMessage

source§

fn eq(&self, other: &AsyncMessage) -> 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 AsyncMessage

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<AsyncMessage> for AsyncMessageSerializer

source§

fn serialize( +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for AsyncMessage

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<AsyncMessage> for AsyncMessageSerializer

source§

fn serialize( &self, value: &AsyncMessage, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

§Example
+) -> Result<(), SerializeError>
§Example
use massa_async_pool::{AsyncMessage, AsyncMessageSerializer, AsyncMessageTrigger};
 use massa_models::{address::Address, amount::Amount, slot::Slot};
 use massa_serialization::Serializer;
diff --git a/massa_async_pool/message/struct.AsyncMessageUpdate.html b/massa_async_pool/message/struct.AsyncMessageUpdate.html
index 46bf8b65cff..65783fdbb17 100644
--- a/massa_async_pool/message/struct.AsyncMessageUpdate.html
+++ b/massa_async_pool/message/struct.AsyncMessageUpdate.html
@@ -31,11 +31,11 @@
 
§trigger: SetOrKeep<Option<AsyncMessageTrigger>>

Trigger that define whenever a message can be executed

§can_be_executed: SetOrKeep<bool>

Boolean that determine if the message can be executed. For messages without filter this boolean is always true. For messages with filter, this boolean is true if the filter has been matched between validity_start and current slot.

-

Trait Implementations§

source§

impl Applicable<AsyncMessageUpdate> for AsyncMessage

source§

fn apply(&mut self, update: AsyncMessageUpdate)

extends the AsyncMessage with a AsyncMessageUpdate

+

Trait Implementations§

source§

impl Applicable<AsyncMessageUpdate> for AsyncMessage

source§

fn apply(&mut self, update: AsyncMessageUpdate)

extends the AsyncMessage with a AsyncMessageUpdate

source§

impl Applicable<AsyncMessageUpdate> for AsyncMessageInfo

source§

fn apply(&mut self, update: AsyncMessageUpdate)

extends the AsyncMessage with a AsyncMessageUpdate

-
source§

impl Applicable<AsyncMessageUpdate> for AsyncMessageUpdate

source§

fn apply(&mut self, update: AsyncMessageUpdate)

extends the AsyncMessageUpdate with another one

-
source§

impl Clone for AsyncMessageUpdate

source§

fn clone(&self) -> AsyncMessageUpdate

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 AsyncMessageUpdate

source§

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

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

impl Default for AsyncMessageUpdate

source§

fn default() -> AsyncMessageUpdate

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

impl<'de> Deserialize<'de> for AsyncMessageUpdate

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<AsyncMessageUpdate> for AsyncMessageUpdateDeserializer

source§

fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

source§

impl Applicable<AsyncMessageUpdate> for AsyncMessageUpdate

source§

fn apply(&mut self, update: AsyncMessageUpdate)

extends the AsyncMessageUpdate with another one

+
source§

impl Clone for AsyncMessageUpdate

source§

fn clone(&self) -> AsyncMessageUpdate

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 AsyncMessageUpdate

source§

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

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

impl Default for AsyncMessageUpdate

source§

fn default() -> AsyncMessageUpdate

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

impl<'de> Deserialize<'de> for AsyncMessageUpdate

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<AsyncMessageUpdate> for AsyncMessageUpdateDeserializer

source§

fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], AsyncMessageUpdate, E>

Deserialize a value T from a buffer of u8. Read more
source§

impl From<AsyncMessageUpdate> for AsyncMessageUpdate

source§

fn from(value: AsyncMessageUpdate) -> Self

Converts to this type from the input type.
source§

impl PartialEq for AsyncMessageUpdate

source§

fn eq(&self, other: &AsyncMessageUpdate) -> bool

This method tests for self and other values to be equal, and is used diff --git a/massa_async_pool/struct.AsyncMessage.html b/massa_async_pool/struct.AsyncMessage.html index 4ca185aa7a5..108371b54f5 100644 --- a/massa_async_pool/struct.AsyncMessage.html +++ b/massa_async_pool/struct.AsyncMessage.html @@ -52,7 +52,7 @@ __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§

impl Deserializer<AsyncMessage> for AsyncMessageDeserializer

source§

fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], AsyncMessage, E>

§Example
+) -> IResult<&'a [u8], AsyncMessage, E>
§Example
use massa_async_pool::{AsyncMessage, AsyncMessageSerializer, AsyncMessageDeserializer, AsyncMessageTrigger};
 use massa_models::{address::Address, amount::Amount, slot::Slot};
 use massa_serialization::{Serializer, Deserializer, DeserializeError};
@@ -86,12 +86,12 @@
 assert_eq!(message, message_deserialized);
source§

impl From<AsyncMessage> for AsyncMessage

source§

fn from(value: AsyncMessage) -> Self

Converts to this type from the input type.
source§

impl From<AsyncMessage> for AsyncMessageInfo

source§

fn from(value: AsyncMessage) -> Self

Converts to this type from the input type.
source§

impl PartialEq for AsyncMessage

source§

fn eq(&self, other: &AsyncMessage) -> 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 AsyncMessage

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<AsyncMessage> for AsyncMessageSerializer

source§

fn serialize( +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for AsyncMessage

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<AsyncMessage> for AsyncMessageSerializer

source§

fn serialize( &self, value: &AsyncMessage, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

§Example
+) -> Result<(), SerializeError>
§Example
use massa_async_pool::{AsyncMessage, AsyncMessageSerializer, AsyncMessageTrigger};
 use massa_models::{address::Address, amount::Amount, slot::Slot};
 use massa_serialization::Serializer;
diff --git a/massa_async_pool/struct.AsyncMessageUpdate.html b/massa_async_pool/struct.AsyncMessageUpdate.html
index 5bfd094fdf2..0958625454a 100644
--- a/massa_async_pool/struct.AsyncMessageUpdate.html
+++ b/massa_async_pool/struct.AsyncMessageUpdate.html
@@ -31,11 +31,11 @@
 
§trigger: SetOrKeep<Option<AsyncMessageTrigger>>

Trigger that define whenever a message can be executed

§can_be_executed: SetOrKeep<bool>

Boolean that determine if the message can be executed. For messages without filter this boolean is always true. For messages with filter, this boolean is true if the filter has been matched between validity_start and current slot.

-

Trait Implementations§

source§

impl Applicable<AsyncMessageUpdate> for AsyncMessage

source§

fn apply(&mut self, update: AsyncMessageUpdate)

extends the AsyncMessage with a AsyncMessageUpdate

+

Trait Implementations§

source§

impl Applicable<AsyncMessageUpdate> for AsyncMessage

source§

fn apply(&mut self, update: AsyncMessageUpdate)

extends the AsyncMessage with a AsyncMessageUpdate

source§

impl Applicable<AsyncMessageUpdate> for AsyncMessageInfo

source§

fn apply(&mut self, update: AsyncMessageUpdate)

extends the AsyncMessage with a AsyncMessageUpdate

-
source§

impl Applicable<AsyncMessageUpdate> for AsyncMessageUpdate

source§

fn apply(&mut self, update: AsyncMessageUpdate)

extends the AsyncMessageUpdate with another one

-
source§

impl Clone for AsyncMessageUpdate

source§

fn clone(&self) -> AsyncMessageUpdate

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 AsyncMessageUpdate

source§

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

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

impl Default for AsyncMessageUpdate

source§

fn default() -> AsyncMessageUpdate

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

impl<'de> Deserialize<'de> for AsyncMessageUpdate

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<AsyncMessageUpdate> for AsyncMessageUpdateDeserializer

source§

fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

source§

impl Applicable<AsyncMessageUpdate> for AsyncMessageUpdate

source§

fn apply(&mut self, update: AsyncMessageUpdate)

extends the AsyncMessageUpdate with another one

+
source§

impl Clone for AsyncMessageUpdate

source§

fn clone(&self) -> AsyncMessageUpdate

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 AsyncMessageUpdate

source§

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

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

impl Default for AsyncMessageUpdate

source§

fn default() -> AsyncMessageUpdate

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

impl<'de> Deserialize<'de> for AsyncMessageUpdate

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<AsyncMessageUpdate> for AsyncMessageUpdateDeserializer

source§

fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], AsyncMessageUpdate, E>

Deserialize a value T from a buffer of u8. Read more
source§

impl From<AsyncMessageUpdate> for AsyncMessageUpdate

source§

fn from(value: AsyncMessageUpdate) -> Self

Converts to this type from the input type.
source§

impl PartialEq for AsyncMessageUpdate

source§

fn eq(&self, other: &AsyncMessageUpdate) -> bool

This method tests for self and other values to be equal, and is used diff --git a/massa_async_pool/struct.AsyncPoolChanges.html b/massa_async_pool/struct.AsyncPoolChanges.html index 96cc5b33c81..cf398916b6c 100644 --- a/massa_async_pool/struct.AsyncPoolChanges.html +++ b/massa_async_pool/struct.AsyncPoolChanges.html @@ -24,8 +24,8 @@ buffer: &'a [u8], ) -> IResult<&'a [u8], AsyncPoolChanges, E>
Deserialize a value T from a buffer of u8. Read more
source§

impl PartialEq for AsyncPoolChanges

source§

fn eq(&self, other: &AsyncPoolChanges) -> 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 AsyncPoolChanges

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<AsyncPoolChanges> for AsyncPoolChangesSerializer

source§

fn serialize( +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for AsyncPoolChanges

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<AsyncPoolChanges> for AsyncPoolChangesSerializer

source§

fn serialize( &self, value: &AsyncPoolChanges, buffer: &mut Vec<u8>, diff --git a/massa_bootstrap/bindings/client/struct.BootstrapClientBinder.html b/massa_bootstrap/bindings/client/struct.BootstrapClientBinder.html index e841e87f4f3..11f745abe07 100644 --- a/massa_bootstrap/bindings/client/struct.BootstrapClientBinder.html +++ b/massa_bootstrap/bindings/client/struct.BootstrapClientBinder.html @@ -42,7 +42,7 @@

§Argument
deadline: Option<Instant>, ) -> Result<(), (Error, usize)>
source§

impl Read for BootstrapClientBinder

source§

fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
1.36.0 · source§

fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

Like read, except that it reads into a slice of buffers. Read more
source§

fn is_read_vectored(&self) -> bool

🔬This is a nightly-only experimental API. (can_vector)
Determines if this Reader has an efficient read_vectored -implementation. Read more
1.0.0 · source§

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

Read all bytes until EOF in this source, placing them into buf. Read more
1.0.0 · source§

fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

Read all bytes until EOF in this source, appending them to buf. Read more
1.6.0 · source§

fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

Read the exact number of bytes required to fill buf. Read more
source§

fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>

🔬This is a nightly-only experimental API. (read_buf)
Pull some bytes from this source into the specified buffer. Read more
source§

fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

🔬This is a nightly-only experimental API. (read_buf)
Read the exact number of bytes required to fill cursor. Read more
1.0.0 · source§

fn by_ref(&mut self) -> &mut Self
where +implementation. Read more

1.0.0 · source§

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

Read all bytes until EOF in this source, placing them into buf. Read more
1.0.0 · source§

fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

Read all bytes until EOF in this source, appending them to buf. Read more
1.6.0 · source§

fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

Read the exact number of bytes required to fill buf. Read more
source§

fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>

🔬This is a nightly-only experimental API. (read_buf)
Pull some bytes from this source into the specified buffer. Read more
source§

fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

🔬This is a nightly-only experimental API. (read_buf)
Read the exact number of bytes required to fill cursor. Read more
1.0.0 · source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Creates a “by reference” adaptor for this instance of Read. Read more
1.0.0 · source§

fn bytes(self) -> Bytes<Self>
where Self: Sized,

Transforms this Read instance to an Iterator over its bytes. Read more
1.0.0 · source§

fn chain<R>(self, next: R) -> Chain<Self, R>
where R: Read, @@ -50,7 +50,7 @@
§Argument
Self: Sized,

Creates an adapter which will read at most limit bytes from it. Read more
source§

impl Write for BootstrapClientBinder

source§

fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

Write a buffer into this writer, returning how many bytes were written. Read more
source§

fn flush(&mut self) -> Result<(), Error>

Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
1.36.0 · source§

fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

Like write, except that it writes from a slice of buffers. Read more
source§

fn is_write_vectored(&self) -> bool

🔬This is a nightly-only experimental API. (can_vector)
Determines if this Writer has an efficient write_vectored implementation. Read more
1.0.0 · source§

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

Attempts to write an entire buffer into this writer. Read more
source§

fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

🔬This is a nightly-only experimental API. (write_all_vectored)
Attempts to write multiple buffers into this writer. Read more
1.0.0 · source§

fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

Writes a formatted string into this writer, returning any error -encountered. Read more
1.0.0 · source§

fn by_ref(&mut self) -> &mut Self
where +encountered. Read more

1.0.0 · source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Creates a “by reference” adapter for this instance of Write. 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_bootstrap/bindings/server/struct.BootstrapServerBinder.html b/massa_bootstrap/bindings/server/struct.BootstrapServerBinder.html index b97c3fab13c..f76cecbf17c 100644 --- a/massa_bootstrap/bindings/server/struct.BootstrapServerBinder.html +++ b/massa_bootstrap/bindings/server/struct.BootstrapServerBinder.html @@ -73,7 +73,7 @@

§Argument
deadline: Option<Instant>, ) -> Result<(), (Error, usize)>
source§

impl Read for BootstrapServerBinder

source§

fn read(&mut self, buf: &mut [u8]) -> Result<usize>

Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
1.36.0 · source§

fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

Like read, except that it reads into a slice of buffers. Read more
source§

fn is_read_vectored(&self) -> bool

🔬This is a nightly-only experimental API. (can_vector)
Determines if this Reader has an efficient read_vectored -implementation. Read more
1.0.0 · source§

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

Read all bytes until EOF in this source, placing them into buf. Read more
1.0.0 · source§

fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

Read all bytes until EOF in this source, appending them to buf. Read more
1.6.0 · source§

fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

Read the exact number of bytes required to fill buf. Read more
source§

fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>

🔬This is a nightly-only experimental API. (read_buf)
Pull some bytes from this source into the specified buffer. Read more
source§

fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

🔬This is a nightly-only experimental API. (read_buf)
Read the exact number of bytes required to fill cursor. Read more
1.0.0 · source§

fn by_ref(&mut self) -> &mut Self
where +implementation. Read more

1.0.0 · source§

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

Read all bytes until EOF in this source, placing them into buf. Read more
1.0.0 · source§

fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

Read all bytes until EOF in this source, appending them to buf. Read more
1.6.0 · source§

fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

Read the exact number of bytes required to fill buf. Read more
source§

fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>

🔬This is a nightly-only experimental API. (read_buf)
Pull some bytes from this source into the specified buffer. Read more
source§

fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

🔬This is a nightly-only experimental API. (read_buf)
Read the exact number of bytes required to fill cursor. Read more
1.0.0 · source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Creates a “by reference” adaptor for this instance of Read. Read more
1.0.0 · source§

fn bytes(self) -> Bytes<Self>
where Self: Sized,

Transforms this Read instance to an Iterator over its bytes. Read more
1.0.0 · source§

fn chain<R>(self, next: R) -> Chain<Self, R>
where R: Read, @@ -81,7 +81,7 @@
§Argument
Self: Sized,

Creates an adapter which will read at most limit bytes from it. Read more
source§

impl Write for BootstrapServerBinder

source§

fn write(&mut self, buf: &[u8]) -> Result<usize>

Write a buffer into this writer, returning how many bytes were written. Read more
source§

fn flush(&mut self) -> Result<()>

Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
1.36.0 · source§

fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

Like write, except that it writes from a slice of buffers. Read more
source§

fn is_write_vectored(&self) -> bool

🔬This is a nightly-only experimental API. (can_vector)
Determines if this Writer has an efficient write_vectored implementation. Read more
1.0.0 · source§

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

Attempts to write an entire buffer into this writer. Read more
source§

fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

🔬This is a nightly-only experimental API. (write_all_vectored)
Attempts to write multiple buffers into this writer. Read more
1.0.0 · source§

fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

Writes a formatted string into this writer, returning any error -encountered. Read more
1.0.0 · source§

fn by_ref(&mut self) -> &mut Self
where +encountered. Read more

1.0.0 · source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Creates a “by reference” adapter for this instance of Write. 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_bootstrap/enum.BootstrapClientMessage.html b/massa_bootstrap/enum.BootstrapClientMessage.html index 69292a61dee..55e230bae32 100644 --- a/massa_bootstrap/enum.BootstrapClientMessage.html +++ b/massa_bootstrap/enum.BootstrapClientMessage.html @@ -25,7 +25,7 @@

Trait Implementations§

source§

impl Clone for BootstrapClientMessage

source§

fn clone(&self) -> BootstrapClientMessage

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 BootstrapClientMessage

source§

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

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

impl Deserializer<BootstrapClientMessage> for BootstrapClientMessageDeserializer

source§

fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], BootstrapClientMessage, E>

§Example
+) -> IResult<&'a [u8], BootstrapClientMessage, E>
§Example
use massa_bootstrap::{BootstrapClientMessage, BootstrapClientMessageSerializer, BootstrapClientMessageDeserializer};
 use massa_serialization::{Serializer, Deserializer, DeserializeError};
 use massa_time::MassaTime;
@@ -47,7 +47,7 @@
     &self,
     value: &BootstrapClientMessage,
     buffer: &mut Vec<u8>,
-) -> Result<(), SerializeError>
§Example
+) -> Result<(), SerializeError>
§Example
use massa_bootstrap::{BootstrapClientMessage, BootstrapClientMessageSerializer};
 use massa_serialization::Serializer;
 use massa_time::MassaTime;
diff --git a/massa_bootstrap/enum.BootstrapError.html b/massa_bootstrap/enum.BootstrapError.html
index 129f3f5fc7e..108dceeec5e 100644
--- a/massa_bootstrap/enum.BootstrapError.html
+++ b/massa_bootstrap/enum.BootstrapError.html
@@ -50,11 +50,11 @@
 
§

BlackListed(String)

IP {0} is blacklisted

§

WhiteListed(String)

IP {0} is not in the whitelist

§

Interrupted(String)

The bootstrap process ended prematurely - e.g. too much time elapsed

-

Trait Implementations§

source§

impl Debug for BootstrapError

source§

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

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

impl Display for BootstrapError

source§

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

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

impl Error for BootstrapError

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<ConsensusError> for BootstrapError

source§

fn from(source: ConsensusError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for BootstrapError

§Platform-specific behavior

+

Trait Implementations§

source§

impl Debug for BootstrapError

source§

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

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

impl Display for BootstrapError

source§

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

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

impl Error for BootstrapError

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<ConsensusError> for BootstrapError

source§

fn from(source: ConsensusError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for BootstrapError

§Platform-specific behavior

Platforms may return a different error code whenever a read times out as a result of setting this option. For example Unix typically returns an error of the kind ErrorKind::WouldBlock, but Windows may return ErrorKind::TimedOut.)

-
source§

fn from(e: Error) -> Self

Converts to this type from the input type.
source§

impl From<FinalStateError> for BootstrapError

source§

fn from(source: FinalStateError) -> Self

Converts to this type from the input type.
source§

impl From<MassaHashError> for BootstrapError

source§

fn from(source: MassaHashError) -> Self

Converts to this type from the input type.
source§

impl From<MassaSignatureError> for BootstrapError

source§

fn from(source: MassaSignatureError) -> Self

Converts to this type from the input type.
source§

impl From<ModelsError> for BootstrapError

source§

fn from(source: ModelsError) -> Self

Converts to this type from the input type.
source§

impl From<PosError> for BootstrapError

source§

fn from(source: PosError) -> Self

Converts to this type from the input type.
source§

impl From<ProtocolError> for BootstrapError

source§

fn from(source: ProtocolError) -> Self

Converts to this type from the input type.
source§

impl From<SerializeError> for BootstrapError

source§

fn from(source: SerializeError) -> Self

Converts to this type from the input type.
source§

impl From<TimeError> for BootstrapError

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 +
source§

fn from(e: Error) -> Self

Converts to this type from the input type.

source§

impl From<FinalStateError> for BootstrapError

source§

fn from(source: FinalStateError) -> Self

Converts to this type from the input type.
source§

impl From<MassaHashError> for BootstrapError

source§

fn from(source: MassaHashError) -> Self

Converts to this type from the input type.
source§

impl From<MassaSignatureError> for BootstrapError

source§

fn from(source: MassaSignatureError) -> Self

Converts to this type from the input type.
source§

impl From<ModelsError> for BootstrapError

source§

fn from(source: ModelsError) -> Self

Converts to this type from the input type.
source§

impl From<PosError> for BootstrapError

source§

fn from(source: PosError) -> Self

Converts to this type from the input type.
source§

impl From<ProtocolError> for BootstrapError

source§

fn from(source: ProtocolError) -> Self

Converts to this type from the input type.
source§

impl From<SerializeError> for BootstrapError

source§

fn from(source: SerializeError) -> Self

Converts to this type from the input type.
source§

impl From<TimeError> for BootstrapError

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
§

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_bootstrap/error/enum.BootstrapError.html b/massa_bootstrap/error/enum.BootstrapError.html index d9a22fa4b4a..fe3e59ccfae 100644 --- a/massa_bootstrap/error/enum.BootstrapError.html +++ b/massa_bootstrap/error/enum.BootstrapError.html @@ -50,11 +50,11 @@
§

BlackListed(String)

IP {0} is blacklisted

§

WhiteListed(String)

IP {0} is not in the whitelist

§

Interrupted(String)

The bootstrap process ended prematurely - e.g. too much time elapsed

-

Trait Implementations§

source§

impl Debug for BootstrapError

source§

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

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

impl Display for BootstrapError

source§

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

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

impl Error for BootstrapError

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<ConsensusError> for BootstrapError

source§

fn from(source: ConsensusError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for BootstrapError

§Platform-specific behavior

+

Trait Implementations§

source§

impl Debug for BootstrapError

source§

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

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

impl Display for BootstrapError

source§

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

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

impl Error for BootstrapError

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<ConsensusError> for BootstrapError

source§

fn from(source: ConsensusError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for BootstrapError

§Platform-specific behavior

Platforms may return a different error code whenever a read times out as a result of setting this option. For example Unix typically returns an error of the kind ErrorKind::WouldBlock, but Windows may return ErrorKind::TimedOut.)

-
source§

fn from(e: Error) -> Self

Converts to this type from the input type.
source§

impl From<FinalStateError> for BootstrapError

source§

fn from(source: FinalStateError) -> Self

Converts to this type from the input type.
source§

impl From<MassaHashError> for BootstrapError

source§

fn from(source: MassaHashError) -> Self

Converts to this type from the input type.
source§

impl From<MassaSignatureError> for BootstrapError

source§

fn from(source: MassaSignatureError) -> Self

Converts to this type from the input type.
source§

impl From<ModelsError> for BootstrapError

source§

fn from(source: ModelsError) -> Self

Converts to this type from the input type.
source§

impl From<PosError> for BootstrapError

source§

fn from(source: PosError) -> Self

Converts to this type from the input type.
source§

impl From<ProtocolError> for BootstrapError

source§

fn from(source: ProtocolError) -> Self

Converts to this type from the input type.
source§

impl From<SerializeError> for BootstrapError

source§

fn from(source: SerializeError) -> Self

Converts to this type from the input type.
source§

impl From<TimeError> for BootstrapError

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 +
source§

fn from(e: Error) -> Self

Converts to this type from the input type.

source§

impl From<FinalStateError> for BootstrapError

source§

fn from(source: FinalStateError) -> Self

Converts to this type from the input type.
source§

impl From<MassaHashError> for BootstrapError

source§

fn from(source: MassaHashError) -> Self

Converts to this type from the input type.
source§

impl From<MassaSignatureError> for BootstrapError

source§

fn from(source: MassaSignatureError) -> Self

Converts to this type from the input type.
source§

impl From<ModelsError> for BootstrapError

source§

fn from(source: ModelsError) -> Self

Converts to this type from the input type.
source§

impl From<PosError> for BootstrapError

source§

fn from(source: PosError) -> Self

Converts to this type from the input type.
source§

impl From<ProtocolError> for BootstrapError

source§

fn from(source: ProtocolError) -> Self

Converts to this type from the input type.
source§

impl From<SerializeError> for BootstrapError

source§

fn from(source: SerializeError) -> Self

Converts to this type from the input type.
source§

impl From<TimeError> for BootstrapError

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
§

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_bootstrap/messages/enum.BootstrapClientMessage.html b/massa_bootstrap/messages/enum.BootstrapClientMessage.html index 661b1f9dd18..532a65a22a6 100644 --- a/massa_bootstrap/messages/enum.BootstrapClientMessage.html +++ b/massa_bootstrap/messages/enum.BootstrapClientMessage.html @@ -25,7 +25,7 @@

Trait Implementations§

source§

impl Clone for BootstrapClientMessage

source§

fn clone(&self) -> BootstrapClientMessage

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 BootstrapClientMessage

source§

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

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

impl Deserializer<BootstrapClientMessage> for BootstrapClientMessageDeserializer

source§

fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], BootstrapClientMessage, E>

§Example
+) -> IResult<&'a [u8], BootstrapClientMessage, E>
§Example
use massa_bootstrap::{BootstrapClientMessage, BootstrapClientMessageSerializer, BootstrapClientMessageDeserializer};
 use massa_serialization::{Serializer, Deserializer, DeserializeError};
 use massa_time::MassaTime;
@@ -47,7 +47,7 @@
     &self,
     value: &BootstrapClientMessage,
     buffer: &mut Vec<u8>,
-) -> Result<(), SerializeError>
§Example
+) -> Result<(), SerializeError>
§Example
use massa_bootstrap::{BootstrapClientMessage, BootstrapClientMessageSerializer};
 use massa_serialization::Serializer;
 use massa_time::MassaTime;
diff --git a/massa_client/cmds/struct.ExtendedWalletEntry.html b/massa_client/cmds/struct.ExtendedWalletEntry.html
index e5ae4ccd0f8..b2bb2dacfba 100644
--- a/massa_client/cmds/struct.ExtendedWalletEntry.html
+++ b/massa_client/cmds/struct.ExtendedWalletEntry.html
@@ -7,7 +7,7 @@
 

Fields§

§keypair: KeyPair

the keypair

§address_info: CompactAddressInfo

address and balance information

§show_keys: bool

whether to display the public/secret keys or just the address info

-

Trait Implementations§

source§

impl Debug for ExtendedWalletEntry

source§

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

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

impl Display for ExtendedWalletEntry

source§

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

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

impl Serialize for ExtendedWalletEntry

source§

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

Trait Implementations§

source§

impl Debug for ExtendedWalletEntry

source§

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

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

impl Display for ExtendedWalletEntry

source§

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

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

impl Serialize for ExtendedWalletEntry

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<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where diff --git a/massa_client/display/index.html b/massa_client/display/index.html index f51fddaa924..ebb72da43a2 100644 --- a/massa_client/display/index.html +++ b/massa_client/display/index.html @@ -1 +1 @@ -massa_client::display - Rust

Module massa_client::display

source ·

Enums§

Traits§

\ No newline at end of file +massa_client::display - Rust

Module massa_client::display

source ·

Enums§

Traits§

\ No newline at end of file diff --git a/massa_client/display/trait.Output.html b/massa_client/display/trait.Output.html index 84381e07e89..08b6b050381 100644 --- a/massa_client/display/trait.Output.html +++ b/massa_client/display/trait.Output.html @@ -1,4 +1,4 @@ Output in massa_client::display - Rust

Trait massa_client::display::Output

source ·
pub trait Output: Serialize {
     // Required method
     fn pretty_print(&self);
-}

Required Methods§

Implementations§

source§

impl dyn Output

source

pub(crate) fn stdout_json(&self) -> Result<()>

Implementations on Foreign Types§

source§

impl Output for &str

source§

impl Output for ()

source§

impl Output for BlockInfo

source§

impl Output for ExecuteReadOnlyResponse

source§

impl Output for NodeStatus

source§

impl Output for Wallet

source§

impl Output for String

source§

impl Output for Vec<(Address, KeyPair)>

source§

impl Output for Vec<(Address, PublicKey)>

source§

impl Output for Vec<IpAddr>

source§

impl Output for Vec<AddressInfo>

source§

impl Output for Vec<BlockInfo>

source§

impl Output for Vec<DatastoreEntryOutput>

source§

impl Output for Vec<EndorsementInfo>

source§

impl Output for Vec<OperationInfo>

source§

impl Output for Vec<Address>

source§

impl Output for Vec<OperationId>

source§

impl Output for Vec<SCOutputEvent>

source§

impl Output for CompactConfig

source§

impl Output for ConsensusStats

source§

impl Output for ExecutionStats

source§

impl Output for NetworkStats

source§

impl Output for PreHashSet<Address>

source§

impl Output for PubkeySig

Implementors§

\ No newline at end of file +}

Required Methods§

Implementations§

source§

impl dyn Output

source

pub(crate) fn stdout_json(&self) -> Result<()>

Implementations on Foreign Types§

source§

impl Output for &str

source§

impl Output for ()

source§

impl Output for BlockInfo

source§

impl Output for ExecuteReadOnlyResponse

source§

impl Output for NodeStatus

source§

impl Output for Wallet

source§

impl Output for String

source§

impl Output for Vec<(Address, KeyPair)>

source§

impl Output for Vec<(Address, PublicKey)>

source§

impl Output for Vec<IpAddr>

source§

impl Output for Vec<AddressInfo>

source§

impl Output for Vec<BlockInfo>

source§

impl Output for Vec<DatastoreEntryOutput>

source§

impl Output for Vec<EndorsementInfo>

source§

impl Output for Vec<OperationInfo>

source§

impl Output for Vec<Address>

source§

impl Output for Vec<OperationId>

source§

impl Output for Vec<SCOutputEvent>

source§

impl Output for CompactConfig

source§

impl Output for ConsensusStats

source§

impl Output for ExecutionStats

source§

impl Output for NetworkStats

source§

impl Output for PreHashSet<Address>

source§

impl Output for PubkeySig

Implementors§

\ No newline at end of file diff --git a/massa_consensus_exports/bootstrapable_graph/struct.BootstrapableGraph.html b/massa_consensus_exports/bootstrapable_graph/struct.BootstrapableGraph.html index dccd6310a2b..52751f6148e 100644 --- a/massa_consensus_exports/bootstrapable_graph/struct.BootstrapableGraph.html +++ b/massa_consensus_exports/bootstrapable_graph/struct.BootstrapableGraph.html @@ -2,11 +2,11 @@ pub final_blocks: Vec<ExportActiveBlock>, }
Expand description

Bootstrap graph

Fields§

§final_blocks: Vec<ExportActiveBlock>

list of final blocks

-

Trait Implementations§

source§

impl Clone for BootstrapableGraph

source§

fn clone(&self) -> BootstrapableGraph

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 BootstrapableGraph

source§

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

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

impl<'de> Deserialize<'de> for BootstrapableGraph

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<BootstrapableGraph> for BootstrapableGraphDeserializer

source§

fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

Trait Implementations§

source§

impl Clone for BootstrapableGraph

source§

fn clone(&self) -> BootstrapableGraph

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 BootstrapableGraph

source§

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

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

impl<'de> Deserialize<'de> for BootstrapableGraph

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<BootstrapableGraph> for BootstrapableGraphDeserializer

source§

fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], BootstrapableGraph, E>

§Example
+) -> IResult<&'a [u8], BootstrapableGraph, E>
§Example
use massa_consensus_exports::bootstrapable_graph::{BootstrapableGraph, BootstrapableGraphDeserializer, BootstrapableGraphSerializer};
 use massa_serialization::{Deserializer, Serializer, DeserializeError};
 use massa_hash::Hash;
@@ -25,12 +25,12 @@
 BootstrapableGraphSerializer::new().serialize(&bootstrapable_graph_deserialized, &mut buffer2).unwrap();
 assert_eq!(buffer, buffer2);
 assert_eq!(rest.len(), 0);
-
source§

impl Serialize for BootstrapableGraph

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<BootstrapableGraph> for BootstrapableGraphSerializer

source§

impl Serialize for BootstrapableGraph

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<BootstrapableGraph> for BootstrapableGraphSerializer

source§

fn serialize( &self, value: &BootstrapableGraph, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

§Example
+) -> Result<(), SerializeError>
§Example
use massa_consensus_exports::bootstrapable_graph::{BootstrapableGraph, BootstrapableGraphSerializer};
 use massa_serialization::Serializer;
 use massa_hash::Hash;
diff --git a/massa_consensus_exports/error/enum.ConsensusError.html b/massa_consensus_exports/error/enum.ConsensusError.html
index 285e9b95261..be51bc78faa 100644
--- a/massa_consensus_exports/error/enum.ConsensusError.html
+++ b/massa_consensus_exports/error/enum.ConsensusError.html
@@ -34,7 +34,7 @@
 
§

TransactionError(String)

transaction error {0}

§

ProtocolError(ProtocolError)

Protocol error {0}

§

InvalidTransition(String)

Invalid transition {0}

-

Trait Implementations§

source§

impl Debug for ConsensusError

source§

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

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

impl Display for ConsensusError

source§

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

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

impl Error for ConsensusError

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<Error> for ConsensusError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for ConsensusError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<ExecutionError> for ConsensusError

source§

fn from(source: ExecutionError) -> Self

Converts to this type from the input type.
source§

impl From<LedgerError> for ConsensusError

source§

fn from(source: LedgerError) -> Self

Converts to this type from the input type.
source§

impl From<ModelsError> for ConsensusError

source§

fn from(source: ModelsError) -> Self

Converts to this type from the input type.
source§

impl From<ProtocolError> for ConsensusError

source§

fn from(source: ProtocolError) -> Self

Converts to this type from the input type.
source§

impl From<TimeError> for ConsensusError

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 Debug for ConsensusError

source§

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

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

impl Display for ConsensusError

source§

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

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

impl Error for ConsensusError

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<Error> for ConsensusError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for ConsensusError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<ExecutionError> for ConsensusError

source§

fn from(source: ExecutionError) -> Self

Converts to this type from the input type.
source§

impl From<LedgerError> for ConsensusError

source§

fn from(source: LedgerError) -> Self

Converts to this type from the input type.
source§

impl From<ModelsError> for ConsensusError

source§

fn from(source: ModelsError) -> Self

Converts to this type from the input type.
source§

impl From<ProtocolError> for ConsensusError

source§

fn from(source: ProtocolError) -> Self

Converts to this type from the input type.
source§

impl From<TimeError> for ConsensusError

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
§

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_consensus_exports/error/enum.LedgerError.html b/massa_consensus_exports/error/enum.LedgerError.html index 1740c284d73..a166a72511a 100644 --- a/massa_consensus_exports/error/enum.LedgerError.html +++ b/massa_consensus_exports/error/enum.LedgerError.html @@ -12,7 +12,7 @@
§

TryFromSliceError(TryFromSliceError)

try from slice error {0}

§

IOError(Error)

io error {0}

§

SerdeError(Error)

serde error

-

Trait Implementations§

source§

impl Debug for LedgerError

source§

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

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

impl Display for LedgerError

source§

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

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

impl Error for LedgerError

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<Error> for LedgerError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for LedgerError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<LedgerError> for ConsensusError

source§

fn from(source: LedgerError) -> Self

Converts to this type from the input type.
source§

impl From<ModelsError> for LedgerError

source§

fn from(source: ModelsError) -> Self

Converts to this type from the input type.
source§

impl From<TryFromSliceError> for LedgerError

source§

fn from(source: TryFromSliceError) -> 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 Debug for LedgerError

source§

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

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

impl Display for LedgerError

source§

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

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

impl Error for LedgerError

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<Error> for LedgerError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for LedgerError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<LedgerError> for ConsensusError

source§

fn from(source: LedgerError) -> Self

Converts to this type from the input type.
source§

impl From<ModelsError> for LedgerError

source§

fn from(source: ModelsError) -> Self

Converts to this type from the input type.
source§

impl From<TryFromSliceError> for LedgerError

source§

fn from(source: TryFromSliceError) -> 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_consensus_exports/export_active_block/struct.ExportActiveBlock.html b/massa_consensus_exports/export_active_block/struct.ExportActiveBlock.html index 3c9d20ae292..b26b43c98a1 100644 --- a/massa_consensus_exports/export_active_block/struct.ExportActiveBlock.html +++ b/massa_consensus_exports/export_active_block/struct.ExportActiveBlock.html @@ -96,8 +96,8 @@ assert_eq!(export_deserialized.block.id, export_active_block.block.id); assert_eq!(export_deserialized.block.serialized_data, export_active_block.block.serialized_data); assert_eq!(rest.len(), 0);
-

source§

impl Serialize for ExportActiveBlock

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<ExportActiveBlock> for ExportActiveBlockSerializer

source§

impl Serialize for ExportActiveBlock

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<ExportActiveBlock> for ExportActiveBlockSerializer

source§

fn serialize( &self, value: &ExportActiveBlock, buffer: &mut Vec<u8>, diff --git a/massa_deferred_calls/call/struct.DeferredCall.html b/massa_deferred_calls/call/struct.DeferredCall.html index a3295b2ea07..7a7b22ec64d 100644 --- a/massa_deferred_calls/call/struct.DeferredCall.html +++ b/massa_deferred_calls/call/struct.DeferredCall.html @@ -26,14 +26,14 @@ params_size: u64, max_function_name_length: u16, ) -> Amount

Get the storage cost for a call

-

Trait Implementations§

source§

impl Clone for DeferredCall

source§

fn clone(&self) -> DeferredCall

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 DeferredCall

source§

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

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

impl<'de> Deserialize<'de> for DeferredCall

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<DeferredCall> for DeferredCallDeserializer

source§

fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

Trait Implementations§

source§

impl Clone for DeferredCall

source§

fn clone(&self) -> DeferredCall

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 DeferredCall

source§

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

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

impl<'de> Deserialize<'de> for DeferredCall

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<DeferredCall> for DeferredCallDeserializer

source§

fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], DeferredCall, E>

Deserialize a value T from a buffer of u8. Read more
source§

impl From<DeferredCall> for DeferredCallInfoEntry

source§

fn from(call: DeferredCall) -> Self

Converts to this type from the input type.
source§

impl PartialEq for DeferredCall

source§

fn eq(&self, other: &DeferredCall) -> 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 DeferredCall

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<DeferredCall> for DeferredCallSerializer

source§

fn serialize( +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for DeferredCall

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<DeferredCall> for DeferredCallSerializer

source§

fn serialize( &self, value: &DeferredCall, buffer: &mut Vec<u8>, diff --git a/massa_deferred_calls/registry_changes/struct.DeferredCallRegistryChanges.html b/massa_deferred_calls/registry_changes/struct.DeferredCallRegistryChanges.html index 0840f74eca2..cfae9fb88a2 100644 --- a/massa_deferred_calls/registry_changes/struct.DeferredCallRegistryChanges.html +++ b/massa_deferred_calls/registry_changes/struct.DeferredCallRegistryChanges.html @@ -6,8 +6,8 @@ &self, target_slot: &Slot, id: &DeferredCallId, -) -> Option<&DeferredCall>

source

pub fn get_effective_slot_gas(&self, target_slot: &Slot) -> Option<u64>

source

pub fn set_effective_slot_gas(&mut self, target_slot: Slot, gas: u64)

source

pub fn set_slot_base_fee(&mut self, target_slot: Slot, base_fee: Amount)

source

pub fn get_slot_base_fee(&self, target_slot: &Slot) -> Option<Amount>

source

pub fn set_effective_total_gas(&mut self, gas: u128)

source

pub fn get_effective_total_gas(&self) -> Option<u128>

source

pub fn set_total_calls_registered(&mut self, total_calls_registered: u64)

source

pub fn get_total_calls_registered(&self) -> Option<u64>

Trait Implementations§

source§

impl Clone for DeferredCallRegistryChanges

source§

fn clone(&self) -> DeferredCallRegistryChanges

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 DeferredCallRegistryChanges

source§

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

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

impl Default for DeferredCallRegistryChanges

source§

fn default() -> Self

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

impl<'de> Deserialize<'de> for DeferredCallRegistryChanges

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<DeferredCallRegistryChanges> for DeferredRegistryChangesDeserializer

source§

fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +) -> Option<&DeferredCall>

source

pub fn get_effective_slot_gas(&self, target_slot: &Slot) -> Option<u64>

source

pub fn set_effective_slot_gas(&mut self, target_slot: Slot, gas: u64)

source

pub fn set_slot_base_fee(&mut self, target_slot: Slot, base_fee: Amount)

source

pub fn get_slot_base_fee(&self, target_slot: &Slot) -> Option<Amount>

source

pub fn set_effective_total_gas(&mut self, gas: u128)

source

pub fn get_effective_total_gas(&self) -> Option<u128>

source

pub fn set_total_calls_registered(&mut self, total_calls_registered: u64)

source

pub fn get_total_calls_registered(&self) -> Option<u64>

Trait Implementations§

source§

impl Clone for DeferredCallRegistryChanges

source§

fn clone(&self) -> DeferredCallRegistryChanges

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 DeferredCallRegistryChanges

source§

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

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

impl Default for DeferredCallRegistryChanges

source§

fn default() -> Self

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

impl<'de> Deserialize<'de> for DeferredCallRegistryChanges

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<DeferredCallRegistryChanges> for DeferredRegistryChangesDeserializer

source§

fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], DeferredCallRegistryChanges, E>

Deserialize a value T from a buffer of u8. Read more
source§

impl Serialize for DeferredCallRegistryChanges

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where diff --git a/massa_deferred_calls/struct.DeferredCall.html b/massa_deferred_calls/struct.DeferredCall.html index a0f68001344..115ab046069 100644 --- a/massa_deferred_calls/struct.DeferredCall.html +++ b/massa_deferred_calls/struct.DeferredCall.html @@ -26,14 +26,14 @@ params_size: u64, max_function_name_length: u16, ) -> Amount

Get the storage cost for a call

-

Trait Implementations§

source§

impl Clone for DeferredCall

source§

fn clone(&self) -> DeferredCall

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 DeferredCall

source§

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

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

impl<'de> Deserialize<'de> for DeferredCall

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<DeferredCall> for DeferredCallDeserializer

source§

fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

Trait Implementations§

source§

impl Clone for DeferredCall

source§

fn clone(&self) -> DeferredCall

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 DeferredCall

source§

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

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

impl<'de> Deserialize<'de> for DeferredCall

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<DeferredCall> for DeferredCallDeserializer

source§

fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], DeferredCall, E>

Deserialize a value T from a buffer of u8. Read more
source§

impl From<DeferredCall> for DeferredCallInfoEntry

source§

fn from(call: DeferredCall) -> Self

Converts to this type from the input type.
source§

impl PartialEq for DeferredCall

source§

fn eq(&self, other: &DeferredCall) -> 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 DeferredCall

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<DeferredCall> for DeferredCallSerializer

source§

fn serialize( +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for DeferredCall

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<DeferredCall> for DeferredCallSerializer

source§

fn serialize( &self, value: &DeferredCall, buffer: &mut Vec<u8>, diff --git a/massa_execution_exports/enum.ExecutionError.html b/massa_execution_exports/enum.ExecutionError.html index 30660a93606..cf20dc86723 100644 --- a/massa_execution_exports/enum.ExecutionError.html +++ b/massa_execution_exports/enum.ExecutionError.html @@ -41,7 +41,7 @@

§

CacheError(CacheError)

Cache error: {0}

§

FactoryError(FactoryError)

Factory error: {0}

§

DeferredCallsError(String)

Autonomous smart contract call error: {0}

-

Trait Implementations§

source§

impl Clone for ExecutionError

source§

fn clone(&self) -> ExecutionError

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 ExecutionError

source§

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

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

impl Display for ExecutionError

source§

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

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

impl Error for ExecutionError

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<CacheError> for ExecutionError

source§

fn from(source: CacheError) -> Self

Converts to this type from the input type.
source§

impl From<FactoryError> for ExecutionError

source§

fn from(source: FactoryError) -> Self

Converts to this type from the input type.
source§

impl From<MassaHashError> for ExecutionError

source§

fn from(source: MassaHashError) -> Self

Converts to this type from the input type.
source§

impl From<ModelsError> for ExecutionError

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 +

Trait Implementations§

source§

impl Clone for ExecutionError

source§

fn clone(&self) -> ExecutionError

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 ExecutionError

source§

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

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

impl Display for ExecutionError

source§

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

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

impl Error for ExecutionError

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<CacheError> for ExecutionError

source§

fn from(source: CacheError) -> Self

Converts to this type from the input type.
source§

impl From<FactoryError> for ExecutionError

source§

fn from(source: FactoryError) -> Self

Converts to this type from the input type.
source§

impl From<MassaHashError> for ExecutionError

source§

fn from(source: MassaHashError) -> Self

Converts to this type from the input type.
source§

impl From<ModelsError> for ExecutionError

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
§

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.ExecutionQueryError.html b/massa_execution_exports/enum.ExecutionQueryError.html index ca05506648e..60d1b7822a8 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 19f6635b3bc..8e1250c2955 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.ExecutionError.html b/massa_execution_exports/error/enum.ExecutionError.html index 685cf0c420b..e878111174d 100644 --- a/massa_execution_exports/error/enum.ExecutionError.html +++ b/massa_execution_exports/error/enum.ExecutionError.html @@ -41,7 +41,7 @@

§

CacheError(CacheError)

Cache error: {0}

§

FactoryError(FactoryError)

Factory error: {0}

§

DeferredCallsError(String)

Autonomous smart contract call error: {0}

-

Trait Implementations§

source§

impl Clone for ExecutionError

source§

fn clone(&self) -> ExecutionError

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 ExecutionError

source§

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

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

impl Display for ExecutionError

source§

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

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

impl Error for ExecutionError

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<CacheError> for ExecutionError

source§

fn from(source: CacheError) -> Self

Converts to this type from the input type.
source§

impl From<FactoryError> for ExecutionError

source§

fn from(source: FactoryError) -> Self

Converts to this type from the input type.
source§

impl From<MassaHashError> for ExecutionError

source§

fn from(source: MassaHashError) -> Self

Converts to this type from the input type.
source§

impl From<ModelsError> for ExecutionError

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 +

Trait Implementations§

source§

impl Clone for ExecutionError

source§

fn clone(&self) -> ExecutionError

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 ExecutionError

source§

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

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

impl Display for ExecutionError

source§

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

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

impl Error for ExecutionError

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<CacheError> for ExecutionError

source§

fn from(source: CacheError) -> Self

Converts to this type from the input type.
source§

impl From<FactoryError> for ExecutionError

source§

fn from(source: FactoryError) -> Self

Converts to this type from the input type.
source§

impl From<MassaHashError> for ExecutionError

source§

fn from(source: MassaHashError) -> Self

Converts to this type from the input type.
source§

impl From<ModelsError> for ExecutionError

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
§

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 c627d5e7356..1cb02c031df 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 1f38bdaf938..e054f3cb337 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 093209b8cd4..941bdaadb38 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 661785c3b75..983b8653fed 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 ce88fc5c768..75ffb5a76b9 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 7c61b197dd3..04e4f06d359 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 2a8c5134fc7..d664dcd42b1 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 971dbe10466..f2f30ed3475 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 42aa5525d8c..5f9ee163e41 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 403b79f16e6..bbee8f6a95b 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 b9992938949..27586e598af 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 1c23bcf81bc..9656495d899 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 0c195137221..cf31e0c9502 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 8925ab3bedc..fa93d627a57 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 69b23acac8c..44bd5fa84cf 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 9d8f3fd2c7a..cac9f703656 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 d25afaf3e16..1e1254e8ef7 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 49094b1afb4..02a1cba23ae 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 96a4c7c437c..10d3a3ea09d 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 db5e690b1d4..e01cb9dd4e0 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 0d33faad8cc..268141632e6 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:

    §returns

    A new ExecutionState

    -
    source

    pub fn get_final_state_fingerprint(&self) -> Hash

    Get the fingerprint of the final state

    -
    source

    pub fn get_stats(&self) -> ExecutionStats

    Get execution statistics

    -
    source

    pub fn apply_final_execution_output(&mut self, exec_out: ExecutionOutput)

    Applies the output of an execution to the final execution state. +

    source

    pub fn get_final_state_fingerprint(&self) -> Hash

    Get the fingerprint of the final state

    +
    source

    pub fn get_stats(&self) -> ExecutionStats

    Get execution statistics

    +
    source

    pub fn apply_final_execution_output(&mut self, exec_out: ExecutionOutput)

    Applies the output of an execution to the final execution state. The newly applied final output should be from the slot just after the last executed final slot

    §Arguments
    • exec_out: execution output to apply
    -
    source

    pub fn apply_active_execution_output(&mut self, exec_out: ExecutionOutput)

    Applies an execution output to the active (non-final) state +

    source

    pub fn apply_active_execution_output(&mut self, exec_out: ExecutionOutput)

    Applies an execution output to the active (non-final) state The newly active final output should be from the slot just after the last executed active slot

    §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 +63,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 +78,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 +89,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 +100,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 +111,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 +123,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 +134,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 +147,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,12 +159,12 @@
    §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( - &self, +) -> Result<DeferredCallExecutionResult, ExecutionError>

    source

    pub fn execute_slot( + &mut self, slot: &Slot, exec_target: Option<&(BlockId, ExecutionBlockMetadata)>, selector: Box<dyn SelectorController>, @@ -176,19 +178,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 +203,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 +240,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 +249,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 +273,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 3beb7107cd6..a72744d565e 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 d9797e84bc9..da26496a7b2 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 76444647951..ae4897ef79e 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 dc134dda606..3207293e819 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 96b3693bb1b..21c5aa21cf2 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 2cf2c34706e..db8476a0322 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 17e88ce4826..da333c47853 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 1212a4e0c89..f354651b246 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 8b51362d67f..c3b2c0e1e8c 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 c08f412797e..3d551b15b04 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 10d63b6ce2f..b4e667f8c45 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 c707e0fd1ae..3b5672f28d8 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 95dda3e19b1..e1c8a33844a 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/enum.FinalStateError.html b/massa_final_state/enum.FinalStateError.html index b80357d4ff1..c5b25809aee 100644 --- a/massa_final_state/enum.FinalStateError.html +++ b/massa_final_state/enum.FinalStateError.html @@ -12,7 +12,7 @@
    §

    SnapshotError(String)

    Snapshot error: {0}

    §

    ExtendFromDbError(ExtendFromDbError)

    ExtendFromDbError

    §

    NonConsistentWithShutdownPeriodError(IsConsistentWithShutdownPeriodError)

    IsConsistentWithShutdownPeriodError

    -

    Trait Implementations§

    source§

    impl Debug for FinalStateError

    source§

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

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

    impl Display for FinalStateError

    source§

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

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

    impl Error for FinalStateError

    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<ExtendFromDbError> for FinalStateError

    source§

    fn from(source: ExtendFromDbError) -> Self

    Converts to this type from the input type.
    source§

    impl From<IsConsistentWithShutdownPeriodError> for FinalStateError

    source§

    fn from(source: IsConsistentWithShutdownPeriodError) -> 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 Debug for FinalStateError

    source§

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

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

    impl Display for FinalStateError

    source§

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

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

    impl Error for FinalStateError

    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<ExtendFromDbError> for FinalStateError

    source§

    fn from(source: ExtendFromDbError) -> Self

    Converts to this type from the input type.
    source§

    impl From<IsConsistentWithShutdownPeriodError> for FinalStateError

    source§

    fn from(source: IsConsistentWithShutdownPeriodError) -> 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_final_state/error/enum.FinalStateError.html b/massa_final_state/error/enum.FinalStateError.html index 8e5e393dbec..b6abd84bf11 100644 --- a/massa_final_state/error/enum.FinalStateError.html +++ b/massa_final_state/error/enum.FinalStateError.html @@ -12,7 +12,7 @@
    §

    SnapshotError(String)

    Snapshot error: {0}

    §

    ExtendFromDbError(ExtendFromDbError)

    ExtendFromDbError

    §

    NonConsistentWithShutdownPeriodError(IsConsistentWithShutdownPeriodError)

    IsConsistentWithShutdownPeriodError

    -

    Trait Implementations§

    source§

    impl Debug for FinalStateError

    source§

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

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

    impl Display for FinalStateError

    source§

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

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

    impl Error for FinalStateError

    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<ExtendFromDbError> for FinalStateError

    source§

    fn from(source: ExtendFromDbError) -> Self

    Converts to this type from the input type.
    source§

    impl From<IsConsistentWithShutdownPeriodError> for FinalStateError

    source§

    fn from(source: IsConsistentWithShutdownPeriodError) -> 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 Debug for FinalStateError

    source§

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

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

    impl Display for FinalStateError

    source§

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

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

    impl Error for FinalStateError

    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<ExtendFromDbError> for FinalStateError

    source§

    fn from(source: ExtendFromDbError) -> Self

    Converts to this type from the input type.
    source§

    impl From<IsConsistentWithShutdownPeriodError> for FinalStateError

    source§

    fn from(source: IsConsistentWithShutdownPeriodError) -> 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_final_state/final_state/index.html b/massa_final_state/final_state/index.html index 54b271c71b6..f470ccaf491 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 ecc5f673bae..cc348960bd7 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 f1860cff7ea..99824583775 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 e983a332fba..fde0ddd8212 100644 --- a/massa_final_state/state_changes/struct.StateChanges.html +++ b/massa_final_state/state_changes/struct.StateChanges.html @@ -1,4 +1,4 @@ -StateChanges in massa_final_state::state_changes - Rust

    Struct massa_final_state::state_changes::StateChanges

    source ·
    pub struct StateChanges {
    +StateChanges in massa_final_state::state_changes - Rust

    Struct massa_final_state::state_changes::StateChanges

    source ·
    pub struct StateChanges {
         pub ledger_changes: LedgerChanges,
         pub async_pool_changes: AsyncPoolChanges,
         pub deferred_call_changes: DeferredCallRegistryChanges,
    @@ -14,8 +14,9 @@
     
    §executed_ops_changes: ExecutedOpsChanges

    executed operations changes

    §executed_denunciations_changes: ExecutedDenunciationsChanges

    executed denunciations changes

    §execution_trail_hash_change: SetOrKeep<Hash>

    execution trail hash change

    -

    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]>>( +

    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, buffer: &'a [u8], ) -> IResult<&'a [u8], StateChanges, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<StateChanges> for StateChanges

    source§

    fn from(value: StateChanges) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for StateChanges

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where diff --git a/massa_final_state/struct.FinalState.html b/massa_final_state/struct.FinalState.html index 89b07cf8525..ec39c8a903b 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 af68b9e59fe..581289bce2e 100644 --- a/massa_final_state/struct.StateChanges.html +++ b/massa_final_state/struct.StateChanges.html @@ -1,4 +1,4 @@ -StateChanges in massa_final_state - Rust

    Struct massa_final_state::StateChanges

    source ·
    pub struct StateChanges {
    +StateChanges in massa_final_state - Rust

    Struct massa_final_state::StateChanges

    source ·
    pub struct StateChanges {
         pub ledger_changes: LedgerChanges,
         pub async_pool_changes: AsyncPoolChanges,
         pub deferred_call_changes: DeferredCallRegistryChanges,
    @@ -14,8 +14,9 @@
     
    §executed_ops_changes: ExecutedOpsChanges

    executed operations changes

    §executed_denunciations_changes: ExecutedDenunciationsChanges

    executed denunciations changes

    §execution_trail_hash_change: SetOrKeep<Hash>

    execution trail hash change

    -

    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]>>( +

    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, buffer: &'a [u8], ) -> IResult<&'a [u8], StateChanges, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<StateChanges> for StateChanges

    source§

    fn from(value: StateChanges) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for StateChanges

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where diff --git a/massa_final_state/trait.FinalStateController.html b/massa_final_state/trait.FinalStateController.html index b43f6e414af..dc8c1b6aa90 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/error/enum.GrpcError.html b/massa_grpc/error/enum.GrpcError.html index 804c4d09dc7..6811236d4ab 100644 --- a/massa_grpc/error/enum.GrpcError.html +++ b/massa_grpc/error/enum.GrpcError.html @@ -26,7 +26,7 @@
    §

    InternalServerError(String)

    Internal server error: {0}

    §

    InvalidArgument(String)

    Invalid argument error: {0}

    §

    Unimplemented(String)

    Not implemented error: {0}

    -

    Trait Implementations§

    source§

    impl Debug for GrpcError

    source§

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

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

    impl Display for GrpcError

    source§

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

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

    impl Error for GrpcError

    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<ConsensusError> for GrpcError

    source§

    fn from(source: ConsensusError) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for GrpcError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<ExecutionError> for GrpcError

    source§

    fn from(source: ExecutionError) -> Self

    Converts to this type from the input type.
    source§

    impl From<FactoryError> for GrpcError

    source§

    fn from(source: FactoryError) -> Self

    Converts to this type from the input type.
    source§

    impl From<GrpcError> for Status

    source§

    fn from(error: GrpcError) -> Self

    Converts to this type from the input type.
    source§

    impl From<MassaHashError> for GrpcError

    source§

    fn from(source: MassaHashError) -> Self

    Converts to this type from the input type.
    source§

    impl From<MassaSignatureError> for GrpcError

    source§

    fn from(source: MassaSignatureError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ModelsError> for GrpcError

    source§

    fn from(source: ModelsError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ProtocolError> for GrpcError

    source§

    fn from(source: ProtocolError) -> Self

    Converts to this type from the input type.
    source§

    impl From<TimeError> for GrpcError

    source§

    fn from(source: TimeError) -> Self

    Converts to this type from the input type.
    source§

    impl From<WalletError> for GrpcError

    source§

    fn from(source: WalletError) -> 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 Debug for GrpcError

    source§

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

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

    impl Display for GrpcError

    source§

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

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

    impl Error for GrpcError

    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<ConsensusError> for GrpcError

    source§

    fn from(source: ConsensusError) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for GrpcError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<ExecutionError> for GrpcError

    source§

    fn from(source: ExecutionError) -> Self

    Converts to this type from the input type.
    source§

    impl From<FactoryError> for GrpcError

    source§

    fn from(source: FactoryError) -> Self

    Converts to this type from the input type.
    source§

    impl From<GrpcError> for Status

    source§

    fn from(error: GrpcError) -> Self

    Converts to this type from the input type.
    source§

    impl From<MassaHashError> for GrpcError

    source§

    fn from(source: MassaHashError) -> Self

    Converts to this type from the input type.
    source§

    impl From<MassaSignatureError> for GrpcError

    source§

    fn from(source: MassaSignatureError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ModelsError> for GrpcError

    source§

    fn from(source: ModelsError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ProtocolError> for GrpcError

    source§

    fn from(source: ProtocolError) -> Self

    Converts to this type from the input type.
    source§

    impl From<TimeError> for GrpcError

    source§

    fn from(source: TimeError) -> Self

    Converts to this type from the input type.
    source§

    impl From<WalletError> for GrpcError

    source§

    fn from(source: WalletError) -> 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.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where diff --git a/massa_grpc/private/fn.get_node_status.html b/massa_grpc/private/fn.get_node_status.html index d99c90a6752..4cc0a7c88e8 100644 --- a/massa_grpc/private/fn.get_node_status.html +++ b/massa_grpc/private/fn.get_node_status.html @@ -1,4 +1,4 @@ -get_node_status in massa_grpc::private - Rust

    Function massa_grpc::private::get_node_status

    source ·
    pub(crate) fn get_node_status(
    +get_node_status in massa_grpc::private - Rust

    Function massa_grpc::private::get_node_status

    source ·
    pub(crate) fn get_node_status(
         grpc: &MassaPrivateGrpc,
         _request: Request<GetNodeStatusRequest>,
     ) -> Result<GetNodeStatusResponse, GrpcError>
    Expand description

    Get node status

    diff --git a/massa_grpc/private/fn.get_peers_whitelist.html b/massa_grpc/private/fn.get_peers_whitelist.html index c8def10c55e..cd46153a3ec 100644 --- a/massa_grpc/private/fn.get_peers_whitelist.html +++ b/massa_grpc/private/fn.get_peers_whitelist.html @@ -1,4 +1,4 @@ -get_peers_whitelist in massa_grpc::private - Rust

    Function massa_grpc::private::get_peers_whitelist

    source ·
    pub(crate) fn get_peers_whitelist(
    +get_peers_whitelist in massa_grpc::private - Rust

    Function massa_grpc::private::get_peers_whitelist

    source ·
    pub(crate) fn get_peers_whitelist(
         _grpc: &MassaPrivateGrpc,
         _request: Request<GetPeersWhitelistRequest>,
     ) -> Result<GetPeersWhitelistResponse, GrpcError>
    Expand description

    Get node peers whitelist IP addresses

    diff --git a/massa_grpc/private/fn.remove_from_bootstrap_blacklist.html b/massa_grpc/private/fn.remove_from_bootstrap_blacklist.html index 4871437a97b..e34360db66b 100644 --- a/massa_grpc/private/fn.remove_from_bootstrap_blacklist.html +++ b/massa_grpc/private/fn.remove_from_bootstrap_blacklist.html @@ -1,4 +1,4 @@ -remove_from_bootstrap_blacklist in massa_grpc::private - Rust

    Function massa_grpc::private::remove_from_bootstrap_blacklist

    source ·
    pub(crate) fn remove_from_bootstrap_blacklist(
    +remove_from_bootstrap_blacklist in massa_grpc::private - Rust

    Function massa_grpc::private::remove_from_bootstrap_blacklist

    source ·
    pub(crate) fn remove_from_bootstrap_blacklist(
         grpc: &MassaPrivateGrpc,
         request: Request<RemoveFromBootstrapBlacklistRequest>,
     ) -> Result<RemoveFromBootstrapBlacklistResponse, GrpcError>
    Expand description

    Remove from bootstrap blacklist given IP addresses

    diff --git a/massa_grpc/private/fn.remove_from_bootstrap_whitelist.html b/massa_grpc/private/fn.remove_from_bootstrap_whitelist.html index 6b661560450..dc988067483 100644 --- a/massa_grpc/private/fn.remove_from_bootstrap_whitelist.html +++ b/massa_grpc/private/fn.remove_from_bootstrap_whitelist.html @@ -1,4 +1,4 @@ -remove_from_bootstrap_whitelist in massa_grpc::private - Rust

    Function massa_grpc::private::remove_from_bootstrap_whitelist

    source ·
    pub(crate) fn remove_from_bootstrap_whitelist(
    +remove_from_bootstrap_whitelist in massa_grpc::private - Rust

    Function massa_grpc::private::remove_from_bootstrap_whitelist

    source ·
    pub(crate) fn remove_from_bootstrap_whitelist(
         grpc: &MassaPrivateGrpc,
         request: Request<RemoveFromBootstrapWhitelistRequest>,
     ) -> Result<RemoveFromBootstrapWhitelistResponse, GrpcError>
    Expand description

    Remove from bootstrap whitelist given IP addresses

    diff --git a/massa_grpc/private/fn.remove_from_peers_whitelist.html b/massa_grpc/private/fn.remove_from_peers_whitelist.html index 93787be2bfe..741531bf275 100644 --- a/massa_grpc/private/fn.remove_from_peers_whitelist.html +++ b/massa_grpc/private/fn.remove_from_peers_whitelist.html @@ -1,4 +1,4 @@ -remove_from_peers_whitelist in massa_grpc::private - Rust

    Function massa_grpc::private::remove_from_peers_whitelist

    source ·
    pub(crate) fn remove_from_peers_whitelist(
    +remove_from_peers_whitelist in massa_grpc::private - Rust

    Function massa_grpc::private::remove_from_peers_whitelist

    source ·
    pub(crate) fn remove_from_peers_whitelist(
         _grpc: &MassaPrivateGrpc,
         _request: Request<RemoveFromPeersWhitelistRequest>,
     ) -> Result<RemoveFromPeersWhitelistResponse, GrpcError>
    Expand description

    Remove from peers whitelist given IP addresses

    diff --git a/massa_grpc/private/fn.remove_staking_addresses.html b/massa_grpc/private/fn.remove_staking_addresses.html index 717c09b783c..976826b7de1 100644 --- a/massa_grpc/private/fn.remove_staking_addresses.html +++ b/massa_grpc/private/fn.remove_staking_addresses.html @@ -1,4 +1,4 @@ -remove_staking_addresses in massa_grpc::private - Rust

    Function massa_grpc::private::remove_staking_addresses

    source ·
    pub(crate) fn remove_staking_addresses(
    +remove_staking_addresses in massa_grpc::private - Rust

    Function massa_grpc::private::remove_staking_addresses

    source ·
    pub(crate) fn remove_staking_addresses(
         _grpc: &MassaPrivateGrpc,
         _request: Request<RemoveStakingAddressesRequest>,
     ) -> Result<RemoveStakingAddressesResponse, GrpcError>
    Expand description

    Remove addresses from staking

    diff --git a/massa_grpc/private/fn.shutdown_gracefully.html b/massa_grpc/private/fn.shutdown_gracefully.html index a045f238c86..fee9ab41559 100644 --- a/massa_grpc/private/fn.shutdown_gracefully.html +++ b/massa_grpc/private/fn.shutdown_gracefully.html @@ -1,4 +1,4 @@ -shutdown_gracefully in massa_grpc::private - Rust

    Function massa_grpc::private::shutdown_gracefully

    source ·
    pub(crate) fn shutdown_gracefully(
    +shutdown_gracefully in massa_grpc::private - Rust

    Function massa_grpc::private::shutdown_gracefully

    source ·
    pub(crate) fn shutdown_gracefully(
         _grpc: &MassaPrivateGrpc,
         _request: Request<ShutdownGracefullyRequest>,
     ) -> Result<ShutdownGracefullyResponse, GrpcError>
    Expand description

    Shutdown the node gracefully

    diff --git a/massa_grpc/private/fn.sign_messages.html b/massa_grpc/private/fn.sign_messages.html index 760802a0419..2935e127e3b 100644 --- a/massa_grpc/private/fn.sign_messages.html +++ b/massa_grpc/private/fn.sign_messages.html @@ -1,4 +1,4 @@ -sign_messages in massa_grpc::private - Rust

    Function massa_grpc::private::sign_messages

    source ·
    pub(crate) fn sign_messages(
    +sign_messages in massa_grpc::private - Rust

    Function massa_grpc::private::sign_messages

    source ·
    pub(crate) fn sign_messages(
         grpc: &MassaPrivateGrpc,
         request: Request<SignMessagesRequest>,
     ) -> Result<SignMessagesResponse, GrpcError>
    Expand description

    Sign messages with node’s key

    diff --git a/massa_grpc/private/fn.unban_nodes_by_ids.html b/massa_grpc/private/fn.unban_nodes_by_ids.html index 14b63f3101f..979c1c7a6c0 100644 --- a/massa_grpc/private/fn.unban_nodes_by_ids.html +++ b/massa_grpc/private/fn.unban_nodes_by_ids.html @@ -1,4 +1,4 @@ -unban_nodes_by_ids in massa_grpc::private - Rust

    Function massa_grpc::private::unban_nodes_by_ids

    source ·
    pub(crate) fn unban_nodes_by_ids(
    +unban_nodes_by_ids in massa_grpc::private - Rust

    Function massa_grpc::private::unban_nodes_by_ids

    source ·
    pub(crate) fn unban_nodes_by_ids(
         grpc: &MassaPrivateGrpc,
         request: Request<UnbanNodesByIdsRequest>,
     ) -> Result<UnbanNodesByIdsResponse, GrpcError>
    Expand description

    Unban multiple nodes by their individual ids

    diff --git a/massa_grpc/private/fn.unban_nodes_by_ips.html b/massa_grpc/private/fn.unban_nodes_by_ips.html index 2b7bd8e5534..d218ffda995 100644 --- a/massa_grpc/private/fn.unban_nodes_by_ips.html +++ b/massa_grpc/private/fn.unban_nodes_by_ips.html @@ -1,4 +1,4 @@ -unban_nodes_by_ips in massa_grpc::private - Rust

    Function massa_grpc::private::unban_nodes_by_ips

    source ·
    pub(crate) fn unban_nodes_by_ips(
    +unban_nodes_by_ips in massa_grpc::private - Rust

    Function massa_grpc::private::unban_nodes_by_ips

    source ·
    pub(crate) fn unban_nodes_by_ips(
         _grpc: &MassaPrivateGrpc,
         _request: Request<UnbanNodesByIpsRequest>,
     ) -> Result<UnbanNodesByIpsResponse, GrpcError>
    Expand description

    Unban multiple nodes by their individual IP addresses

    diff --git a/massa_grpc/private/index.html b/massa_grpc/private/index.html index 524fd5e95df..b5b749ac73e 100644 --- a/massa_grpc/private/index.html +++ b/massa_grpc/private/index.html @@ -1,3 +1,3 @@ -massa_grpc::private - Rust

    Module massa_grpc::private

    source ·
    Expand description

    business code for node management methods

    +massa_grpc::private - Rust

    Module massa_grpc::private

    source ·
    Expand description

    business code for node management methods

    Functions§

    \ No newline at end of file diff --git a/massa_grpc/public/fn.get_status.html b/massa_grpc/public/fn.get_status.html index 886a317cd33..7e15c31da87 100644 --- a/massa_grpc/public/fn.get_status.html +++ b/massa_grpc/public/fn.get_status.html @@ -1,4 +1,4 @@ -get_status in massa_grpc::public - Rust

    Function massa_grpc::public::get_status

    source ·
    pub(crate) fn get_status(
    +get_status in massa_grpc::public - Rust

    Function massa_grpc::public::get_status

    source ·
    pub(crate) fn get_status(
         grpc: &MassaPublicGrpc,
         _request: Request<GetStatusRequest>,
     ) -> Result<GetStatusResponse, GrpcError>
    \ No newline at end of file diff --git a/massa_grpc/public/fn.get_transactions_throughput.html b/massa_grpc/public/fn.get_transactions_throughput.html index 465ea122eb3..9f86f7fbd1c 100644 --- a/massa_grpc/public/fn.get_transactions_throughput.html +++ b/massa_grpc/public/fn.get_transactions_throughput.html @@ -1,4 +1,4 @@ -get_transactions_throughput in massa_grpc::public - Rust

    Function massa_grpc::public::get_transactions_throughput

    source ·
    pub(crate) fn get_transactions_throughput(
    +get_transactions_throughput in massa_grpc::public - Rust

    Function massa_grpc::public::get_transactions_throughput

    source ·
    pub(crate) fn get_transactions_throughput(
         grpc: &MassaPublicGrpc,
         _request: Request<GetTransactionsThroughputRequest>,
     ) -> Result<GetTransactionsThroughputResponse, GrpcError>
    Expand description

    Get transactions throughput

    diff --git a/massa_grpc/public/fn.query_state.html b/massa_grpc/public/fn.query_state.html index 36fe027f09a..93cd50854e1 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 d98d8e141dd..af75f3a6bb9 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 a43403e6e19..5667edd572d 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 93c4baa64a8..945170f3a7b 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 ba08380297c..8d1f2e70b38 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 7aba32c5071..92bf3c3a22c 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 69ee665d2ec..5df569876d2 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/enum.LedgerError.html b/massa_ledger_exports/enum.LedgerError.html index 12f8b53405e..bd44a8be9c4 100644 --- a/massa_ledger_exports/enum.LedgerError.html +++ b/massa_ledger_exports/enum.LedgerError.html @@ -6,7 +6,7 @@

    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.
    §

    ContainerInconsistency(String)

    container inconsistency: {0}

    §

    MissingEntry(String)

    missing entry: {0}

    §

    FileError(String)

    file error: {0}

    -

    Trait Implementations§

    source§

    impl Debug for LedgerError

    source§

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

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

    impl Display for LedgerError

    source§

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

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

    impl Error for LedgerError

    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 +

    Trait Implementations§

    source§

    impl Debug for LedgerError

    source§

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

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

    impl Display for LedgerError

    source§

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

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

    impl Error for LedgerError

    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_ledger_exports/error/enum.LedgerError.html b/massa_ledger_exports/error/enum.LedgerError.html index bb078769adb..5cb61c97849 100644 --- a/massa_ledger_exports/error/enum.LedgerError.html +++ b/massa_ledger_exports/error/enum.LedgerError.html @@ -6,7 +6,7 @@

    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.
    §

    ContainerInconsistency(String)

    container inconsistency: {0}

    §

    MissingEntry(String)

    missing entry: {0}

    §

    FileError(String)

    file error: {0}

    -

    Trait Implementations§

    source§

    impl Debug for LedgerError

    source§

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

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

    impl Display for LedgerError

    source§

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

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

    impl Error for LedgerError

    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 +

    Trait Implementations§

    source§

    impl Debug for LedgerError

    source§

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

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

    impl Display for LedgerError

    source§

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

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

    impl Error for LedgerError

    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_ledger_exports/ledger_changes/struct.LedgerChanges.html b/massa_ledger_exports/ledger_changes/struct.LedgerChanges.html index a678e69b430..cec3909d781 100644 --- a/massa_ledger_exports/ledger_changes/struct.LedgerChanges.html +++ b/massa_ledger_exports/ledger_changes/struct.LedgerChanges.html @@ -159,8 +159,8 @@
    §Argumentskey: datastore key

    Trait Implementations§

    source§

    impl Applicable<LedgerChanges> for LedgerChanges

    source§

    fn apply(&mut self, changes: LedgerChanges)

    extends the current LedgerChanges with another one

    -
    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]>>( +

    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]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], LedgerChanges, E>

    §Example
    diff --git a/massa_ledger_exports/ledger_changes/struct.LedgerEntryUpdate.html b/massa_ledger_exports/ledger_changes/struct.LedgerEntryUpdate.html index ad793042d17..73206de41b5 100644 --- a/massa_ledger_exports/ledger_changes/struct.LedgerEntryUpdate.html +++ b/massa_ledger_exports/ledger_changes/struct.LedgerEntryUpdate.html @@ -7,12 +7,12 @@
    §bytecode: SetOrKeep<Bytecode>

    change the executable bytecode

    §datastore: BTreeMap<Vec<u8>, SetOrDelete<Vec<u8>>>

    change datastore entries

    Trait Implementations§

    source§

    impl Applicable<LedgerEntryUpdate> for LedgerEntry

    A LedgerEntryUpdate can be applied to a LedgerEntry

    -
    source§

    fn apply(&mut self, update: LedgerEntryUpdate)

    apply changes from other to mutable self
    source§

    impl Applicable<LedgerEntryUpdate> for LedgerEntryUpdate

    source§

    fn apply(&mut self, update: LedgerEntryUpdate)

    extends the LedgerEntryUpdate with another one

    -
    source§

    impl Clone for LedgerEntryUpdate

    source§

    fn clone(&self) -> LedgerEntryUpdate

    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 LedgerEntryUpdate

    source§

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

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

    impl Default for LedgerEntryUpdate

    source§

    fn default() -> LedgerEntryUpdate

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

    impl<'de> Deserialize<'de> for LedgerEntryUpdate

    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<LedgerEntryUpdate> for LedgerEntryUpdateDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    source§

    fn apply(&mut self, update: LedgerEntryUpdate)

    apply changes from other to mutable self
    source§

    impl Applicable<LedgerEntryUpdate> for LedgerEntryUpdate

    source§

    fn apply(&mut self, update: LedgerEntryUpdate)

    extends the LedgerEntryUpdate with another one

    +
    source§

    impl Clone for LedgerEntryUpdate

    source§

    fn clone(&self) -> LedgerEntryUpdate

    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 LedgerEntryUpdate

    source§

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

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

    impl Default for LedgerEntryUpdate

    source§

    fn default() -> LedgerEntryUpdate

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

    impl<'de> Deserialize<'de> for LedgerEntryUpdate

    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<LedgerEntryUpdate> for LedgerEntryUpdateDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], LedgerEntryUpdate, E>

    §Example
    +) -> IResult<&'a [u8], LedgerEntryUpdate, E>

    §Example
    use massa_serialization::{Deserializer, Serializer, DeserializeError};
     use massa_models::{prehash::PreHashMap, address::Address, amount::Amount, bytecode::Bytecode};
     use std::str::FromStr;
    @@ -44,7 +44,7 @@
         &self,
         value: &LedgerEntryUpdate,
         buffer: &mut Vec<u8>,
    -) -> Result<(), SerializeError>
    §Example
    +) -> Result<(), SerializeError>
    §Example
    use massa_serialization::Serializer;
     use massa_models::{prehash::PreHashMap, address::Address, amount::Amount, bytecode::Bytecode};
     use std::str::FromStr;
    diff --git a/massa_ledger_exports/ledger_entry/struct.LedgerEntry.html b/massa_ledger_exports/ledger_entry/struct.LedgerEntry.html
    index 14dde82617f..c85cc045df1 100644
    --- a/massa_ledger_exports/ledger_entry/struct.LedgerEntry.html
    +++ b/massa_ledger_exports/ledger_entry/struct.LedgerEntry.html
    @@ -7,11 +7,11 @@
     
    §bytecode: Bytecode

    Executable bytecode

    §datastore: Datastore

    A key-value store associating a hash to arbitrary bytes

    Trait Implementations§

    source§

    impl Applicable<LedgerEntryUpdate> for LedgerEntry

    A LedgerEntryUpdate can be applied to a LedgerEntry

    -
    source§

    fn apply(&mut self, update: LedgerEntryUpdate)

    apply changes from other to mutable self
    source§

    impl Clone for LedgerEntry

    source§

    fn clone(&self) -> LedgerEntry

    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 LedgerEntry

    source§

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

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

    impl Default for LedgerEntry

    source§

    fn default() -> LedgerEntry

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

    impl<'de> Deserialize<'de> for LedgerEntry

    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<LedgerEntry> for LedgerEntryDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    source§

    fn apply(&mut self, update: LedgerEntryUpdate)

    apply changes from other to mutable self
    source§

    impl Clone for LedgerEntry

    source§

    fn clone(&self) -> LedgerEntry

    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 LedgerEntry

    source§

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

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

    impl Default for LedgerEntry

    source§

    fn default() -> LedgerEntry

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

    impl<'de> Deserialize<'de> for LedgerEntry

    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<LedgerEntry> for LedgerEntryDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], LedgerEntry, E>

    §Example
    +) -> IResult<&'a [u8], LedgerEntry, E>
    §Example
    use massa_serialization::{Deserializer, Serializer, DeserializeError};
     use std::collections::BTreeMap;
     use std::str::FromStr;
    @@ -37,12 +37,12 @@
     assert_eq!(ledger_entry, ledger_entry_deser);
    source§

    impl From<LedgerEntry> for LedgerEntry

    source§

    fn from(value: LedgerEntry) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for LedgerEntry

    source§

    fn eq(&self, other: &LedgerEntry) -> 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 LedgerEntry

    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<LedgerEntry> for LedgerEntrySerializer

    source§

    fn serialize( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for LedgerEntry

    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<LedgerEntry> for LedgerEntrySerializer

    source§

    fn serialize( &self, value: &LedgerEntry, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example
    +) -> Result<(), SerializeError>
    §Example
    use massa_serialization::Serializer;
     use std::collections::BTreeMap;
     use std::str::FromStr;
    diff --git a/massa_ledger_exports/struct.LedgerChanges.html b/massa_ledger_exports/struct.LedgerChanges.html
    index 01a94353e73..6c5ccfd6f2f 100644
    --- a/massa_ledger_exports/struct.LedgerChanges.html
    +++ b/massa_ledger_exports/struct.LedgerChanges.html
    @@ -159,8 +159,8 @@ 
    §Argumentskey: datastore key

    Trait Implementations§

    source§

    impl Applicable<LedgerChanges> for LedgerChanges

    source§

    fn apply(&mut self, changes: LedgerChanges)

    extends the current LedgerChanges with another one

    -
    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]>>( +

    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]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], LedgerChanges, E>

    §Example
    diff --git a/massa_ledger_exports/struct.LedgerEntry.html b/massa_ledger_exports/struct.LedgerEntry.html index b063489a5de..cc5f748d416 100644 --- a/massa_ledger_exports/struct.LedgerEntry.html +++ b/massa_ledger_exports/struct.LedgerEntry.html @@ -7,11 +7,11 @@
    §bytecode: Bytecode

    Executable bytecode

    §datastore: Datastore

    A key-value store associating a hash to arbitrary bytes

    Trait Implementations§

    source§

    impl Applicable<LedgerEntryUpdate> for LedgerEntry

    A LedgerEntryUpdate can be applied to a LedgerEntry

    -
    source§

    fn apply(&mut self, update: LedgerEntryUpdate)

    apply changes from other to mutable self
    source§

    impl Clone for LedgerEntry

    source§

    fn clone(&self) -> LedgerEntry

    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 LedgerEntry

    source§

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

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

    impl Default for LedgerEntry

    source§

    fn default() -> LedgerEntry

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

    impl<'de> Deserialize<'de> for LedgerEntry

    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<LedgerEntry> for LedgerEntryDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    source§

    fn apply(&mut self, update: LedgerEntryUpdate)

    apply changes from other to mutable self
    source§

    impl Clone for LedgerEntry

    source§

    fn clone(&self) -> LedgerEntry

    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 LedgerEntry

    source§

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

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

    impl Default for LedgerEntry

    source§

    fn default() -> LedgerEntry

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

    impl<'de> Deserialize<'de> for LedgerEntry

    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<LedgerEntry> for LedgerEntryDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], LedgerEntry, E>

    §Example
    +) -> IResult<&'a [u8], LedgerEntry, E>
    §Example
    use massa_serialization::{Deserializer, Serializer, DeserializeError};
     use std::collections::BTreeMap;
     use std::str::FromStr;
    @@ -37,12 +37,12 @@
     assert_eq!(ledger_entry, ledger_entry_deser);
    source§

    impl From<LedgerEntry> for LedgerEntry

    source§

    fn from(value: LedgerEntry) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for LedgerEntry

    source§

    fn eq(&self, other: &LedgerEntry) -> 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 LedgerEntry

    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<LedgerEntry> for LedgerEntrySerializer

    source§

    fn serialize( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for LedgerEntry

    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<LedgerEntry> for LedgerEntrySerializer

    source§

    fn serialize( &self, value: &LedgerEntry, buffer: &mut Vec<u8>, -) -> Result<(), SerializeError>

    §Example
    +) -> Result<(), SerializeError>
    §Example
    use massa_serialization::Serializer;
     use std::collections::BTreeMap;
     use std::str::FromStr;
    diff --git a/massa_ledger_exports/struct.LedgerEntryUpdate.html b/massa_ledger_exports/struct.LedgerEntryUpdate.html
    index a9b1f80cca5..039cc11dce3 100644
    --- a/massa_ledger_exports/struct.LedgerEntryUpdate.html
    +++ b/massa_ledger_exports/struct.LedgerEntryUpdate.html
    @@ -7,12 +7,12 @@
     
    §bytecode: SetOrKeep<Bytecode>

    change the executable bytecode

    §datastore: BTreeMap<Vec<u8>, SetOrDelete<Vec<u8>>>

    change datastore entries

    Trait Implementations§

    source§

    impl Applicable<LedgerEntryUpdate> for LedgerEntry

    A LedgerEntryUpdate can be applied to a LedgerEntry

    -
    source§

    fn apply(&mut self, update: LedgerEntryUpdate)

    apply changes from other to mutable self
    source§

    impl Applicable<LedgerEntryUpdate> for LedgerEntryUpdate

    source§

    fn apply(&mut self, update: LedgerEntryUpdate)

    extends the LedgerEntryUpdate with another one

    -
    source§

    impl Clone for LedgerEntryUpdate

    source§

    fn clone(&self) -> LedgerEntryUpdate

    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 LedgerEntryUpdate

    source§

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

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

    impl Default for LedgerEntryUpdate

    source§

    fn default() -> LedgerEntryUpdate

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

    impl<'de> Deserialize<'de> for LedgerEntryUpdate

    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<LedgerEntryUpdate> for LedgerEntryUpdateDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    source§

    fn apply(&mut self, update: LedgerEntryUpdate)

    apply changes from other to mutable self
    source§

    impl Applicable<LedgerEntryUpdate> for LedgerEntryUpdate

    source§

    fn apply(&mut self, update: LedgerEntryUpdate)

    extends the LedgerEntryUpdate with another one

    +
    source§

    impl Clone for LedgerEntryUpdate

    source§

    fn clone(&self) -> LedgerEntryUpdate

    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 LedgerEntryUpdate

    source§

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

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

    impl Default for LedgerEntryUpdate

    source§

    fn default() -> LedgerEntryUpdate

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

    impl<'de> Deserialize<'de> for LedgerEntryUpdate

    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<LedgerEntryUpdate> for LedgerEntryUpdateDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], LedgerEntryUpdate, E>

    §Example
    +) -> IResult<&'a [u8], LedgerEntryUpdate, E>
    §Example
    use massa_serialization::{Deserializer, Serializer, DeserializeError};
     use massa_models::{prehash::PreHashMap, address::Address, amount::Amount, bytecode::Bytecode};
     use std::str::FromStr;
    @@ -44,7 +44,7 @@
         &self,
         value: &LedgerEntryUpdate,
         buffer: &mut Vec<u8>,
    -) -> Result<(), SerializeError>
    §Example
    +) -> Result<(), SerializeError>
    §Example
    use massa_serialization::Serializer;
     use massa_models::{prehash::PreHashMap, address::Address, amount::Amount, bytecode::Bytecode};
     use std::str::FromStr;
    diff --git a/massa_ledger_exports/trait.LedgerController.html b/massa_ledger_exports/trait.LedgerController.html
    index daa7d4fa51a..a97405171df 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 03c15928a2c..bfb0b7b4d6d 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 c5b4a2b28ce..d14ed267780 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 35e05c13228..9561876c09a 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 f8afc581151..7c98457f0f9 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 2d14ad676f6..61e48871922 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 44adaacdddb..de967102952 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 3e7d01d2814..4f603b489eb 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 267962aa13c..0c7b7c34f6e 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 8cd87548f07..fc803aa35bd 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 84fede5c9bb..87e48541d2c 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 77b505c95b4..6db5432db60 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 0cef8eef8c5..a2b9ad0e7c8 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 a8bb3599209..3736990f984 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 34a6d806cad..e73fa14b43a 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 834ed920bd5..712958ef2d4 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 8b44d3a0645..25de0e401db 100644 --- a/massa_models/amount/struct.Amount.html +++ b/massa_models/amount/struct.Amount.html @@ -89,11 +89,11 @@ let res : Amount = amount_1.checked_rem_u64(40000000000).unwrap(); 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]>>( +

    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]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], Amount, E>

    §Example
    +) -> IResult<&'a [u8], Amount, E>
    §Example
    use massa_models::amount::{Amount, AmountSerializer, AmountDeserializer};
     use massa_serialization::{Serializer, Deserializer, DeserializeError};
     use std::str::FromStr;
    @@ -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 b5877e142b3..d8c98a90a41 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 dc13ac65a34..f38b06a9ca2 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 44fdf0bd027..957f3b1bd14 100644
    --- a/massa_models/block/struct.Block.html
    +++ b/massa_models/block/struct.Block.html
    @@ -5,10 +5,10 @@
     

    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:
    +) -> IResult<&'a [u8], Block, E>
    §Example:
    use massa_models::{block::{Block, BlockSerializer, BlockDeserializer, BlockDeserializerArgs}, config::THREAD_COUNT, slot::Slot, endorsement::{Endorsement, EndorsementSerializer}, secure_share::SecureShareContent, prehash::PreHashSet};
     use massa_models::block_id::BlockId;
     use massa_models::block_header::{BlockHeader, BlockHeaderSerializer};
    @@ -94,19 +94,19 @@
         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, _chain_id: u64, ) -> Result<SecureShare<Self, U>, ModelsError>

    Using the provided key-pair, applies a cryptographic signature, and packages -the data required to share and verify the data in a trust-free network of peers.
    source§

    fn serialize( +the data required to share and verify the data in a trust-free network of peers.

    source§

    fn serialize( _signature: &Signature, _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, @@ -130,12 +130,12 @@ &self, _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

    source§

    fn serialize( +) -> 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

    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 d33281d1a13..5dbe485492b 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 f06dedcd6a5..6f12e8e7409 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 1c10586fd9a..d2f8c0bde84 100644
    --- a/massa_models/block_header/struct.BlockHeader.html
    +++ b/massa_models/block_header/struct.BlockHeader.html
    @@ -15,10 +15,10 @@
     
    §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:
    +) -> IResult<&'a [u8], BlockHeader, E>
    §Example:
    use massa_models::block_header::{BlockHeader, BlockHeaderDeserializer, BlockHeaderSerializer};
     use massa_models::block_id::{BlockId};
     use massa_models::{config::THREAD_COUNT, slot::Slot, secure_share::SecureShareContent};
    @@ -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, @@ -96,24 +96,24 @@ content_serialized: &[u8], content_creator_pub_key: &PublicKey, _chain_id: u64, -) -> Hash

    Compute hash
    source§

    fn serialize( +) -> Hash

    Compute hash
    source§

    fn serialize( signature: &Signature, 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

    source§

    fn serialize( +) -> 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

    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 e1f9c78c14e..52a729ccc22 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 adfd4601356..498fd8c1084 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 893b262073d..ef2ffd99d1e 100644
    --- a/massa_models/block_id/enum.BlockId.html
    +++ b/massa_models/block_id/enum.BlockId.html
    @@ -3,13 +3,13 @@
     }
    Expand description

    block id

    Variants§

    §

    BlockIdV0(BlockIdV0)

    Implementations§

    source§

    impl BlockId

    source

    pub fn get_first_bit(&self) -> bool

    first bit of the hashed block id

    source

    pub fn get_version(&self) -> u64

    version of the block id

    -

    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 +

    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]>>( + <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]>>( &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);
    @@ -23,12 +23,12 @@ sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for BlockId

    source§

    fn partial_cmp(&self, other: &BlockId) -> 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 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

    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

    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 77db7ccdc9d..fe9238bedb1 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 917c45e2f60..230cdd68be0 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 fe103dbcc4c..21539b2bd14 100644 --- a/massa_models/block_id/struct.BlockIdV0.html +++ b/massa_models/block_id/struct.BlockIdV0.html @@ -3,11 +3,11 @@

    source

    pub fn get_version(&self) -> u64

    version of the block id

    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]>>( + <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]>>( &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 508b3b46690..381f51964fd 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 6ecd2808781..b2ef91c5340 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 6cd3b10d1ef..36e648dcc2d 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 958953b2eb2..38e14a424d3 100644 --- a/massa_models/clique/struct.Clique.html +++ b/massa_models/clique/struct.Clique.html @@ -8,10 +8,10 @@ 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
    +) -> IResult<&'a [u8], Clique, E>
    §Example
    let clique = Clique {
             block_ids: vec![get_dummy_block_id("parent1"), get_dummy_block_id("parent2")].into_iter().collect(),
             fitness: 123,
    @@ -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 c9c9c2e11ce..16a2f0d24a7 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 f413da76da7..0bff786668e 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/compact_config/struct.CompactConfig.html b/massa_models/config/compact_config/struct.CompactConfig.html
    index fadbf598a32..3c2b0bb39d6 100644
    --- a/massa_models/config/compact_config/struct.CompactConfig.html
    +++ b/massa_models/config/compact_config/struct.CompactConfig.html
    @@ -1,8 +1,8 @@
     CompactConfig in massa_models::config::compact_config - Rust

    Struct massa_models::config::compact_config::CompactConfig

    source ·
    pub struct CompactConfig {
    -    pub genesis_timestamp: MassaTime,
    -    pub end_timestamp: Option<MassaTime>,
    +    pub genesis_timestamp: MassaTime,
    +    pub end_timestamp: Option<MassaTime>,
         pub thread_count: u8,
    -    pub t0: MassaTime,
    +    pub t0: MassaTime,
         pub delta_f0: u64,
         pub operation_validity_periods: u64,
         pub periods_per_cycle: u64,
    @@ -10,18 +10,18 @@
         pub roll_price: Amount,
         pub max_block_size: u32,
     }
    Expand description

    Compact representation of key values of consensus algorithm used in API

    -

    Fields§

    §genesis_timestamp: MassaTime

    Time in milliseconds when the blockclique started.

    -
    §end_timestamp: Option<MassaTime>

    TESTNET: time when the blockclique is ended.

    +

    Fields§

    §genesis_timestamp: MassaTime

    Time in milliseconds when the blockclique started.

    +
    §end_timestamp: Option<MassaTime>

    TESTNET: time when the blockclique is ended.

    §thread_count: u8

    Number of threads

    -
    §t0: MassaTime

    Time between the periods in the same thread.

    +
    §t0: MassaTime

    Time between the periods in the same thread.

    §delta_f0: u64

    Threshold for fitness.

    §operation_validity_periods: u64

    Maximum operation validity period count

    §periods_per_cycle: u64

    cycle duration in periods

    §block_reward: Amount

    Reward amount for a block creation

    §roll_price: Amount

    Price of a roll on the network

    §max_block_size: u32

    Max total size of a block

    -

    Trait Implementations§

    source§

    impl Clone for CompactConfig

    source§

    fn clone(&self) -> CompactConfig

    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 CompactConfig

    source§

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

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

    impl Default for CompactConfig

    source§

    fn default() -> Self

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

    impl<'de> Deserialize<'de> for CompactConfig

    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 Display for CompactConfig

    source§

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

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

    impl From<CompactConfig> for CompactConfig

    source§

    fn from(value: CompactConfig) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for CompactConfig

    source§

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

    Trait Implementations§

    source§

    impl Clone for CompactConfig

    source§

    fn clone(&self) -> CompactConfig

    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 CompactConfig

    source§

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

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

    impl Default for CompactConfig

    source§

    fn default() -> Self

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

    impl<'de> Deserialize<'de> for CompactConfig

    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 Display for CompactConfig

    source§

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

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

    impl From<CompactConfig> for CompactConfig

    source§

    fn from(value: CompactConfig) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for CompactConfig

    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 Copy for CompactConfig

    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 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 b555d9738a9..a06e45d1879 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 a09243d35fc..72c6545c170 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 7ed243bf310..5f2611a086c 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 1dc5cb57424..e8b6464b5b6 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 48f2f5116ec..441ce10262d 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 ccfb617380e..b8c0917795b 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 1febb39fead..a522d2084bd 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 59f1a98176c..0b6e4eb2fad 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 1f99a63d5f4..6ac65674966 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 a4adf9ea9c4..863ad96cc46 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 28306e3e715..a649ebd38e0 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 a2665981c8e..50b4284ea02 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 067255bca57..16e3dfd86e0 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 e56d87879f3..f48cd27c2d7 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 98ccf62bcfd..00000000000 --- 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 00000000000..74ef85018a1 --- /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 00000000000..cf390cf84d1 --- /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 b83fa048b9d..63e0022fe4c 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 bfab10c713f..06595ac2cfa 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 cb2d5e7f028..cfe7f3dc71f 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 543d2afe145..48a17c396eb 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 8ebb15b9fd9..4ee4b61f226 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 c599fb94595..8fef9b12c17 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 19469489749..6ec49f7eaad 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 f172f6ee00d..d4b8c0887b4 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 1199fd2bbc8..32de71ddf69 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 b115aa25f56..37cbb5b9eb5 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 c6af6e2a473..5c29e89072a 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 2096bfebf1e..723ff0f819f 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 0d7c1a63643..9f35a32eb40 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 1b94e59aabd..4fefd45c8d0 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 08206c4940c..a89f2f6435b 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 7620e88b1e8..c98984caa13 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 a2ae76c9258..eb31d7d5f40 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 3739a93da90..8700a079b7a 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 1e3683622e4..3642e96bf7a 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 3692da9ae50..2d153140061 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 bb33fdbb77b..9861674fd37 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 5351db88f2a..42c7fbb83e9 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 2583b59b3d9..20a2830c92c 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 70d4b7562a4..db5de1762f3 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 23286747452..6cafd173089 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.T0.html b/massa_models/config/constants/constant.T0.html index b4e2c82cfd9..58b930c10ad 100644 --- a/massa_models/config/constants/constant.T0.html +++ b/massa_models/config/constants/constant.T0.html @@ -1,2 +1,2 @@ -T0 in massa_models::config::constants - Rust

    Constant massa_models::config::constants::T0

    source ·
    pub const T0: MassaTime;
    Expand description

    Time between the periods in the same thread.

    +T0 in massa_models::config::constants - Rust

    Constant massa_models::config::constants::T0

    source ·
    pub const T0: MassaTime;
    Expand description

    Time between the periods in the same thread.

    \ 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 2cdf4a9435c..aa4d391eebf 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 3dbfab2290b..2590c4866cb 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 34de7ddc9ee..7b990470109 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§

    Expand description

    Time in milliseconds when the blockclique started. In sandbox mode, the value depends on starting time and on the –restart-from-snapshot-at-period argument in CLI, so that the network starts or restarts 10 seconds after launch

    -

    Fields§

    §__private_field: ()

    Methods from Deref<Target = MassaTime>§

    pub const EPSILON: MassaTime = _

    pub fn to_duration(&self) -> Duration

    Conversion to std::time::Duration.

    +

    Fields§

    §__private_field: ()

    Methods from Deref<Target = MassaTime>§

    source

    pub const EPSILON: MassaTime = _

    source

    pub fn to_duration(&self) -> Duration

    Conversion to std::time::Duration.

    let duration: Duration = Duration::from_millis(42);
     let time : MassaTime = MassaTime::from_millis(42);
     let res: Duration = time.to_duration();
     assert_eq!(res, duration);
    -

    pub fn as_millis(&self) -> u64

    Conversion to u64, representing milliseconds.

    +
    source

    pub fn as_millis(&self) -> u64

    Conversion to u64, representing milliseconds.

    let time : MassaTime = MassaTime::from_millis(42);
     let res: u64 = time.as_millis();
     assert_eq!(res, 42);
    -

    pub fn abs_diff(&self, t: MassaTime) -> MassaTime

    +
    source

    pub fn abs_diff(&self, t: MassaTime) -> MassaTime

    
     let time1 = MassaTime::from_millis(42);
     let time2 = MassaTime::from_millis(84);
     
     assert_eq!(time1.abs_diff(time2), MassaTime::from_millis(42));
     assert_eq!(time2.abs_diff(time1), MassaTime::from_millis(42));
    -

    pub fn format_instant(&self) -> String

    +
    source

    pub fn format_instant(&self) -> String

    let massa_time : MassaTime = MassaTime::from_millis(1_640_995_200_000);
     assert_eq!(massa_time.format_instant(), String::from("2022-01-01T00:00:00Z"))
    -

    pub fn format_duration(&self) -> Result<String, TimeError>

    +
    source

    pub fn format_duration(&self) -> Result<String, TimeError>

    let massa_time : MassaTime = MassaTime::from_millis(1000*( 8 * 24*60*60 + 1 * 60*60 + 3 * 60 + 6 ));
     assert_eq!(massa_time.format_duration().unwrap(), String::from("8 days, 1 hours, 3 minutes, 6 seconds"))
    -

    pub fn days_hours_mins_secs(&self) -> Result<(i64, i64, i64, i64), TimeError>

    +
    source

    pub fn days_hours_mins_secs(&self) -> Result<(i64, i64, i64, i64), TimeError>

    let massa_time = MassaTime::from_millis(1000 * ( 8 * 24*60*60 + 1 * 60*60 + 3 * 60 + 6 ));
     let (days, hours, mins, secs) = massa_time.days_hours_mins_secs().unwrap();
     assert_eq!(days, 8);
     assert_eq!(hours, 1);
     assert_eq!(mins, 3);
     assert_eq!(secs, 6);
    -

    Trait Implementations§

    source§

    impl Deref for GENESIS_TIMESTAMP

    §

    type Target = MassaTime

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &MassaTime

    Dereferences the value.
    source§

    impl LazyStatic for GENESIS_TIMESTAMP

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Deref for GENESIS_TIMESTAMP

    §

    type Target = MassaTime

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &MassaTime

    Dereferences the value.
    source§

    impl LazyStatic for GENESIS_TIMESTAMP

    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/config/struct.CompactConfig.html b/massa_models/config/struct.CompactConfig.html index 61e65453ab3..4da7588bc65 100644 --- a/massa_models/config/struct.CompactConfig.html +++ b/massa_models/config/struct.CompactConfig.html @@ -1,8 +1,8 @@ CompactConfig in massa_models::config - Rust

    Struct massa_models::config::CompactConfig

    source ·
    pub struct CompactConfig {
    -    pub genesis_timestamp: MassaTime,
    -    pub end_timestamp: Option<MassaTime>,
    +    pub genesis_timestamp: MassaTime,
    +    pub end_timestamp: Option<MassaTime>,
         pub thread_count: u8,
    -    pub t0: MassaTime,
    +    pub t0: MassaTime,
         pub delta_f0: u64,
         pub operation_validity_periods: u64,
         pub periods_per_cycle: u64,
    @@ -10,18 +10,18 @@
         pub roll_price: Amount,
         pub max_block_size: u32,
     }
    Expand description

    Compact representation of key values of consensus algorithm used in API

    -

    Fields§

    §genesis_timestamp: MassaTime

    Time in milliseconds when the blockclique started.

    -
    §end_timestamp: Option<MassaTime>

    TESTNET: time when the blockclique is ended.

    +

    Fields§

    §genesis_timestamp: MassaTime

    Time in milliseconds when the blockclique started.

    +
    §end_timestamp: Option<MassaTime>

    TESTNET: time when the blockclique is ended.

    §thread_count: u8

    Number of threads

    -
    §t0: MassaTime

    Time between the periods in the same thread.

    +
    §t0: MassaTime

    Time between the periods in the same thread.

    §delta_f0: u64

    Threshold for fitness.

    §operation_validity_periods: u64

    Maximum operation validity period count

    §periods_per_cycle: u64

    cycle duration in periods

    §block_reward: Amount

    Reward amount for a block creation

    §roll_price: Amount

    Price of a roll on the network

    §max_block_size: u32

    Max total size of a block

    -

    Trait Implementations§

    source§

    impl Clone for CompactConfig

    source§

    fn clone(&self) -> CompactConfig

    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 CompactConfig

    source§

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

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

    impl Default for CompactConfig

    source§

    fn default() -> Self

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

    impl<'de> Deserialize<'de> for CompactConfig

    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 Display for CompactConfig

    source§

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

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

    impl From<CompactConfig> for CompactConfig

    source§

    fn from(value: CompactConfig) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for CompactConfig

    source§

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

    Trait Implementations§

    source§

    impl Clone for CompactConfig

    source§

    fn clone(&self) -> CompactConfig

    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 CompactConfig

    source§

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

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

    impl Default for CompactConfig

    source§

    fn default() -> Self

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

    impl<'de> Deserialize<'de> for CompactConfig

    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 Display for CompactConfig

    source§

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

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

    impl From<CompactConfig> for CompactConfig

    source§

    fn from(value: CompactConfig) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for CompactConfig

    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 Copy for CompactConfig

    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 diff --git a/massa_models/datastore/struct.DatastoreDeserializer.html b/massa_models/datastore/struct.DatastoreDeserializer.html index bce3dcbfbf6..b1ea71b7157 100644 --- a/massa_models/datastore/struct.DatastoreDeserializer.html +++ b/massa_models/datastore/struct.DatastoreDeserializer.html @@ -1,14 +1,14 @@ DatastoreDeserializer in massa_models::datastore - Rust

    Struct massa_models::datastore::DatastoreDeserializer

    source ·
    pub struct DatastoreDeserializer {
    -    length_deserializer: U64VarIntDeserializer,
    +    length_deserializer: U64VarIntDeserializer,
         key_deserializer: VecU8Deserializer,
         value_deserializer: VecU8Deserializer,
     }
    Expand description

    Deserializer for Datastore field in LedgerEntry

    -

    Fields§

    §length_deserializer: U64VarIntDeserializer§key_deserializer: VecU8Deserializer§value_deserializer: VecU8Deserializer

    Implementations§

    source§

    impl DatastoreDeserializer

    source

    pub fn new( +

    Fields§

    §length_deserializer: U64VarIntDeserializer§key_deserializer: VecU8Deserializer§value_deserializer: VecU8Deserializer

    Implementations§

    source§

    impl DatastoreDeserializer

    source

    pub fn new( max_datastore_entry_count: u64, max_datastore_key_length: u8, max_datastore_value_length: u64, ) -> Self

    Creates a new DatastoreDeserializer

    -

    Trait Implementations§

    source§

    impl Deserializer<BTreeMap<Vec<u8>, Vec<u8>>> for DatastoreDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    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 123d9757131..63581cb838b 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 56761143f28..35d256fffdb 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 @@ -21,12 +21,12 @@ 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 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

    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

    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 ae7ecbe85ea..57a4921b1e4 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 3791cee7180..da754c1a42e 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 a76247f2716..8fff05c7dac 100644 --- a/massa_models/denunciation/enum.Denunciation.html +++ b/massa_models/denunciation/enum.Denunciation.html @@ -28,22 +28,22 @@
  • 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

    -
    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 +) -> 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

    -
    §

    type Error = DenunciationError

    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 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

    -
    §

    type Error = DenunciationError

    The type returned in the event of a conversion error.
    source§

    fn try_from( +

    §

    type Error = DenunciationError

    The type returned in the event of a conversion error.
    source§

    fn try_from( (s_bh1, s_bh2): (&SecuredHeader, &SecuredHeader), ) -> Result<Self, Self::Error>

    Performs the conversion.
    source§

    impl TryFrom<(&SecureShare<Endorsement, EndorsementId>, &SecureShare<Endorsement, EndorsementId>)> for Denunciation

    Create a new Denunciation from 2 SecureShareEndorsement

    §

    type Error = DenunciationError

    The type returned in the event of a conversion error.
    source§

    fn try_from( diff --git a/massa_models/denunciation/enum.DenunciationError.html b/massa_models/denunciation/enum.DenunciationError.html index 00c752f8186..27ecc3dce28 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 247cecd6f47..2545b418a77 100644 --- a/massa_models/denunciation/enum.DenunciationIndex.html +++ b/massa_models/denunciation/enum.DenunciationIndex.html @@ -16,12 +16,12 @@

    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

    -
    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 +) -> 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, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for DenunciationIndex

    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 @@ -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/enum.DenunciationIndexTypeId.html b/massa_models/denunciation/enum.DenunciationIndexTypeId.html index 762984ba0e0..760c39cbeb9 100644 --- a/massa_models/denunciation/enum.DenunciationIndexTypeId.html +++ b/massa_models/denunciation/enum.DenunciationIndexTypeId.html @@ -3,7 +3,7 @@ Endorsement = 1, }

    Variants§

    §

    BlockHeader = 0

    §

    Endorsement = 1

    Trait Implementations§

    source§

    impl Debug for DenunciationIndexTypeId

    source§

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

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

    impl From<&DenunciationIndex> for DenunciationIndexTypeId

    source§

    fn from(value: &DenunciationIndex) -> Self

    Converts to this type from the input type.
    source§

    impl From<DenunciationIndexTypeId> for u32

    source§

    fn from(enum_value: DenunciationIndexTypeId) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for DenunciationIndexTypeId

    source§

    fn eq(&self, other: &DenunciationIndexTypeId) -> 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 TryFrom<u32> for DenunciationIndexTypeId

    §

    type Error = TryFromPrimitiveError<DenunciationIndexTypeId>

    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 DenunciationIndexTypeId

    §

    type Primitive = u32

    §

    type Error = TryFromPrimitiveError<DenunciationIndexTypeId>

    source§

    const NAME: &'static str = "DenunciationIndexTypeId"

    source§

    fn try_from_primitive( +sufficient, and should not be overridden without very good reason.

    source§

    impl TryFrom<u32> for DenunciationIndexTypeId

    §

    type Error = TryFromPrimitiveError<DenunciationIndexTypeId>

    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 DenunciationIndexTypeId

    §

    type Primitive = u32

    §

    type Error = TryFromPrimitiveError<DenunciationIndexTypeId>

    source§

    const NAME: &'static str = "DenunciationIndexTypeId"

    source§

    fn try_from_primitive( number: Self::Primitive, ) -> Result<Self, TryFromPrimitiveError<Self>>

    source§

    impl Eq for DenunciationIndexTypeId

    source§

    impl StructuralPartialEq for DenunciationIndexTypeId

    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_models/denunciation/enum.DenunciationTypeId.html b/massa_models/denunciation/enum.DenunciationTypeId.html index f565c2420ba..5303a957d48 100644 --- a/massa_models/denunciation/enum.DenunciationTypeId.html +++ b/massa_models/denunciation/enum.DenunciationTypeId.html @@ -1,7 +1,7 @@ DenunciationTypeId in massa_models::denunciation - Rust

    Enum massa_models::denunciation::DenunciationTypeId

    source ·
    #[repr(u32)]
    pub enum DenunciationTypeId { BlockHeader = 0, Endorsement = 1, -}

    Variants§

    §

    BlockHeader = 0

    §

    Endorsement = 1

    Implementations§

    Trait Implementations§

    source§

    impl Debug for DenunciationTypeId

    source§

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

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

    impl From<&Denunciation> for DenunciationTypeId

    source§

    fn from(value: &Denunciation) -> Self

    Converts to this type from the input type.
    source§

    impl From<DenunciationTypeId> for u32

    source§

    fn from(enum_value: DenunciationTypeId) -> Self

    Converts to this type from the input type.
    source§

    impl TryFrom<u32> for DenunciationTypeId

    §

    type Error = TryFromPrimitiveError<DenunciationTypeId>

    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 DenunciationTypeId

    §

    type Primitive = u32

    §

    type Error = TryFromPrimitiveError<DenunciationTypeId>

    source§

    const NAME: &'static str = "DenunciationTypeId"

    source§

    fn try_from_primitive( +}

    Variants§

    §

    BlockHeader = 0

    §

    Endorsement = 1

    Implementations§

    Trait Implementations§

    source§

    impl Debug for DenunciationTypeId

    source§

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

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

    impl From<&Denunciation> for DenunciationTypeId

    source§

    fn from(value: &Denunciation) -> Self

    Converts to this type from the input type.
    source§

    impl From<DenunciationTypeId> for u32

    source§

    fn from(enum_value: DenunciationTypeId) -> Self

    Converts to this type from the input type.
    source§

    impl TryFrom<u32> for DenunciationTypeId

    §

    type Error = TryFromPrimitiveError<DenunciationTypeId>

    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 DenunciationTypeId

    §

    type Primitive = u32

    §

    type Error = TryFromPrimitiveError<DenunciationTypeId>

    source§

    const NAME: &'static str = "DenunciationTypeId"

    source§

    fn try_from_primitive( number: Self::Primitive, ) -> Result<Self, TryFromPrimitiveError<Self>>

    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_models/denunciation/struct.BlockHeaderDenunciation.html b/massa_models/denunciation/struct.BlockHeaderDenunciation.html index 83cb0c84bd3..018e4776457 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

    source§

    fn serialize( +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

    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 c5fcb70650c..3a11d383519 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 668f3da1eac..9cec128b386 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 a585da7e543..8a81b1e53a0 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 2cad68b0583..65338122415 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 581f0d952ab..18f3e20771b 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 1b1b404bfea..6af476fc053 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 94ae61892e7..fcbae26d456 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 7e073ccd067..b731837145a 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 42148a5c0c9..78bd942828d 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 1e3764931a8..79dbb7c54ef 100644 --- a/massa_models/endorsement/enum.EndorsementId.html +++ b/massa_models/endorsement/enum.EndorsementId.html @@ -3,11 +3,11 @@ }
    Expand description

    endorsement id

    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]>>( + <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]>>( &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 708a7eaf7b4..8c41c9e9a4a 100644 --- a/massa_models/endorsement/struct.Endorsement.html +++ b/massa_models/endorsement/struct.Endorsement.html @@ -7,8 +7,8 @@
    §index: u32

    Endorsement index inside the including block

    §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]>>( +

    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]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Endorsement, E>

    §Example:
    @@ -28,10 +28,10 @@ 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:
    +) -> IResult<&'a [u8], Endorsement, E>
    §Example:
    use massa_models::{slot::Slot, block_id::BlockId, endorsement::{Endorsement, EndorsementSerializerLW, EndorsementDeserializerLW}};
     use massa_serialization::{Serializer, Deserializer, DeserializeError};
     use massa_hash::Hash;
    @@ -48,7 +48,7 @@
     let (rest, deserialized) = EndorsementDeserializerLW::new(10, slot, endorsed_block).deserialize::<DeserializeError>(&buffer).unwrap();
     assert_eq!(rest.len(), 0);
     assert_eq!(deserialized.index, endorsement.index);
    -
    source§

    impl Display for Endorsement

    source§

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

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

    impl From<Endorsement> for Endorsement

    source§

    fn from(value: Endorsement) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Endorsement

    source§

    fn eq(&self, other: &Endorsement) -> bool

    This method tests for self and other values to be equal, and is used +
    source§

    impl Display for Endorsement

    source§

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

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

    impl From<Endorsement> for Endorsement

    source§

    fn from(value: Endorsement) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Endorsement

    source§

    fn eq(&self, other: &Endorsement) -> 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 SecureShareContent for Endorsement

    source§

    fn compute_signed_hash( &self, @@ -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, @@ -75,24 +75,24 @@ content_serialized: &[u8], content_creator_pub_key: &PublicKey, _chain_id: u64, -) -> Hash

    Compute hash
    source§

    fn serialize( +) -> Hash

    Compute hash
    source§

    fn serialize( signature: &Signature, 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 aaabae8f25a..86d13fce0ae 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 c30c738ab9c..16dcd3b1fee 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 04d4d466c1b..181f82fc021 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 fec83788cfe..f66c2066411 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 4fddd1acc9d..7a058cc721a 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 362f47ba00f..378ca6b5dfa 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 0494e4dbf0c..4b6101c8892 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), @@ -18,7 +18,7 @@ InvalidVersionError(String), InvalidLedgerChange(String), TimeOverflowError, - TimeError(TimeError), + TimeError(TimeError), InvalidRollUpdate(String), AmountOverflowError, WrongPrefix(String, String), @@ -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}

    @@ -46,7 +46,7 @@
    §

    InvalidVersionError(String)

    invalid version identifier: {0}

    §

    InvalidLedgerChange(String)

    invalid ledger change: {0}

    §

    TimeOverflowError

    Time overflow error

    -
    §

    TimeError(TimeError)

    Time error {0}

    +
    §

    TimeError(TimeError)

    Time error {0}

    §

    InvalidRollUpdate(String)

    invalid roll update: {0}

    §

    AmountOverflowError

    Ledger changes, Amount overflow

    §

    WrongPrefix(String, String)

    Wrong prefix for hash: expected {0}, got {1}

    @@ -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 5b93835f992..a5f393783cb 100644 --- a/massa_models/ledger/struct.LedgerChange.html +++ b/massa_models/ledger/struct.LedgerChange.html @@ -7,10 +7,10 @@

    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
    +) -> IResult<&'a [u8], LedgerChange, E>
    §Example
    use massa_models::{address::Address, amount::Amount};
     use std::str::FromStr;
     use massa_models::ledger::{LedgerChange, LedgerChangeDeserializer, LedgerChangeSerializer};
    @@ -25,12 +25,12 @@
     assert_eq!(rest.len(), 0);
     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

    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

    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 5371fbb5f46..cd1bee7c7e5 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 61252276d7a..8566c67973f 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 ecbbd696eba..b65a6348477 100644
    --- a/massa_models/ledger/struct.LedgerChanges.html
    +++ b/massa_models/ledger/struct.LedgerChanges.html
    @@ -5,8 +5,8 @@
     
    source

    pub fn sync_from(&mut self, addrs: &PreHashSet<Address>, other: LedgerChanges)

    merge another ledger changes into self, overwriting existing data 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]>>( +

    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]>>( &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 d97544b423d..dc10ec24754 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 ad50591aeb3..eda4899b40b 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 66fd8af0cad..b2f5b3d4658 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 b1dcb46666a..11cc9c31f4c 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 26ac615ae03..60e54da99ad 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§

    source§

    impl Default for LedgerDataSerializer

    source§

    fn default() -> LedgerDataSerializer

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

    impl Serializer<LedgerData> for LedgerDataSerializer

    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/node/struct.NodeId.html b/massa_models/node/struct.NodeId.html
    index 8a86f4570a4..2b961615c6d 100644
    --- a/massa_models/node/struct.NodeId.html
    +++ b/massa_models/node/struct.NodeId.html
    @@ -1,10 +1,10 @@
     NodeId in massa_models::node - Rust

    Struct massa_models::node::NodeId

    source ·
    pub struct NodeId(PublicKey);
    Expand description

    NodeId wraps a public key to uniquely identify a node.

    Tuple Fields§

    §0: PublicKey

    Implementations§

    source§

    impl NodeId

    source

    pub fn new(public_key: PublicKey) -> Self

    Create a new NodeId from a public key.

    source

    pub fn get_public_key(&self) -> PublicKey

    Get the public key of the NodeId.

    -

    Trait Implementations§

    source§

    impl Clone for NodeId

    source§

    fn clone(&self) -> NodeId

    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 NodeId

    source§

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

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

    impl<'de> Deserialize<'de> for NodeId
    where +

    Trait Implementations§

    source§

    impl Clone for NodeId

    source§

    fn clone(&self) -> NodeId

    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 NodeId

    source§

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

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

    impl<'de> Deserialize<'de> for NodeId
    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 Display for NodeId

    source§

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

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

    impl FromStr for NodeId

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Display for NodeId

    source§

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

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

    impl FromStr for NodeId

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    let ser = node_id.to_string();
     let res_node_id = NodeId::from_str(&ser).unwrap();
     let from_raw = NodeId::from_str("N12UbyLJDS7zimGWf3LTHe8hYY67RdLke1iDRZqJbQQLHQSKPW8j").unwrap();
    diff --git a/massa_models/operation/enum.OperationId.html b/massa_models/operation/enum.OperationId.html
    index e622224af95..9701114a40c 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 8dfca60b5e1..387961c20f0 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:
    @@ -14,8 +14,8 @@ op_prefixes.insert(OperationPrefixId::from(&[20; OPERATION_ID_PREFIX_SIZE_BYTES])); let mut buffer = Vec::new(); OperationPrefixIdsSerializer::new().serialize(&op_prefixes, &mut buffer).unwrap();
    -
    source§

    impl Display for OperationPrefixId

    source§

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

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

    impl From<&[u8; 17]> for OperationPrefixId

    source§

    fn from(bytes: &[u8; 17]) -> Self

    get prefix of the operation id of size OPERATION_ID_PREFIX_SIZE_BIT

    -
    source§

    impl From<&OperationPrefixId> for Vec<u8>

    source§

    fn from(prefix: &OperationPrefixId) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for OperationPrefixId

    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 +

    source§

    impl Display for OperationPrefixId

    source§

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

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

    impl From<&[u8; 17]> for OperationPrefixId

    source§

    fn from(bytes: &[u8; 17]) -> Self

    get prefix of the operation id of size OPERATION_ID_PREFIX_SIZE_BIT

    +
    source§

    impl From<&OperationPrefixId> for Vec<u8>

    source§

    fn from(prefix: &OperationPrefixId) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for OperationPrefixId

    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 OperationPrefixId

    source§

    fn cmp(&self, other: &OperationPrefixId) -> 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/operation/enum.OperationType.html b/massa_models/operation/enum.OperationType.html index b36044bf9ab..4b96998cc26 100644 --- a/massa_models/operation/enum.OperationType.html +++ b/massa_models/operation/enum.OperationType.html @@ -41,8 +41,8 @@

    §param: Vec<u8>

    Parameter to pass to the target function

    §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]>>( +

    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]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], OperationType, E>

    §Example:
    @@ -77,14 +77,14 @@ } _ => panic!("Unexpected operation type"), };
    -
    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 +
    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/enum.OperationTypeId.html b/massa_models/operation/enum.OperationTypeId.html
    index 1092c097043..6e198fd3b13 100644
    --- a/massa_models/operation/enum.OperationTypeId.html
    +++ b/massa_models/operation/enum.OperationTypeId.html
    @@ -6,7 +6,7 @@
         CallSC = 4,
     }

    Variants§

    §

    Transaction = 0

    §

    RollBuy = 1

    §

    RollSell = 2

    §

    ExecuteSC = 3

    §

    CallSC = 4

    Trait Implementations§

    source§

    impl Debug for OperationTypeId

    source§

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

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

    impl From<OperationTypeId> for u32

    source§

    fn from(enum_value: OperationTypeId) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for OperationTypeId

    source§

    fn eq(&self, other: &OperationTypeId) -> 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 TryFrom<u32> for OperationTypeId

    §

    type Error = TryFromPrimitiveError<OperationTypeId>

    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 OperationTypeId

    §

    type Primitive = u32

    §

    type Error = TryFromPrimitiveError<OperationTypeId>

    source§

    const NAME: &'static str = "OperationTypeId"

    source§

    fn try_from_primitive( +sufficient, and should not be overridden without very good reason.

    source§

    impl TryFrom<u32> for OperationTypeId

    §

    type Error = TryFromPrimitiveError<OperationTypeId>

    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 OperationTypeId

    §

    type Primitive = u32

    §

    type Error = TryFromPrimitiveError<OperationTypeId>

    source§

    const NAME: &'static str = "OperationTypeId"

    source§

    fn try_from_primitive( number: Self::Primitive, ) -> Result<Self, TryFromPrimitiveError<Self>>

    source§

    impl Eq for OperationTypeId

    source§

    impl StructuralPartialEq for OperationTypeId

    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_models/operation/struct.Operation.html b/massa_models/operation/struct.Operation.html index cab35a1fdf5..020fbaf0cd4 100644 --- a/massa_models/operation/struct.Operation.html +++ b/massa_models/operation/struct.Operation.html @@ -6,8 +6,8 @@

    Fields§

    §fee: Amount

    the fee they have decided for this operation

    §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]>>( +

    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]>>( &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, @@ -66,24 +66,24 @@ &self, _public_key: &PublicKey, content_hash: &Hash, -) -> Hash

    Compute hash used for signature
    source§

    fn serialize( +) -> Hash

    Compute hash used for signature
    source§

    fn serialize( signature: &Signature, 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

    source§

    fn serialize( +) -> 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

    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 2a749a60761..bed27571002 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 c253883d0b9..0ae08cd9419 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 0ecb13d8f67..7391fba3716 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 05756170669..469735add89 100644 --- a/massa_models/operation/struct.OperationIdV0.html +++ b/massa_models/operation/struct.OperationIdV0.html @@ -1,13 +1,13 @@ OperationIdV0 in massa_models::operation - Rust

    Struct massa_models::operation::OperationIdV0

    source ·
    pub struct OperationIdV0(Hash);
    Expand description

    operation id

    Tuple Fields§

    §0: Hash

    Implementations§

    source§

    impl OperationIdV0

    source

    pub fn into_prefix(self) -> OperationPrefixId

    convert the [OperationId] into a [OperationPrefixId]

    source

    pub fn prefix(&self) -> OperationPrefixId

    get a prefix from the [OperationId] by copying it

    -
    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 +

    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 @@ -17,12 +17,12 @@ sufficient, and should not be overridden without very good reason.

    source§

    impl PartialOrd for OperationIdV0

    source§

    fn partial_cmp(&self, other: &OperationIdV0) -> 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 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

    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

    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 fe39da06630..799af37718c 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 c1fe69b0277..5831aae847d 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 5f7457344cc..d16d004a6de 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 db33d70ce82..5da457b44cd 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 5b95ee4a48c..cf0a7236212 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 1ff6b96aaec..6c65da8d2be 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 1e8b4905802..cddb5680dde 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 64ad04116d1..f515e73fc55 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 877435fa122..d00edaaf5be 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 347421961ea..c78c59aa340 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/output_event/struct.EventExecutionContext.html b/massa_models/output_event/struct.EventExecutionContext.html
    index 59c0883e1db..c08e8a6ebb3 100644
    --- a/massa_models/output_event/struct.EventExecutionContext.html
    +++ b/massa_models/output_event/struct.EventExecutionContext.html
    @@ -16,8 +16,8 @@
     
    §origin_operation_id: Option<OperationId>

    origin operation id

    §is_final: bool

    if the event is final

    §is_error: bool

    if the sc that emitted this event failed

    -

    Trait Implementations§

    source§

    impl Clone for EventExecutionContext

    source§

    fn clone(&self) -> EventExecutionContext

    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 EventExecutionContext

    source§

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

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

    impl<'de> Deserialize<'de> for EventExecutionContext

    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 Display for EventExecutionContext

    source§

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

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

    impl From<EventExecutionContext> for ScExecutionEventContext

    source§

    fn from(value: EventExecutionContext) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for EventExecutionContext

    source§

    fn eq(&self, other: &EventExecutionContext) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for EventExecutionContext

    source§

    fn clone(&self) -> EventExecutionContext

    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 EventExecutionContext

    source§

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

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

    impl<'de> Deserialize<'de> for EventExecutionContext

    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 Display for EventExecutionContext

    source§

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

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

    impl From<EventExecutionContext> for ScExecutionEventContext

    source§

    fn from(value: EventExecutionContext) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for EventExecutionContext

    source§

    fn eq(&self, other: &EventExecutionContext) -> 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 EventExecutionContext

    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 Eq for EventExecutionContext

    source§

    impl StructuralPartialEq for EventExecutionContext

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where diff --git a/massa_models/rolls/struct.RollUpdate.html b/massa_models/rolls/struct.RollUpdate.html index 05053ea1215..e289836ecad 100644 --- a/massa_models/rolls/struct.RollUpdate.html +++ b/massa_models/rolls/struct.RollUpdate.html @@ -7,8 +7,8 @@

    Implementations§

    source§

    impl RollUpdate

    source

    fn chain(&mut self, change: &Self) -> Result<RollCompensation>

    chain two roll updates, compensate and return compensation count

    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]>>( +

    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]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], RollUpdate, E>

    §Example:
    @@ -25,12 +25,12 @@ assert_eq!(rest.len(), 0); 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

    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

    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 cb3d00ae970..3c6331f2a02 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 ab4a1184ac0..0ba23f6653e 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 6cedd912f17..a430635fd00 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>

    @@ -86,20 +86,20 @@ assert_eq!(secured.id, deserialized.id);
    source§

    impl<T, ID> Display for SecureShare<T, ID>
    where T: Display + SecureShareContent, - ID: Id,

    source§

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

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

    impl From<&SecureShare<BlockHeader, BlockId>> for DenunciationPrecursor

    source§

    fn from(value: &SecuredHeader) -> Self

    Converts to this type from the input type.
    source§

    impl From<&SecureShare<Endorsement, EndorsementId>> for DenunciationPrecursor

    source§

    fn from(value: &SecureShareEndorsement) -> Self

    Converts to this type from the input type.
    source§

    impl From<SecureShare<Block, BlockId>> for SignedBlock

    source§

    fn from(value: SecureShareBlock) -> Self

    Converts to this type from the input type.
    source§

    impl From<SecureShare<BlockHeader, BlockId>> for SignedBlockHeader

    source§

    fn from(value: SecuredHeader) -> Self

    Converts to this type from the input type.
    source§

    impl From<SecureShare<Endorsement, EndorsementId>> for SignedEndorsement

    source§

    fn from(value: SecureShareEndorsement) -> Self

    Converts to this type from the input type.
    source§

    impl From<SecureShare<Operation, OperationId>> for SignedOperation

    source§

    fn from(value: SecureShareOperation) -> Self

    Converts to this type from the input type.
    source§

    impl<T, ID> PartialEq for SecureShare<T, ID>
    where + ID: Id,

    source§

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

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

    impl From<&SecureShare<BlockHeader, BlockId>> for DenunciationPrecursor

    source§

    fn from(value: &SecuredHeader) -> Self

    Converts to this type from the input type.
    source§

    impl From<&SecureShare<Endorsement, EndorsementId>> for DenunciationPrecursor

    source§

    fn from(value: &SecureShareEndorsement) -> Self

    Converts to this type from the input type.
    source§

    impl From<SecureShare<Block, BlockId>> for SignedBlock

    source§

    fn from(value: SecureShareBlock) -> Self

    Converts to this type from the input type.
    source§

    impl From<SecureShare<BlockHeader, BlockId>> for SignedBlockHeader

    source§

    fn from(value: SecuredHeader) -> Self

    Converts to this type from the input type.
    source§

    impl From<SecureShare<Endorsement, EndorsementId>> for SignedEndorsement

    source§

    fn from(value: SecureShareEndorsement) -> Self

    Converts to this type from the input type.
    source§

    impl From<SecureShare<Operation, OperationId>> for SignedOperation

    source§

    fn from(value: SecureShareOperation) -> Self

    Converts to this type from the input type.
    source§

    impl<T, ID> PartialEq for SecureShare<T, ID>

    source§

    fn eq(&self, other: &SecureShare<T, ID>) -> 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, 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 41a0c29985d..1ac06e8e292 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 9be6b4c86cc..1669c28f0de 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 b987232d8c3..dcbc1f62f44 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 9283df03ada..586b1734d82 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 334d1e551a0..98281e690bf 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 004ac798ecf..42d91021394 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 e1d91977f71..0382a4011a4 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 3ded31940b1..0b81609bee1 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 498969b761e..56940314150 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 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 fac7b1b5999..5ec2e67c761 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 812fae0b16c..932c297a684 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 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 2a07c043729..98d6762327d 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 bfcb9fd7465..762f95c0008 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 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 158cfcd03e4..adaaae65456 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 2c87ab40cc7..ae4e3868f02 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>

    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 7791190ccf4..1311592aaa6 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 736bed82e63..d9213fbf447 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 e640a899e2c..4e235f9db9e 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>

    use std::ops::Bound::Included;
     use massa_serialization::Serializer;
     use massa_models::slot::{Slot, SlotSerializer};
    diff --git a/massa_models/stats/struct.ConsensusStats.html b/massa_models/stats/struct.ConsensusStats.html
    index b1dc095b307..bbc2858c292 100644
    --- a/massa_models/stats/struct.ConsensusStats.html
    +++ b/massa_models/stats/struct.ConsensusStats.html
    @@ -1,12 +1,12 @@
     ConsensusStats in massa_models::stats - Rust

    Struct massa_models::stats::ConsensusStats

    source ·
    pub struct ConsensusStats {
    -    pub start_timespan: MassaTime,
    -    pub end_timespan: MassaTime,
    +    pub start_timespan: MassaTime,
    +    pub end_timespan: MassaTime,
         pub final_block_count: u64,
         pub stale_block_count: u64,
         pub clique_count: u64,
     }
    Expand description

    stats produced by consensus module

    -

    Fields§

    §start_timespan: MassaTime

    start of the time span for stats

    -
    §end_timespan: MassaTime

    end of the time span for stats

    +

    Fields§

    §start_timespan: MassaTime

    start of the time span for stats

    +
    §end_timespan: MassaTime

    end of the time span for stats

    §final_block_count: u64

    number of final blocks

    §stale_block_count: u64

    number of stale blocks in memory

    §clique_count: u64

    number of actives cliques

    diff --git a/massa_models/stats/struct.ExecutionStats.html b/massa_models/stats/struct.ExecutionStats.html index 77c6df6ae16..7d26e471cb4 100644 --- a/massa_models/stats/struct.ExecutionStats.html +++ b/massa_models/stats/struct.ExecutionStats.html @@ -1,19 +1,19 @@ ExecutionStats in massa_models::stats - Rust

    Struct massa_models::stats::ExecutionStats

    source ·
    pub struct ExecutionStats {
    -    pub time_window_start: MassaTime,
    -    pub time_window_end: MassaTime,
    +    pub time_window_start: MassaTime,
    +    pub time_window_end: MassaTime,
         pub final_block_count: usize,
         pub final_executed_operations_count: usize,
         pub active_cursor: Slot,
         pub final_cursor: Slot,
     }
    Expand description

    execution statistics

    -

    Fields§

    §time_window_start: MassaTime

    time window start

    -
    §time_window_end: MassaTime

    time window end

    +

    Fields§

    §time_window_start: MassaTime

    time window start

    +
    §time_window_end: MassaTime

    time window end

    §final_block_count: usize

    number of final blocks in the time window

    §final_executed_operations_count: usize

    number of final executed operations in the time window

    §active_cursor: Slot

    active execution cursor slot

    §final_cursor: Slot

    final execution cursor slot

    -

    Trait Implementations§

    source§

    impl Clone for ExecutionStats

    source§

    fn clone(&self) -> ExecutionStats

    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 ExecutionStats

    source§

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

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

    impl<'de> Deserialize<'de> for ExecutionStats

    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 Display for ExecutionStats

    source§

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

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

    impl From<ExecutionStats> for ExecutionStats

    source§

    fn from(value: ExecutionStats) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for ExecutionStats

    source§

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

    Trait Implementations§

    source§

    impl Clone for ExecutionStats

    source§

    fn clone(&self) -> ExecutionStats

    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 ExecutionStats

    source§

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

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

    impl<'de> Deserialize<'de> for ExecutionStats

    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 Display for ExecutionStats

    source§

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

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

    impl From<ExecutionStats> for ExecutionStats

    source§

    fn from(value: ExecutionStats) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for ExecutionStats

    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
    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 diff --git a/massa_models/stats/struct.NetworkStats.html b/massa_models/stats/struct.NetworkStats.html index a66220c80b6..71e45cfbac0 100644 --- a/massa_models/stats/struct.NetworkStats.html +++ b/massa_models/stats/struct.NetworkStats.html @@ -10,8 +10,8 @@
    §known_peer_count: u64

    total known peers count

    §banned_peer_count: u64

    banned node count

    §active_node_count: u64

    active node count

    -

    Trait Implementations§

    source§

    impl Clone for NetworkStats

    source§

    fn clone(&self) -> NetworkStats

    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 NetworkStats

    source§

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

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

    impl<'de> Deserialize<'de> for NetworkStats

    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 Display for NetworkStats

    source§

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

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

    impl From<NetworkStats> for NetworkStats

    source§

    fn from(value: NetworkStats) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for NetworkStats

    source§

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

    Trait Implementations§

    source§

    impl Clone for NetworkStats

    source§

    fn clone(&self) -> NetworkStats

    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 NetworkStats

    source§

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

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

    impl<'de> Deserialize<'de> for NetworkStats

    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 Display for NetworkStats

    source§

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

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

    impl From<NetworkStats> for NetworkStats

    source§

    fn from(value: NetworkStats) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for NetworkStats

    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
    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 diff --git a/massa_models/stats/struct.PoolStats.html b/massa_models/stats/struct.PoolStats.html index 02722733276..64ebd17687d 100644 --- a/massa_models/stats/struct.PoolStats.html +++ b/massa_models/stats/struct.PoolStats.html @@ -4,8 +4,8 @@ }
    Expand description

    stats produced by pool module

    Fields§

    §operation_count: u64

    number of operations in the pool

    §endorsement_count: u64

    number of endorsement in the pool

    -

    Trait Implementations§

    source§

    impl Debug for PoolStats

    source§

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

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

    impl<'de> Deserialize<'de> for PoolStats

    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 Display for PoolStats

    source§

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

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

    impl Serialize for PoolStats

    source§

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

    Trait Implementations§

    source§

    impl Debug for PoolStats

    source§

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

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

    impl<'de> Deserialize<'de> for PoolStats

    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 Display for PoolStats

    source§

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

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

    impl Serialize for PoolStats

    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
    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 diff --git a/massa_models/streaming_step/enum.StreamingStep.html b/massa_models/streaming_step/enum.StreamingStep.html index 4fbe78a1f5d..10f09a2f28c 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 477c0e15e89..3f2ad157ec8 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 495bdc09e85..bccdb4fd4c0 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/timeslots/fn.get_block_slot_timestamp.html b/massa_models/timeslots/fn.get_block_slot_timestamp.html index c03f775e6e0..e5a543c1262 100644 --- a/massa_models/timeslots/fn.get_block_slot_timestamp.html +++ b/massa_models/timeslots/fn.get_block_slot_timestamp.html @@ -1,9 +1,9 @@ get_block_slot_timestamp in massa_models::timeslots - Rust

    Function massa_models::timeslots::get_block_slot_timestamp

    source ·
    pub fn get_block_slot_timestamp(
         thread_count: u8,
    -    t0: MassaTime,
    -    genesis_timestamp: MassaTime,
    +    t0: MassaTime,
    +    genesis_timestamp: MassaTime,
         slot: Slot,
    -) -> Result<MassaTime, ModelsError>
    Expand description

    Gets timestamp in milliseconds for given slot.

    +) -> Result<MassaTime, ModelsError>
    Expand description

    Gets timestamp in milliseconds for given slot.

    §Arguments

    • thread_count: number of threads.
    • diff --git a/massa_models/timeslots/fn.get_closest_slot_to_timestamp.html b/massa_models/timeslots/fn.get_closest_slot_to_timestamp.html index 17f9b4dd7bd..9dcb157156a 100644 --- a/massa_models/timeslots/fn.get_closest_slot_to_timestamp.html +++ b/massa_models/timeslots/fn.get_closest_slot_to_timestamp.html @@ -1,7 +1,7 @@ get_closest_slot_to_timestamp in massa_models::timeslots - Rust
      pub fn get_closest_slot_to_timestamp(
           thread_count: u8,
      -    t0: MassaTime,
      -    genesis_timestamp: MassaTime,
      -    timestamp: MassaTime,
      +    t0: MassaTime,
      +    genesis_timestamp: MassaTime,
      +    timestamp: MassaTime,
       ) -> Slot
      Expand description

      TODO DOC

      \ No newline at end of file diff --git a/massa_models/timeslots/fn.get_current_latest_block_slot.html b/massa_models/timeslots/fn.get_current_latest_block_slot.html index 792be9d2553..d085755e432 100644 --- a/massa_models/timeslots/fn.get_current_latest_block_slot.html +++ b/massa_models/timeslots/fn.get_current_latest_block_slot.html @@ -1,7 +1,7 @@ get_current_latest_block_slot in massa_models::timeslots - Rust
      pub fn get_current_latest_block_slot(
           thread_count: u8,
      -    t0: MassaTime,
      -    genesis_timestamp: MassaTime,
      +    t0: MassaTime,
      +    genesis_timestamp: MassaTime,
       ) -> Result<Option<Slot>, ModelsError>
      Expand description

      Returns the thread and block slot index of the current block slot (inclusive), if any happened yet

      §Arguments

        diff --git a/massa_models/timeslots/fn.get_latest_block_slot_at_timestamp.html b/massa_models/timeslots/fn.get_latest_block_slot_at_timestamp.html index 21829135f64..3eeb65ca232 100644 --- a/massa_models/timeslots/fn.get_latest_block_slot_at_timestamp.html +++ b/massa_models/timeslots/fn.get_latest_block_slot_at_timestamp.html @@ -1,8 +1,8 @@ get_latest_block_slot_at_timestamp in massa_models::timeslots - Rust
        pub fn get_latest_block_slot_at_timestamp(
             thread_count: u8,
        -    t0: MassaTime,
        -    genesis_timestamp: MassaTime,
        -    timestamp: MassaTime,
        +    t0: MassaTime,
        +    genesis_timestamp: MassaTime,
        +    timestamp: MassaTime,
         ) -> Result<Option<Slot>, ModelsError>
        Expand description

        Returns the thread and block period index of the latest block slot at a given timestamp (inclusive), if any happened

        §Arguments

    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 b95adcfbe9d..45f040e6d75 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>

    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>

    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 1815db511c5..f90ecfab49a 100644 --- a/massa_models/types/enum.SetUpdateOrDelete.html +++ b/massa_models/types/enum.SetUpdateOrDelete.html @@ -14,20 +14,20 @@ V: Clone + Applicable<V>,

    Support applying another SetUpdateOrDelete to self

    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]>>( + 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]>>( &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 5d5481280cd..61b9d56741a 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 9df8794e5bd..e1450ddf8a3 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§

    source§

    impl<T: Clone, ST: Serializer<T>> Serializer<SetOrDelete<T>> for SetOrDeleteSerializer<T, ST>

    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 9d9e9547865..07ac1593d0d 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 dec4d03f960..14e65ab19d5 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§

    source§

    impl<T: Clone, ST: Serializer<T>> Serializer<SetOrKeep<T>> for SetOrKeepSerializer<T, ST>

    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 6179af98c19..0f6995fb17a 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 f237389aa28..6ea53a981dd 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§

    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>

    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 4a5978c38f1..a6dc7e5a315 100644 --- a/massa_models/version/struct.Version.html +++ b/massa_models/version/struct.Version.html @@ -5,8 +5,8 @@ }
    Expand description

    Application version, checked during handshakes

    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]>>( +

    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]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], Version, E>

    @@ -23,17 +23,17 @@ let (rest, version_deser) = deserializer.deserialize::<DeserializeError>(&serialized).unwrap(); assert_eq!(rest.len(), 0); assert_eq!(version, version_deser);
    -
    source§

    impl Display for Version

    source§

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

    +
    source§

    impl Display for Version

    source§

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

    let v: version::Version = version::Version::from_str("TEST.1.10").unwrap();
     assert_eq!(v.to_string(), "TEST.1.10");
    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>

    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 8e861aacef4..e5ebf03ab42 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 f5de1c7dd49..567bbbbee4c 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>

    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 5ffe8e30493..3907c25ca78 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 fa1da4f7470..aac3b6505e5 100644 --- a/massa_module_cache/controller/struct.ModuleCache.html +++ b/massa_module_cache/controller/struct.ModuleCache.html @@ -1,4 +1,4 @@ -ModuleCache in massa_module_cache::controller - Rust

    Struct massa_module_cache::controller::ModuleCache

    source ·
    pub struct ModuleCache {
    +ModuleCache in massa_module_cache::controller - Rust

    Struct massa_module_cache::controller::ModuleCache

    source ·
    pub struct ModuleCache {
         cfg: ModuleCacheConfig,
         lru_cache: LRUCache,
         hd_cache: HDCache,
    @@ -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

    pub fn reset(&mut self)

    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_module_cache/error/enum.CacheError.html b/massa_module_cache/error/enum.CacheError.html index f262723c8f0..5725dd23121 100644 --- a/massa_module_cache/error/enum.CacheError.html +++ b/massa_module_cache/error/enum.CacheError.html @@ -4,7 +4,7 @@ }
    Expand description

    Cache 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.
    §

    VMError(String)

    VM error: {0}

    §

    LoadError(String)

    Load error: {0}

    -

    Trait Implementations§

    source§

    impl Clone for CacheError

    source§

    fn clone(&self) -> CacheError

    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 CacheError

    source§

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

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

    impl Display for CacheError

    source§

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

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

    impl Error for CacheError

    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<Error> for CacheError

    source§

    fn from(e: Error) -> CacheError

    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 CacheError

    source§

    fn clone(&self) -> CacheError

    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 CacheError

    source§

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

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

    impl Display for CacheError

    source§

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

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

    impl Error for CacheError

    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<Error> for CacheError

    source§

    fn from(e: Error) -> CacheError

    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_module_cache/hd_cache/index.html b/massa_module_cache/hd_cache/index.html index f080cfb490b..4401c576ba3 100644 --- a/massa_module_cache/hd_cache/index.html +++ b/massa_module_cache/hd_cache/index.html @@ -1 +1 @@ -massa_module_cache::hd_cache - Rust

    Module massa_module_cache::hd_cache

    source ·

    Structs§

    Constants§

    \ No newline at end of file +massa_module_cache::hd_cache - Rust

    Module massa_module_cache::hd_cache

    source ·

    Structs§

    Constants§

    \ No newline at end of file diff --git a/massa_module_cache/hd_cache/struct.HDCache.html b/massa_module_cache/hd_cache/struct.HDCache.html index 3fec5d9e87e..08c0ad2da51 100644 --- a/massa_module_cache/hd_cache/struct.HDCache.html +++ b/massa_module_cache/hd_cache/struct.HDCache.html @@ -1,11 +1,11 @@ -HDCache in massa_module_cache::hd_cache - Rust

    Struct massa_module_cache::hd_cache::HDCache

    source ·
    pub(crate) struct HDCache {
    -    db: DB,
    +HDCache in massa_module_cache::hd_cache - Rust

    Struct massa_module_cache::hd_cache::HDCache

    source ·
    pub(crate) struct HDCache {
    +    db: Option<DB>,
         entry_count: usize,
         max_entry_count: usize,
         snip_amount: usize,
         meta_ser: ModuleMetadataSerializer,
         meta_deser: ModuleMetadataDeserializer,
    -}

    Fields§

    §db: DB

    RocksDB database

    +}

    Fields§

    §db: Option<DB>

    RocksDB database

    §entry_count: usize

    How many entries are in the db. Count is initialized at creation time by iterating over all the entries in the db then it is maintained in memory

    §max_entry_count: usize

    Maximum number of entries we want to keep in the db. @@ -13,28 +13,28 @@

    §snip_amount: usize

    How many entries are removed when entry_count reaches max_entry_count

    §meta_ser: ModuleMetadataSerializer

    Module metadata serializer

    §meta_deser: ModuleMetadataDeserializer

    Module metadata deserializer

    -

    Implementations§

    source§

    impl HDCache

    source

    pub fn new(path: PathBuf, max_entry_count: usize, snip_amount: usize) -> Self

    Create a new HDCache

    +

    Implementations§

    source§

    impl HDCache

    source

    pub fn new(path: PathBuf, max_entry_count: usize, snip_amount: usize) -> Self

    Create a new HDCache

    §Arguments
    • path: where to store the db
    • max_entry_count: maximum number of entries we want to keep in the db
    • amount_to_remove: how many entries are removed when entry_count reaches max_entry_count
    -
    source

    pub fn insert(&mut self, hash: Hash, module_info: ModuleInfo)

    Insert a new module in the cache

    -
    source

    pub fn set_init_cost(&self, hash: Hash, init_cost: u64)

    Sets the initialization cost of a given module separately

    +
    source

    pub fn reset(&mut self)

    source

    pub fn insert(&mut self, hash: Hash, module_info: ModuleInfo)

    Insert a new module in the cache

    +
    source

    pub fn set_init_cost(&self, hash: Hash, init_cost: u64)

    Sets the initialization cost of a given module separately

    §Arguments
    • hash: hash associated to the module for which we want to set the cost
    • init_cost: the new cost associated to the module
    -
    source

    pub fn set_invalid(&self, hash: Hash, err_msg: String)

    Sets a given module as invalid

    -
    source

    pub fn get( +

    source

    pub fn set_invalid(&self, hash: Hash, err_msg: String)

    Sets a given module as invalid

    +
    source

    pub fn get( &self, hash: Hash, gas_costs: GasCosts, condom_limits: CondomLimits, ) -> Option<ModuleInfo>

    Retrieve a module

    -
    source

    fn snip(&mut self)

    Try to remove as much as self.amount_to_snip entries from the db

    +
    source

    fn snip(&mut self)

    Try to remove as much as self.amount_to_snip entries from the db

    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_module_cache/lru_cache/index.html b/massa_module_cache/lru_cache/index.html index 02b495b70ce..cb528e22cc9 100644 --- a/massa_module_cache/lru_cache/index.html +++ b/massa_module_cache/lru_cache/index.html @@ -1,2 +1,2 @@ -massa_module_cache::lru_cache - Rust

    Module massa_module_cache::lru_cache

    source ·

    Structs§

    -

    Fields§

    §cache: LruMap<Hash, ModuleInfo, ByLength, BuildHashMapper<Hash>>

    Implementations§

    source§

    impl LRUCache

    source

    pub fn new(cache_size: u32) -> Self

    Create a new LRUCache with the given size

    -
    source

    pub fn get(&mut self, hash: Hash) -> Option<ModuleInfo>

    If the module is contained in the cache:

    +

    Fields§

    §cache: LruMap<Hash, ModuleInfo, ByLength, BuildHashMapper<Hash>>

    Implementations§

    source§

    impl LRUCache

    source

    pub fn new(cache_size: u32) -> Self

    Create a new LRUCache with the given size

    +
    source

    pub fn reset(&mut self)

    source

    pub fn get(&mut self, hash: Hash) -> Option<ModuleInfo>

    If the module is contained in the cache:

    • retrieve a copy of it
    • move it up in the LRU cache
    -
    source

    pub fn insert(&mut self, hash: Hash, module_info: ModuleInfo)

    Save a module in the LRU cache

    -
    source

    pub fn set_init_cost(&mut self, hash: Hash, init_cost: u64)

    Set the initialization cost of a LRU cached module

    -
    source

    pub fn set_invalid(&mut self, hash: Hash, err_msg: String)

    Set a module as invalid

    +
    source

    pub fn insert(&mut self, hash: Hash, module_info: ModuleInfo)

    Save a module in the LRU cache

    +
    source

    pub fn set_init_cost(&mut self, hash: Hash, init_cost: u64)

    Set the initialization cost of a LRU cached module

    +
    source

    pub fn set_invalid(&mut self, hash: Hash, err_msg: String)

    Set a module as invalid

    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_module_cache/types/enum.ModuleMetadataId.html b/massa_module_cache/types/enum.ModuleMetadataId.html index b3f56e709b1..4495597a583 100644 --- a/massa_module_cache/types/enum.ModuleMetadataId.html +++ b/massa_module_cache/types/enum.ModuleMetadataId.html @@ -5,7 +5,7 @@ }

    Expand description

    Metadata ID type

    Variants§

    §

    Invalid = 0

    §

    NotExecuted = 1

    §

    Delta = 2

    Trait Implementations§

    source§

    impl Debug for ModuleMetadataId

    source§

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

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

    impl From<ModuleMetadataId> for u64

    source§

    fn from(enum_value: ModuleMetadataId) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for ModuleMetadataId

    source§

    fn eq(&self, other: &ModuleMetadataId) -> 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 TryFrom<u64> for ModuleMetadataId

    §

    type Error = TryFromPrimitiveError<ModuleMetadataId>

    The type returned in the event of a conversion error.
    source§

    fn try_from(number: u64) -> Result<Self, TryFromPrimitiveError<Self>>

    Performs the conversion.
    source§

    impl TryFromPrimitive for ModuleMetadataId

    §

    type Primitive = u64

    §

    type Error = TryFromPrimitiveError<ModuleMetadataId>

    source§

    const NAME: &'static str = "ModuleMetadataId"

    source§

    fn try_from_primitive( +sufficient, and should not be overridden without very good reason.

    source§

    impl TryFrom<u64> for ModuleMetadataId

    §

    type Error = TryFromPrimitiveError<ModuleMetadataId>

    The type returned in the event of a conversion error.
    source§

    fn try_from(number: u64) -> Result<Self, TryFromPrimitiveError<Self>>

    Performs the conversion.
    source§

    impl TryFromPrimitive for ModuleMetadataId

    §

    type Primitive = u64

    §

    type Error = TryFromPrimitiveError<ModuleMetadataId>

    source§

    const NAME: &'static str = "ModuleMetadataId"

    source§

    fn try_from_primitive( number: Self::Primitive, ) -> Result<Self, TryFromPrimitiveError<Self>>

    source§

    impl Eq for ModuleMetadataId

    source§

    impl StructuralPartialEq for ModuleMetadataId

    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( diff --git a/massa_node/fn.configure_grpc.html b/massa_node/fn.configure_grpc.html index 8d0784abc02..51085af7e31 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 888706af157..2bc620ea4bd 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 de40a94d816..62a5a75e7f0 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 fe7b6f2df25..03d8dd79f10 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 02333a11f84..633bb92690d 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 98f15a0f4d3..91a33cc47e4 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 bb38bb38778..90c881e3dc9 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 7f7798d325d..37058ad6c88 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 f8eeb14f750..3ccf38672a3 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_pool_worker/controller_impl/struct.PoolControllerImpl.html b/massa_pool_worker/controller_impl/struct.PoolControllerImpl.html
    index 6d25a0c4541..c2b180ab374 100644
    --- a/massa_pool_worker/controller_impl/struct.PoolControllerImpl.html
    +++ b/massa_pool_worker/controller_impl/struct.PoolControllerImpl.html
    @@ -1,5 +1,5 @@
     PoolControllerImpl in massa_pool_worker::controller_impl - Rust
    pub struct PoolControllerImpl {
    -    pub(crate) _config: PoolConfig,
    +    pub(crate) _config: PoolConfig,
         pub(crate) operation_pool: Arc<RwLock<OperationPool>>,
         pub(crate) endorsement_pool: Arc<RwLock<EndorsementPool>>,
         pub(crate) denunciation_pool: Arc<RwLock<DenunciationPool>>,
    @@ -8,7 +8,7 @@
         pub(crate) denunciations_input_sender: SyncSender<Command>,
         pub last_cs_final_periods: Vec<u64>,
     }
    Expand description

    Pool controller

    -

    Fields§

    §_config: PoolConfig

    Config

    +

    Fields§

    §_config: PoolConfig

    Config

    §operation_pool: Arc<RwLock<OperationPool>>

    Shared reference to the operation pool

    §endorsement_pool: Arc<RwLock<EndorsementPool>>

    Shared reference to the endorsement pool

    §denunciation_pool: Arc<RwLock<DenunciationPool>>

    Shared reference to the denunciation pool

    @@ -16,28 +16,28 @@
    §endorsements_input_sender: SyncSender<Command>

    Endorsement write worker command sender

    §denunciations_input_sender: SyncSender<Command>

    Denunciation write worker command sender

    §last_cs_final_periods: Vec<u64>

    Last final periods from Consensus

    -

    Trait Implementations§

    source§

    impl Clone for PoolControllerImpl

    source§

    fn clone(&self) -> PoolControllerImpl

    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 PoolController for PoolControllerImpl

    source§

    fn add_operations(&mut self, ops: Storage)

    Asynchronously add operations to pool. Simply print a warning on failure.

    -
    source§

    fn add_endorsements(&mut self, endorsements: Storage)

    Asynchronously add endorsements to pool. Simply print a warning on failure.

    -
    source§

    fn add_denunciation_precursor( +

    Trait Implementations§

    source§

    impl Clone for PoolControllerImpl

    source§

    fn clone(&self) -> PoolControllerImpl

    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 PoolController for PoolControllerImpl

    source§

    fn add_operations(&mut self, ops: Storage)

    Asynchronously add operations to pool. Simply print a warning on failure.

    +
    source§

    fn add_endorsements(&mut self, endorsements: Storage)

    Asynchronously add endorsements to pool. Simply print a warning on failure.

    +
    source§

    fn add_denunciation_precursor( &self, denunciation_precursor: DenunciationPrecursor, )

    Add denunciation precursor to pool

    -
    source§

    fn notify_final_cs_periods(&mut self, final_cs_periods: &[u64])

    Asynchronously notify of new final consensus periods. Simply print a warning on failure.

    -
    source§

    fn get_block_operations(&self, slot: &Slot) -> (Vec<OperationId>, Storage)

    get operations for block creation

    -
    source§

    fn get_block_endorsements( +

    source§

    fn notify_final_cs_periods(&mut self, final_cs_periods: &[u64])

    Asynchronously notify of new final consensus periods. Simply print a warning on failure.

    +
    source§

    fn get_block_operations(&self, slot: &Slot) -> (Vec<OperationId>, Storage)

    get operations for block creation

    +
    source§

    fn get_block_endorsements( &self, target_block: &BlockId, target_slot: &Slot, ) -> (Vec<Option<EndorsementId>>, Storage)

    get endorsements for a block

    -
    source§

    fn get_block_denunciations(&self, target_slot: &Slot) -> Vec<Denunciation>

    get denunciationsq for a block

    -
    source§

    fn get_endorsement_count(&self) -> usize

    Get the number of endorsements in the pool

    -
    source§

    fn get_operation_count(&self) -> usize

    Get the number of operations in the pool

    -
    source§

    fn contains_endorsements(&self, endorsements: &[EndorsementId]) -> Vec<bool>

    Check if the pool contains a list of endorsements. Returns one boolean per item.

    -
    source§

    fn contains_operations(&self, operations: &[OperationId]) -> Vec<bool>

    Check if the pool contains a list of operations. Returns one boolean per item.

    -
    source§

    fn get_denunciation_count(&self) -> usize

    Get the number of denunciations in the pool

    -
    source§

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

    Returns a boxed clone of self. +

    source§

    fn get_block_denunciations(&self, target_slot: &Slot) -> Vec<Denunciation>

    get denunciationsq for a block

    +
    source§

    fn get_endorsement_count(&self) -> usize

    Get the number of endorsements in the pool

    +
    source§

    fn get_operation_count(&self) -> usize

    Get the number of operations in the pool

    +
    source§

    fn contains_endorsements(&self, endorsements: &[EndorsementId]) -> Vec<bool>

    Check if the pool contains a list of endorsements. Returns one boolean per item.

    +
    source§

    fn contains_operations(&self, operations: &[OperationId]) -> Vec<bool>

    Check if the pool contains a list of operations. Returns one boolean per item.

    +
    source§

    fn get_denunciation_count(&self) -> usize

    Get the number of denunciations in the pool

    +
    source§

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

    Returns a boxed clone of self. Allows cloning Box<dyn PoolController>,

    -
    source§

    fn get_final_cs_periods(&self) -> Vec<u64>

    Get final consensus periods

    +
    source§

    fn get_final_cs_periods(&self) -> Vec<u64>

    Get final consensus periods

    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_pool_worker/controller_impl/struct.PoolManagerImpl.html b/massa_pool_worker/controller_impl/struct.PoolManagerImpl.html index 1bc5aa8ff66..c0027004851 100644 --- a/massa_pool_worker/controller_impl/struct.PoolManagerImpl.html +++ b/massa_pool_worker/controller_impl/struct.PoolManagerImpl.html @@ -13,7 +13,7 @@

    §operations_input_sender: SyncSender<Command>

    Operations input data mpsc (used to stop the pool thread)

    §endorsements_input_sender: SyncSender<Command>

    Endorsements input data mpsc (used to stop the pool thread)

    §denunciations_input_sender: SyncSender<Command>

    Denunciations input data mpsc (used to stop the pool thread)

    -

    Trait Implementations§

    source§

    impl PoolManager for PoolManagerImpl

    source§

    fn stop(&mut self)

    Stops the worker

    +

    Trait Implementations§

    source§

    impl PoolManager for PoolManagerImpl

    source§

    fn stop(&mut self)

    Stops the worker

    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_pool_worker/denunciation_pool/struct.DenunciationPool.html b/massa_pool_worker/denunciation_pool/struct.DenunciationPool.html index c965748cbd7..ad7bfb122f9 100644 --- a/massa_pool_worker/denunciation_pool/struct.DenunciationPool.html +++ b/massa_pool_worker/denunciation_pool/struct.DenunciationPool.html @@ -1,13 +1,13 @@ DenunciationPool in massa_pool_worker::denunciation_pool - Rust
    pub struct DenunciationPool {
    -    config: PoolConfig,
    -    channels: PoolChannels,
    +    config: PoolConfig,
    +    channels: PoolChannels,
         last_cs_final_periods: Vec<u64>,
         denunciations_cache: BTreeMap<DenunciationIndex, DenunciationStatus>,
    -}

    Fields§

    §config: PoolConfig

    pool configuration

    -
    §channels: PoolChannels

    pool channels

    +}

    Fields§

    §config: PoolConfig

    pool configuration

    +
    §channels: PoolChannels

    pool channels

    §last_cs_final_periods: Vec<u64>

    last consensus final periods, per thread

    §denunciations_cache: BTreeMap<DenunciationIndex, DenunciationStatus>

    Internal cache for denunciations

    -

    Implementations§

    source§

    impl DenunciationPool

    source

    pub fn init(config: PoolConfig, channels: PoolChannels) -> Self

    source

    pub fn len(&self) -> usize

    Get the number of stored elements

    +

    Implementations§

    source§

    impl DenunciationPool

    source

    pub fn init(config: PoolConfig, channels: PoolChannels) -> Self

    source

    pub fn len(&self) -> usize

    Get the number of stored elements

    source

    pub fn add_denunciation_precursor( &mut self, denunciation_precursor: DenunciationPrecursor, diff --git a/massa_pool_worker/endorsement_pool/struct.EndorsementPool.html b/massa_pool_worker/endorsement_pool/struct.EndorsementPool.html index 6524df8525e..9b69180ead6 100644 --- a/massa_pool_worker/endorsement_pool/struct.EndorsementPool.html +++ b/massa_pool_worker/endorsement_pool/struct.EndorsementPool.html @@ -1,23 +1,23 @@ EndorsementPool in massa_pool_worker::endorsement_pool - Rust
    pub struct EndorsementPool {
    -    config: PoolConfig,
    +    config: PoolConfig,
         endorsements_indexed: HashMap<(Slot, u32, BlockId), EndorsementId>,
         endorsements_sorted: Vec<BTreeMap<(Slot, u32, BlockId), EndorsementId>>,
         storage: Storage,
         last_cs_final_periods: Vec<u64>,
    -    channels: PoolChannels,
    +    channels: PoolChannels,
         wallet: Arc<RwLock<Wallet>>,
    -}

    Fields§

    §config: PoolConfig

    configuration

    +}

    Fields§

    §config: PoolConfig

    configuration

    §endorsements_indexed: HashMap<(Slot, u32, BlockId), EndorsementId>

    endorsements indexed by slot, index and block ID

    §endorsements_sorted: Vec<BTreeMap<(Slot, u32, BlockId), EndorsementId>>

    endorsements sorted by increasing inclusion slot for pruning indexed by thread, then BTreeMap<(inclusion_slot, index, target_block), endorsement_id>

    §storage: Storage

    storage

    §last_cs_final_periods: Vec<u64>

    last consensus final periods, per thread

    -
    §channels: PoolChannels

    channels used by the pool worker

    +
    §channels: PoolChannels

    channels used by the pool worker

    §wallet: Arc<RwLock<Wallet>>

    staking wallet, to know which addresses we are using to stake

    Implementations§

    source§

    impl EndorsementPool

    source

    pub fn init( - config: PoolConfig, + config: PoolConfig, storage: &Storage, - channels: PoolChannels, + channels: PoolChannels, wallet: Arc<RwLock<Wallet>>, ) -> Self

    source

    pub fn len(&self) -> usize

    Get the number of stored elements

    source

    pub fn contains(&self, id: &EndorsementId) -> bool

    Checks whether an element is stored in the pool.

    diff --git a/massa_pool_worker/fn.start_pool_controller.html b/massa_pool_worker/fn.start_pool_controller.html index 4f3d6123a81..2486ea226a5 100644 --- a/massa_pool_worker/fn.start_pool_controller.html +++ b/massa_pool_worker/fn.start_pool_controller.html @@ -1,7 +1,7 @@ start_pool_controller in massa_pool_worker - Rust

    Function massa_pool_worker::start_pool_controller

    source ·
    pub fn start_pool_controller(
    -    config: PoolConfig,
    +    config: PoolConfig,
         storage: &Storage,
    -    channels: PoolChannels,
    +    channels: PoolChannels,
         wallet: Arc<RwLock<Wallet>>,
    -) -> (Box<dyn PoolManager>, Box<dyn PoolController>)
    Expand description

    Start pool manager and controller

    +) -> (Box<dyn PoolManager>, Box<dyn PoolController>)
    Expand description

    Start pool manager and controller

    \ No newline at end of file diff --git a/massa_pool_worker/operation_pool/struct.OperationPool.html b/massa_pool_worker/operation_pool/struct.OperationPool.html index 2ffc5e0ecf1..f24b254f07c 100644 --- a/massa_pool_worker/operation_pool/struct.OperationPool.html +++ b/massa_pool_worker/operation_pool/struct.OperationPool.html @@ -1,20 +1,20 @@ OperationPool in massa_pool_worker::operation_pool - Rust

    Struct massa_pool_worker::operation_pool::OperationPool

    source ·
    pub struct OperationPool {
    -    config: PoolConfig,
    +    config: PoolConfig,
         sorted_ops: Vec<OperationInfo>,
         pub(crate) storage: Storage,
         last_cs_final_periods: Vec<u64>,
    -    channels: PoolChannels,
    +    channels: PoolChannels,
         wallet: Arc<RwLock<Wallet>>,
    -}

    Fields§

    §config: PoolConfig

    configuration

    +}

    Fields§

    §config: PoolConfig

    configuration

    §sorted_ops: Vec<OperationInfo>

    operations map

    §storage: Storage

    storage instance

    §last_cs_final_periods: Vec<u64>

    last consensus final periods, per thread

    -
    §channels: PoolChannels

    channels used by the pool worker

    +
    §channels: PoolChannels

    channels used by the pool worker

    §wallet: Arc<RwLock<Wallet>>

    staking wallet, to know which addresses we are using to stake

    Implementations§

    source§

    impl OperationPool

    source

    pub fn init( - config: PoolConfig, + config: PoolConfig, storage: &Storage, - channels: PoolChannels, + channels: PoolChannels, wallet: Arc<RwLock<Wallet>>, ) -> Self

    source

    fn get_pos_draws(&mut self) -> BTreeSet<Slot>

    Get the relevant PoS draws of our staking addresses

    source

    fn get_execution_statuses(&self) -> PreHashMap<OperationId, bool>

    Returns the list of executed ops with a boolean indicating whether they are executed as final.

    diff --git a/massa_pool_worker/worker/fn.start_pool_controller.html b/massa_pool_worker/worker/fn.start_pool_controller.html index aa253162559..438cde040dc 100644 --- a/massa_pool_worker/worker/fn.start_pool_controller.html +++ b/massa_pool_worker/worker/fn.start_pool_controller.html @@ -1,7 +1,7 @@ start_pool_controller in massa_pool_worker::worker - Rust

    Function massa_pool_worker::worker::start_pool_controller

    source ·
    pub fn start_pool_controller(
    -    config: PoolConfig,
    +    config: PoolConfig,
         storage: &Storage,
    -    channels: PoolChannels,
    +    channels: PoolChannels,
         wallet: Arc<RwLock<Wallet>>,
    -) -> (Box<dyn PoolManager>, Box<dyn PoolController>)
    Expand description

    Start pool manager and controller

    +) -> (Box<dyn PoolManager>, Box<dyn PoolController>)
    Expand description

    Start pool manager and controller

    \ No newline at end of file diff --git a/massa_pool_worker/worker/struct.OperationPoolThread.html b/massa_pool_worker/worker/struct.OperationPoolThread.html index 2b33d9e0687..62514c32760 100644 --- a/massa_pool_worker/worker/struct.OperationPoolThread.html +++ b/massa_pool_worker/worker/struct.OperationPoolThread.html @@ -7,9 +7,9 @@

    Implementations§

    source§

    impl OperationPoolThread

    source

    pub(crate) fn spawn( receiver: Receiver<Command>, operation_pool: Arc<RwLock<OperationPool>>, - config: PoolConfig, + config: PoolConfig, ) -> JoinHandle<()>

    Spawns a pool writer thread, returning a join handle.

    -
    source

    fn run(self, config: PoolConfig)

    Run the thread.

    +
    source

    fn run(self, config: PoolConfig)

    Run the thread.

    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_pos_exports/deferred_credits/struct.DeferredCredits.html b/massa_pos_exports/deferred_credits/struct.DeferredCredits.html index 5067ff82b05..63c7a2b2fb9 100644 --- a/massa_pos_exports/deferred_credits/struct.DeferredCredits.html +++ b/massa_pos_exports/deferred_credits/struct.DeferredCredits.html @@ -25,8 +25,8 @@ __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<DeferredCredits> for DeferredCreditsDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], DeferredCredits, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Serialize for DeferredCredits

    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<DeferredCredits> for DeferredCreditsSerializer

    source§

    fn serialize( +) -> IResult<&'a [u8], DeferredCredits, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Serialize for DeferredCredits

    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<DeferredCredits> for DeferredCreditsSerializer

    source§

    fn serialize( &self, value: &DeferredCredits, buffer: &mut Vec<u8>, diff --git a/massa_pos_exports/pos_changes/struct.PoSChanges.html b/massa_pos_exports/pos_changes/struct.PoSChanges.html index fe68bb6597c..03a369509ff 100644 --- a/massa_pos_exports/pos_changes/struct.PoSChanges.html +++ b/massa_pos_exports/pos_changes/struct.PoSChanges.html @@ -15,8 +15,8 @@ __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<PoSChanges> for PoSChangesDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], PoSChanges, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Serialize for PoSChanges

    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<PoSChanges> for PoSChangesSerializer

    source§

    fn serialize( +) -> IResult<&'a [u8], PoSChanges, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Serialize for PoSChanges

    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<PoSChanges> for PoSChangesSerializer

    source§

    fn serialize( &self, value: &PoSChanges, buffer: &mut Vec<u8>, diff --git a/massa_pos_exports/struct.DeferredCredits.html b/massa_pos_exports/struct.DeferredCredits.html index 4c4b6c52451..b3846cc6e79 100644 --- a/massa_pos_exports/struct.DeferredCredits.html +++ b/massa_pos_exports/struct.DeferredCredits.html @@ -25,8 +25,8 @@ __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<DeferredCredits> for DeferredCreditsDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], DeferredCredits, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Serialize for DeferredCredits

    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<DeferredCredits> for DeferredCreditsSerializer

    source§

    fn serialize( +) -> IResult<&'a [u8], DeferredCredits, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Serialize for DeferredCredits

    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<DeferredCredits> for DeferredCreditsSerializer

    source§

    fn serialize( &self, value: &DeferredCredits, buffer: &mut Vec<u8>, diff --git a/massa_pos_exports/struct.PoSChanges.html b/massa_pos_exports/struct.PoSChanges.html index 7b528f9990c..82e11cd2b69 100644 --- a/massa_pos_exports/struct.PoSChanges.html +++ b/massa_pos_exports/struct.PoSChanges.html @@ -15,8 +15,8 @@ __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Deserializer<PoSChanges> for PoSChangesDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], PoSChanges, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Serialize for PoSChanges

    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<PoSChanges> for PoSChangesSerializer

    source§

    fn serialize( +) -> IResult<&'a [u8], PoSChanges, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Serialize for PoSChanges

    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<PoSChanges> for PoSChangesSerializer

    source§

    fn serialize( &self, value: &PoSChanges, buffer: &mut Vec<u8>, diff --git a/massa_protocol_exports/enum.ProtocolError.html b/massa_protocol_exports/enum.ProtocolError.html index 8d5d23d2263..ead72967361 100644 --- a/massa_protocol_exports/enum.ProtocolError.html +++ b/massa_protocol_exports/enum.ProtocolError.html @@ -54,7 +54,7 @@

    §announced_received: u32

    received announced network version

    §

    FactoryError(FactoryError)

    Versioned factory error: {0}

    §

    PosError(PosError)

    PoS error: {0}

    -

    Trait Implementations§

    source§

    impl Debug for ProtocolError

    source§

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

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

    impl Display for ProtocolError

    source§

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

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

    impl Error for ProtocolError

    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<Error> for ProtocolError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for ProtocolError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<FactoryError> for ProtocolError

    source§

    fn from(source: FactoryError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ModelsError> for ProtocolError

    source§

    fn from(source: ModelsError) -> Self

    Converts to this type from the input type.
    source§

    impl From<PosError> for ProtocolError

    source§

    fn from(source: PosError) -> Self

    Converts to this type from the input type.
    source§

    impl From<TimeError> for ProtocolError

    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 Debug for ProtocolError

    source§

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

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

    impl Display for ProtocolError

    source§

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

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

    impl Error for ProtocolError

    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<Error> for ProtocolError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for ProtocolError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<FactoryError> for ProtocolError

    source§

    fn from(source: FactoryError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ModelsError> for ProtocolError

    source§

    fn from(source: ModelsError) -> Self

    Converts to this type from the input type.
    source§

    impl From<PosError> for ProtocolError

    source§

    fn from(source: PosError) -> Self

    Converts to this type from the input type.
    source§

    impl From<TimeError> for ProtocolError

    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
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_protocol_exports/error/enum.ProtocolError.html b/massa_protocol_exports/error/enum.ProtocolError.html index bec5d498933..16623c8be73 100644 --- a/massa_protocol_exports/error/enum.ProtocolError.html +++ b/massa_protocol_exports/error/enum.ProtocolError.html @@ -54,7 +54,7 @@

    §announced_received: u32

    received announced network version

    §

    FactoryError(FactoryError)

    Versioned factory error: {0}

    §

    PosError(PosError)

    PoS error: {0}

    -

    Trait Implementations§

    source§

    impl Debug for ProtocolError

    source§

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

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

    impl Display for ProtocolError

    source§

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

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

    impl Error for ProtocolError

    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<Error> for ProtocolError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for ProtocolError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<FactoryError> for ProtocolError

    source§

    fn from(source: FactoryError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ModelsError> for ProtocolError

    source§

    fn from(source: ModelsError) -> Self

    Converts to this type from the input type.
    source§

    impl From<PosError> for ProtocolError

    source§

    fn from(source: PosError) -> Self

    Converts to this type from the input type.
    source§

    impl From<TimeError> for ProtocolError

    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 Debug for ProtocolError

    source§

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

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

    impl Display for ProtocolError

    source§

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

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

    impl Error for ProtocolError

    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<Error> for ProtocolError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for ProtocolError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<FactoryError> for ProtocolError

    source§

    fn from(source: FactoryError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ModelsError> for ProtocolError

    source§

    fn from(source: ModelsError) -> Self

    Converts to this type from the input type.
    source§

    impl From<PosError> for ProtocolError

    source§

    fn from(source: PosError) -> Self

    Converts to this type from the input type.
    source§

    impl From<TimeError> for ProtocolError

    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
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where diff --git a/massa_protocol_exports/peer_id/struct.PeerId.html b/massa_protocol_exports/peer_id/struct.PeerId.html index c18e95f45c6..2fa29fa7f06 100644 --- a/massa_protocol_exports/peer_id/struct.PeerId.html +++ b/massa_protocol_exports/peer_id/struct.PeerId.html @@ -4,8 +4,8 @@ &self, hash: &MassaHash, signature: &Signature, -) -> Result<(), ProtocolError>

    Trait Implementations§

    source§

    impl Clone for PeerId

    source§

    fn clone(&self) -> PeerId

    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 PeerId

    source§

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

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

    impl<'de> Deserialize<'de> for PeerId

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<PeerId, D::Error>

    ::serde::Deserialize trait for PeerId

    -
    source§

    impl Deserializer<PeerId> for PeerIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +) -> Result<(), ProtocolError>

    Trait Implementations§

    source§

    impl Clone for PeerId

    source§

    fn clone(&self) -> PeerId

    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 PeerId

    source§

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

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

    impl<'de> Deserialize<'de> for PeerId

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<PeerId, D::Error>

    ::serde::Deserialize trait for PeerId

    +
    source§

    impl Deserializer<PeerId> for PeerIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], PeerId, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for PeerId

    source§

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

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

    impl FromStr for PeerId

    §

    type Err = ProtocolError

    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 PeerId

    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 @@ -17,8 +17,8 @@ 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 PeerId

    source§

    fn partial_cmp(&self, other: &PeerId) -> 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 PeerId for PeerId

    source§

    fn generate() -> Self

    source§

    impl Serialize for PeerId

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for PeerId

    -
    source§

    impl Serializer<PeerId> for PeerIdSerializer

    source§

    impl PeerId for PeerId

    source§

    fn generate() -> Self

    source§

    impl Serialize for PeerId

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for PeerId

    +
    source§

    impl Serializer<PeerId> for PeerIdSerializer

    source§

    fn serialize( &self, value: &PeerId, buffer: &mut Vec<u8>, diff --git a/massa_protocol_exports/struct.PeerId.html b/massa_protocol_exports/struct.PeerId.html index 396745153e1..2602abb51fa 100644 --- a/massa_protocol_exports/struct.PeerId.html +++ b/massa_protocol_exports/struct.PeerId.html @@ -4,8 +4,8 @@ &self, hash: &MassaHash, signature: &Signature, -) -> Result<(), ProtocolError>

    Trait Implementations§

    source§

    impl Clone for PeerId

    source§

    fn clone(&self) -> PeerId

    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 PeerId

    source§

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

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

    impl<'de> Deserialize<'de> for PeerId

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<PeerId, D::Error>

    ::serde::Deserialize trait for PeerId

    -
    source§

    impl Deserializer<PeerId> for PeerIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +) -> Result<(), ProtocolError>

    Trait Implementations§

    source§

    impl Clone for PeerId

    source§

    fn clone(&self) -> PeerId

    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 PeerId

    source§

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

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

    impl<'de> Deserialize<'de> for PeerId

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<PeerId, D::Error>

    ::serde::Deserialize trait for PeerId

    +
    source§

    impl Deserializer<PeerId> for PeerIdDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], PeerId, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl Display for PeerId

    source§

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

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

    impl FromStr for PeerId

    §

    type Err = ProtocolError

    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 PeerId

    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 @@ -17,8 +17,8 @@ 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 PeerId

    source§

    fn partial_cmp(&self, other: &PeerId) -> 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 PeerId for PeerId

    source§

    fn generate() -> Self

    source§

    impl Serialize for PeerId

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for PeerId

    -
    source§

    impl Serializer<PeerId> for PeerIdSerializer

    source§

    impl PeerId for PeerId

    source§

    fn generate() -> Self

    source§

    impl Serialize for PeerId

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for PeerId

    +
    source§

    impl Serializer<PeerId> for PeerIdSerializer

    source§

    fn serialize( &self, value: &PeerId, buffer: &mut Vec<u8>, diff --git a/massa_protocol_worker/handlers/block_handler/messages/enum.BlockMessage.html b/massa_protocol_worker/handlers/block_handler/messages/enum.BlockMessage.html index e53b5134416..db6e07529eb 100644 --- a/massa_protocol_worker/handlers/block_handler/messages/enum.BlockMessage.html +++ b/massa_protocol_worker/handlers/block_handler/messages/enum.BlockMessage.html @@ -18,7 +18,7 @@

    Trait Implementations§

    source§

    impl Debug for BlockMessage

    source§

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

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

    impl Deserializer<BlockMessage> for BlockMessageDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], BlockMessage, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&BlockMessage> for MessageTypeId

    source§

    fn from(value: &BlockMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<BlockMessage> for Message

    source§

    fn from(message: BlockMessage) -> Self

    Converts to this type from the input type.
    source§

    impl Serializer<BlockMessage> for BlockMessageSerializer

    source§

    fn serialize( +) -> IResult<&'a [u8], BlockMessage, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&BlockMessage> for MessageTypeId

    source§

    fn from(value: &BlockMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<BlockMessage> for Message

    source§

    fn from(message: BlockMessage) -> Self

    Converts to this type from the input type.
    source§

    impl Serializer<BlockMessage> for BlockMessageSerializer

    source§

    fn serialize( &self, value: &BlockMessage, buffer: &mut Vec<u8>, diff --git a/massa_protocol_worker/handlers/block_handler/messages/enum.MessageTypeId.html b/massa_protocol_worker/handlers/block_handler/messages/enum.MessageTypeId.html index 3d95840e552..f313abd779c 100644 --- a/massa_protocol_worker/handlers/block_handler/messages/enum.MessageTypeId.html +++ b/massa_protocol_worker/handlers/block_handler/messages/enum.MessageTypeId.html @@ -2,9 +2,9 @@ Header = 0, DataRequest = 1, DataResponse = 2, -}

    Variants§

    §

    Header = 0

    §

    DataRequest = 1

    §

    DataResponse = 2

    Trait Implementations§

    source§

    impl Debug for MessageTypeId

    source§

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

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

    impl From<&BlockMessage> for MessageTypeId

    source§

    fn from(value: &BlockMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<MessageTypeId> for u64

    source§

    fn from(enum_value: MessageTypeId) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for MessageTypeId

    source§

    fn eq(&self, other: &MessageTypeId) -> bool

    This method tests for self and other values to be equal, and is used +}

    Variants§

    §

    Header = 0

    §

    DataRequest = 1

    §

    DataResponse = 2

    Trait Implementations§

    source§

    impl Debug for MessageTypeId

    source§

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

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

    impl From<&BlockMessage> for MessageTypeId

    source§

    fn from(value: &BlockMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<MessageTypeId> for u64

    source§

    fn from(enum_value: MessageTypeId) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for MessageTypeId

    source§

    fn eq(&self, other: &MessageTypeId) -> 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 TryFrom<u64> for MessageTypeId

    §

    type Error = TryFromPrimitiveError<MessageTypeId>

    The type returned in the event of a conversion error.
    source§

    fn try_from(number: u64) -> Result<Self, TryFromPrimitiveError<Self>>

    Performs the conversion.
    source§

    impl TryFromPrimitive for MessageTypeId

    §

    type Primitive = u64

    §

    type Error = TryFromPrimitiveError<MessageTypeId>

    source§

    const NAME: &'static str = "MessageTypeId"

    source§

    fn try_from_primitive( +sufficient, and should not be overridden without very good reason.

    source§

    impl TryFrom<u64> for MessageTypeId

    §

    type Error = TryFromPrimitiveError<MessageTypeId>

    The type returned in the event of a conversion error.
    source§

    fn try_from(number: u64) -> Result<Self, TryFromPrimitiveError<Self>>

    Performs the conversion.
    source§

    impl TryFromPrimitive for MessageTypeId

    §

    type Primitive = u64

    §

    type Error = TryFromPrimitiveError<MessageTypeId>

    source§

    const NAME: &'static str = "MessageTypeId"

    source§

    fn try_from_primitive( number: Self::Primitive, ) -> Result<Self, TryFromPrimitiveError<Self>>

    source§

    impl Eq for MessageTypeId

    source§

    impl StructuralPartialEq for MessageTypeId

    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( diff --git a/massa_protocol_worker/handlers/endorsement_handler/messages/enum.EndorsementMessage.html b/massa_protocol_worker/handlers/endorsement_handler/messages/enum.EndorsementMessage.html index 59c7ba5489b..5b08f667b35 100644 --- a/massa_protocol_worker/handlers/endorsement_handler/messages/enum.EndorsementMessage.html +++ b/massa_protocol_worker/handlers/endorsement_handler/messages/enum.EndorsementMessage.html @@ -4,7 +4,7 @@

    Trait Implementations§

    source§

    impl Debug for EndorsementMessage

    source§

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

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

    impl Deserializer<EndorsementMessage> for EndorsementMessageDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], EndorsementMessage, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&EndorsementMessage> for MessageTypeId

    source§

    fn from(message: &EndorsementMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<EndorsementMessage> for Message

    source§

    fn from(message: EndorsementMessage) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for EndorsementMessage

    source§

    fn eq(&self, other: &EndorsementMessage) -> bool

    This method tests for self and other values to be equal, and is used +) -> IResult<&'a [u8], EndorsementMessage, E>
    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&EndorsementMessage> for MessageTypeId

    source§

    fn from(message: &EndorsementMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<EndorsementMessage> for Message

    source§

    fn from(message: EndorsementMessage) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for EndorsementMessage

    source§

    fn eq(&self, other: &EndorsementMessage) -> 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<EndorsementMessage> for EndorsementMessageSerializer

    source§

    fn serialize( &self, diff --git a/massa_protocol_worker/handlers/operation_handler/messages/enum.MessageTypeId.html b/massa_protocol_worker/handlers/operation_handler/messages/enum.MessageTypeId.html index 04539231157..a937329d165 100644 --- a/massa_protocol_worker/handlers/operation_handler/messages/enum.MessageTypeId.html +++ b/massa_protocol_worker/handlers/operation_handler/messages/enum.MessageTypeId.html @@ -2,9 +2,9 @@ OperationsAnnouncement = 0, AskForOperations = 1, Operations = 2, -}

    Variants§

    §

    OperationsAnnouncement = 0

    §

    AskForOperations = 1

    §

    Operations = 2

    Trait Implementations§

    source§

    impl Debug for MessageTypeId

    source§

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

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

    impl From<&OperationMessage> for MessageTypeId

    source§

    fn from(message: &OperationMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<MessageTypeId> for u64

    source§

    fn from(enum_value: MessageTypeId) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for MessageTypeId

    source§

    fn eq(&self, other: &MessageTypeId) -> bool

    This method tests for self and other values to be equal, and is used +}

    Variants§

    §

    OperationsAnnouncement = 0

    §

    AskForOperations = 1

    §

    Operations = 2

    Trait Implementations§

    source§

    impl Debug for MessageTypeId

    source§

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

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

    impl From<&OperationMessage> for MessageTypeId

    source§

    fn from(message: &OperationMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<MessageTypeId> for u64

    source§

    fn from(enum_value: MessageTypeId) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for MessageTypeId

    source§

    fn eq(&self, other: &MessageTypeId) -> 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 TryFrom<u64> for MessageTypeId

    §

    type Error = TryFromPrimitiveError<MessageTypeId>

    The type returned in the event of a conversion error.
    source§

    fn try_from(number: u64) -> Result<Self, TryFromPrimitiveError<Self>>

    Performs the conversion.
    source§

    impl TryFromPrimitive for MessageTypeId

    §

    type Primitive = u64

    §

    type Error = TryFromPrimitiveError<MessageTypeId>

    source§

    const NAME: &'static str = "MessageTypeId"

    source§

    fn try_from_primitive( +sufficient, and should not be overridden without very good reason.

    source§

    impl TryFrom<u64> for MessageTypeId

    §

    type Error = TryFromPrimitiveError<MessageTypeId>

    The type returned in the event of a conversion error.
    source§

    fn try_from(number: u64) -> Result<Self, TryFromPrimitiveError<Self>>

    Performs the conversion.
    source§

    impl TryFromPrimitive for MessageTypeId

    §

    type Primitive = u64

    §

    type Error = TryFromPrimitiveError<MessageTypeId>

    source§

    const NAME: &'static str = "MessageTypeId"

    source§

    fn try_from_primitive( number: Self::Primitive, ) -> Result<Self, TryFromPrimitiveError<Self>>

    source§

    impl Eq for MessageTypeId

    source§

    impl StructuralPartialEq for MessageTypeId

    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( diff --git a/massa_protocol_worker/handlers/operation_handler/messages/enum.OperationMessage.html b/massa_protocol_worker/handlers/operation_handler/messages/enum.OperationMessage.html index 93daf8ed2b3..8db774dc39e 100644 --- a/massa_protocol_worker/handlers/operation_handler/messages/enum.OperationMessage.html +++ b/massa_protocol_worker/handlers/operation_handler/messages/enum.OperationMessage.html @@ -8,7 +8,7 @@

    Trait Implementations§

    source§

    impl Debug for OperationMessage

    source§

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

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

    impl Deserializer<OperationMessage> for OperationMessageDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], OperationMessage, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&OperationMessage> for MessageTypeId

    source§

    fn from(message: &OperationMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<OperationMessage> for Message

    source§

    fn from(message: OperationMessage) -> Self

    Converts to this type from the input type.
    source§

    impl Serializer<OperationMessage> for OperationMessageSerializer

    source§

    fn serialize( +) -> IResult<&'a [u8], OperationMessage, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&OperationMessage> for MessageTypeId

    source§

    fn from(message: &OperationMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<OperationMessage> for Message

    source§

    fn from(message: OperationMessage) -> Self

    Converts to this type from the input type.
    source§

    impl Serializer<OperationMessage> for OperationMessageSerializer

    source§

    fn serialize( &self, value: &OperationMessage, buffer: &mut Vec<u8>, diff --git a/massa_protocol_worker/handlers/peer_handler/messages/enum.PeerManagementMessage.html b/massa_protocol_worker/handlers/peer_handler/messages/enum.PeerManagementMessage.html index 40d3c8a5124..cd9863ded8f 100644 --- a/massa_protocol_worker/handlers/peer_handler/messages/enum.PeerManagementMessage.html +++ b/massa_protocol_worker/handlers/peer_handler/messages/enum.PeerManagementMessage.html @@ -4,7 +4,7 @@ }

    Variants§

    §

    NewPeerConnected((PeerId, HashMap<SocketAddr, TransportType>))

    §

    ListPeers(Vec<(PeerId, HashMap<SocketAddr, TransportType>)>)

    Trait Implementations§

    source§

    impl Clone for PeerManagementMessage

    source§

    fn clone(&self) -> PeerManagementMessage

    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 PeerManagementMessage

    source§

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

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

    impl Deserializer<PeerManagementMessage> for PeerManagementMessageDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], -) -> IResult<&'a [u8], PeerManagementMessage, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&PeerManagementMessage> for MessageTypeId

    source§

    fn from(message: &PeerManagementMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<PeerManagementMessage> for Message

    source§

    fn from(message: PeerManagementMessage) -> Self

    Converts to this type from the input type.
    source§

    impl Serializer<PeerManagementMessage> for PeerManagementMessageSerializer

    source§

    fn serialize( +) -> IResult<&'a [u8], PeerManagementMessage, E>

    Deserialize a value T from a buffer of u8. Read more
    source§

    impl From<&PeerManagementMessage> for MessageTypeId

    source§

    fn from(message: &PeerManagementMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<PeerManagementMessage> for Message

    source§

    fn from(message: PeerManagementMessage) -> Self

    Converts to this type from the input type.
    source§

    impl Serializer<PeerManagementMessage> for PeerManagementMessageSerializer

    source§

    fn serialize( &self, value: &PeerManagementMessage, buffer: &mut Vec<u8>, diff --git a/massa_protocol_worker/messages/enum.Message.html b/massa_protocol_worker/messages/enum.Message.html index 5fbe8fb191b..e5e20dc470e 100644 --- a/massa_protocol_worker/messages/enum.Message.html +++ b/massa_protocol_worker/messages/enum.Message.html @@ -3,7 +3,7 @@ Endorsement(EndorsementMessage), Operation(OperationMessage), PeerManagement(Box<PeerManagementMessage>), -}

    Variants§

    Trait Implementations§

    source§

    impl Debug for Message

    source§

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

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

    impl From<&Message> for MessageTypeId

    source§

    fn from(value: &Message) -> Self

    Converts to this type from the input type.
    source§

    impl From<BlockMessage> for Message

    source§

    fn from(message: BlockMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<EndorsementMessage> for Message

    source§

    fn from(message: EndorsementMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<OperationMessage> for Message

    source§

    fn from(message: OperationMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<PeerManagementMessage> for Message

    source§

    fn from(message: PeerManagementMessage) -> Self

    Converts to this type from the input type.
    source§

    impl MessagesSerializer<Message> for MessagesSerializer

    source§

    fn serialize( +}

    Variants§

    Trait Implementations§

    source§

    impl Debug for Message

    source§

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

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

    impl From<&Message> for MessageTypeId

    source§

    fn from(value: &Message) -> Self

    Converts to this type from the input type.
    source§

    impl From<BlockMessage> for Message

    source§

    fn from(message: BlockMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<EndorsementMessage> for Message

    source§

    fn from(message: EndorsementMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<OperationMessage> for Message

    source§

    fn from(message: OperationMessage) -> Self

    Converts to this type from the input type.
    source§

    impl From<PeerManagementMessage> for Message

    source§

    fn from(message: PeerManagementMessage) -> Self

    Converts to this type from the input type.
    source§

    impl MessagesSerializer<Message> for MessagesSerializer

    source§

    fn serialize( &self, message: &Message, buffer: &mut Vec<u8>, diff --git a/massa_protocol_worker/messages/enum.MessageTypeId.html b/massa_protocol_worker/messages/enum.MessageTypeId.html index b5dd7dec8af..6d4009355dc 100644 --- a/massa_protocol_worker/messages/enum.MessageTypeId.html +++ b/massa_protocol_worker/messages/enum.MessageTypeId.html @@ -3,7 +3,7 @@ Endorsement = 1, Operation = 2, PeerManagement = 3, -}

    Variants§

    §

    Block = 0

    §

    Endorsement = 1

    §

    Operation = 2

    §

    PeerManagement = 3

    Trait Implementations§

    source§

    impl Debug for MessageTypeId

    source§

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

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

    impl From<&Message> for MessageTypeId

    source§

    fn from(value: &Message) -> Self

    Converts to this type from the input type.
    source§

    impl From<MessageTypeId> for u64

    source§

    fn from(enum_value: MessageTypeId) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for MessageTypeId

    source§

    fn eq(&self, other: &MessageTypeId) -> bool

    This method tests for self and other values to be equal, and is used +}

    Variants§

    §

    Block = 0

    §

    Endorsement = 1

    §

    Operation = 2

    §

    PeerManagement = 3

    Trait Implementations§

    source§

    impl Debug for MessageTypeId

    source§

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

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

    impl From<&Message> for MessageTypeId

    source§

    fn from(value: &Message) -> Self

    Converts to this type from the input type.
    source§

    impl From<MessageTypeId> for u64

    source§

    fn from(enum_value: MessageTypeId) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for MessageTypeId

    source§

    fn eq(&self, other: &MessageTypeId) -> 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 TryFrom<u64> for MessageTypeId

    §

    type Error = TryFromPrimitiveError<MessageTypeId>

    The type returned in the event of a conversion error.
    source§

    fn try_from(number: u64) -> Result<Self, TryFromPrimitiveError<Self>>

    Performs the conversion.
    source§

    impl TryFromPrimitive for MessageTypeId

    §

    type Primitive = u64

    §

    type Error = TryFromPrimitiveError<MessageTypeId>

    source§

    const NAME: &'static str = "MessageTypeId"

    source§

    fn try_from_primitive( number: Self::Primitive, diff --git a/massa_sdk/enum.ClientError.html b/massa_sdk/enum.ClientError.html index 06260919494..8abf337d1a3 100644 --- a/massa_sdk/enum.ClientError.html +++ b/massa_sdk/enum.ClientError.html @@ -4,7 +4,7 @@ }
    Expand description

    Error when creating a new client

    Variants§

    §

    Url(InvalidUri)

    Url error

    §

    Connect(Error)

    Connection error

    -

    Trait Implementations§

    source§

    impl Debug for ClientError

    source§

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

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

    impl Display for ClientError

    source§

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

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

    impl Error for ClientError

    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<Error> for ClientError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<InvalidUri> for ClientError

    source§

    fn from(source: InvalidUri) -> 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 Debug for ClientError

    source§

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

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

    impl Display for ClientError

    source§

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

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

    impl Error for ClientError

    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<Error> for ClientError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<InvalidUri> for ClientError

    source§

    fn from(source: InvalidUri) -> 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<'a, T, E> AsTaggedExplicit<'a, E> for T
    where T: 'a,

    §

    fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

    §

    impl<'a, T, E> AsTaggedImplicit<'a, E> for T
    where T: 'a,

    §

    fn implicit( diff --git a/massa_time/enum.TimeError.html b/massa_time/enum.TimeError.html index 0c8e56d84aa..3820c6f0323 100644 --- a/massa_time/enum.TimeError.html +++ b/massa_time/enum.TimeError.html @@ -6,7 +6,7 @@

    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.
    §

    ConversionError

    Error converting

    §

    TimeOverflowError

    Time overflow error

    §

    CheckedOperationError(String)

    Checked operation error : {0}

    -

    Trait Implementations§

    source§

    impl Clone for TimeError

    source§

    fn clone(&self) -> TimeError

    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 TimeError

    source§

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

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

    impl Display for TimeError

    source§

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

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

    impl Error for TimeError

    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 +

    Trait Implementations§

    source§

    impl Clone for TimeError

    source§

    fn clone(&self) -> TimeError

    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 TimeError

    source§

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

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

    impl Display for TimeError

    source§

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

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

    impl Error for TimeError

    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
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_time/error/enum.TimeError.html b/massa_time/error/enum.TimeError.html index 817d8dca849..f2eaf8aee61 100644 --- a/massa_time/error/enum.TimeError.html +++ b/massa_time/error/enum.TimeError.html @@ -6,7 +6,7 @@

    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.
    §

    ConversionError

    Error converting

    §

    TimeOverflowError

    Time overflow error

    §

    CheckedOperationError(String)

    Checked operation error : {0}

    -

    Trait Implementations§

    source§

    impl Clone for TimeError

    source§

    fn clone(&self) -> TimeError

    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 TimeError

    source§

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

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

    impl Display for TimeError

    source§

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

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

    impl Error for TimeError

    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 +

    Trait Implementations§

    source§

    impl Clone for TimeError

    source§

    fn clone(&self) -> TimeError

    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 TimeError

    source§

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

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

    impl Display for TimeError

    source§

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

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

    impl Error for TimeError

    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
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_time/struct.MassaTime.html b/massa_time/struct.MassaTime.html index 9945f3e4e4b..384ac1093de 100644 --- a/massa_time/struct.MassaTime.html +++ b/massa_time/struct.MassaTime.html @@ -105,8 +105,8 @@ assert_eq!(mins, 3); assert_eq!(secs, 6);

    source

    pub fn max() -> MassaTime

    Get max MassaTime value

    -

    Trait Implementations§

    source§

    impl Clone for MassaTime

    source§

    fn clone(&self) -> MassaTime

    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 MassaTime

    source§

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

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

    impl<'de> Deserialize<'de> for MassaTime

    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<MassaTime> for MassaTimeDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Clone for MassaTime

    source§

    fn clone(&self) -> MassaTime

    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 MassaTime

    source§

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

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

    impl<'de> Deserialize<'de> for MassaTime

    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<MassaTime> for MassaTimeDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], MassaTime, E>

    @@ -122,13 +122,13 @@ let (rest, time_deser) = deserializer.deserialize::<DeserializeError>(&serialized).unwrap(); assert!(rest.is_empty()); assert_eq!(time, time_deser);
    -
    source§

    impl Display for MassaTime

    source§

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

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

    impl From<MassaTime> for Duration

    source§

    fn from(value: MassaTime) -> Self

    Conversion from massa_time to duration, representing timestamp in milliseconds.

    +
    source§

    impl Display for MassaTime

    source§

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

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

    impl From<MassaTime> for Duration

    source§

    fn from(value: MassaTime) -> Self

    Conversion from massa_time to duration, representing timestamp in milliseconds.

    let duration: Duration = Duration::from_millis(42);
     let time : MassaTime = MassaTime::from_millis(42);
     let res: Duration = time.into();
     assert_eq!(res, duration);
    -
    source§

    impl From<MassaTime> for NativeTime

    source§

    fn from(value: MassaTime) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for MassaTime

    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 +

    source§

    impl From<MassaTime> for NativeTime

    source§

    fn from(value: MassaTime) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for MassaTime

    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 MassaTime

    source§

    fn cmp(&self, other: &MassaTime) -> 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 @@ -137,8 +137,8 @@ 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 MassaTime

    source§

    fn partial_cmp(&self, other: &MassaTime) -> 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 MassaTime

    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<MassaTime> for MassaTimeSerializer

    source§

    impl Serialize for MassaTime

    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<MassaTime> for MassaTimeSerializer

    source§

    fn serialize( &self, value: &MassaTime, buffer: &mut Vec<u8>, diff --git a/massa_versioning/mips/fn.get_mip_list.html b/massa_versioning/mips/fn.get_mip_list.html index e53b7f5a8ed..46d681795db 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 953b2c982ae..89918e0759e 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 508ee8bc3b5..d82b1cb6ea3 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 cedb49492b5..c68ad47f894 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 f99114e18db..bf07c7d6146 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 63fd393f378..dd01a2efdc8 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 f158a584d7f..7c2f5b6feb1 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 5351c91256e..ac123b204f2 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 0b17c314552..649c1ccfbdd 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 f01acf98807..65e2253deb9 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 c96310792bf..31a3524da2f 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 b8a52045e13..a7c638598e7 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 adb3e29a82b..83fc0ccc93b 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 9b941cedc49..5603c54aeb1 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 53de9560bd5..91b282f0e32 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 4b939fca0af..816a3e8e815 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 f10059ad9f6..34d61f126b8 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 6621acdd36e..0b46b72b15d 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 7b4855069e1..77ff7ac8aff 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 0784a5365b2..fc9e6d19129 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 e372bd620db..673d400a50f 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 f536f4c6e01..5dc48d2c4b2 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 2123b79c0a9..dd78fe46efc 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 b8c23e46bed..3a576a6cff8 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 56b5540534f..0ef66c42eb6 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 5127eaafac2..6a27f85e816 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/massa_versioning/versioning_factory/enum.FactoryError.html b/massa_versioning/versioning_factory/enum.FactoryError.html index d9932595054..e25dd5153a7 100644 --- a/massa_versioning/versioning_factory/enum.FactoryError.html +++ b/massa_versioning/versioning_factory/enum.FactoryError.html @@ -4,7 +4,7 @@ OnStateNotReady(u32), OnCreate(String, String), }

    Expand description

    Factory error

    -

    Variants§

    §

    UnknownVersion(u32)

    §

    UnimplementedVersion(u32)

    §

    OnStateNotReady(u32)

    §

    OnCreate(String, String)

    Trait Implementations§

    source§

    impl Clone for FactoryError

    source§

    fn clone(&self) -> FactoryError

    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 FactoryError

    source§

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

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

    impl Display for FactoryError

    source§

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

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

    impl Error for FactoryError

    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§

    §

    UnknownVersion(u32)

    §

    UnimplementedVersion(u32)

    §

    OnStateNotReady(u32)

    §

    OnCreate(String, String)

    Trait Implementations§

    source§

    impl Clone for FactoryError

    source§

    fn clone(&self) -> FactoryError

    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 FactoryError

    source§

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

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

    impl Display for FactoryError

    source§

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

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

    impl Error for FactoryError

    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
    source§

    impl<T> CloneToUninit for T
    where diff --git a/massa_wallet/enum.WalletError.html b/massa_wallet/enum.WalletError.html index 62cdde22fb6..8a89316154a 100644 --- a/massa_wallet/enum.WalletError.html +++ b/massa_wallet/enum.WalletError.html @@ -18,7 +18,7 @@
    §

    MissingKeyError(Address)

    Missing key error: {0}

    §

    MassaCipherError(CipherError)

    MassaCipher error: {0}

    §

    VersionError(String)

    Version error: {0}

    -

    Trait Implementations§

    source§

    impl Debug for WalletError

    source§

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

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

    impl Display for WalletError

    source§

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

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

    impl Error for WalletError

    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<CipherError> for WalletError

    source§

    fn from(source: CipherError) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for WalletError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for WalletError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for WalletError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<MassaHashError> for WalletError

    source§

    fn from(source: MassaHashError) -> Self

    Converts to this type from the input type.
    source§

    impl From<MassaSignatureError> for WalletError

    source§

    fn from(source: MassaSignatureError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ModelsError> for WalletError

    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 +

    Trait Implementations§

    source§

    impl Debug for WalletError

    source§

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

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

    impl Display for WalletError

    source§

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

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

    impl Error for WalletError

    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<CipherError> for WalletError

    source§

    fn from(source: CipherError) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for WalletError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for WalletError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for WalletError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<MassaHashError> for WalletError

    source§

    fn from(source: MassaHashError) -> Self

    Converts to this type from the input type.
    source§

    impl From<MassaSignatureError> for WalletError

    source§

    fn from(source: MassaSignatureError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ModelsError> for WalletError

    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_wallet/error/enum.WalletError.html b/massa_wallet/error/enum.WalletError.html index c3101c561af..f98d29a3e25 100644 --- a/massa_wallet/error/enum.WalletError.html +++ b/massa_wallet/error/enum.WalletError.html @@ -18,7 +18,7 @@
    §

    MissingKeyError(Address)

    Missing key error: {0}

    §

    MassaCipherError(CipherError)

    MassaCipher error: {0}

    §

    VersionError(String)

    Version error: {0}

    -

    Trait Implementations§

    source§

    impl Debug for WalletError

    source§

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

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

    impl Display for WalletError

    source§

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

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

    impl Error for WalletError

    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<CipherError> for WalletError

    source§

    fn from(source: CipherError) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for WalletError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for WalletError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for WalletError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<MassaHashError> for WalletError

    source§

    fn from(source: MassaHashError) -> Self

    Converts to this type from the input type.
    source§

    impl From<MassaSignatureError> for WalletError

    source§

    fn from(source: MassaSignatureError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ModelsError> for WalletError

    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 +

    Trait Implementations§

    source§

    impl Debug for WalletError

    source§

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

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

    impl Display for WalletError

    source§

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

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

    impl Error for WalletError

    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<CipherError> for WalletError

    source§

    fn from(source: CipherError) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for WalletError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for WalletError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for WalletError

    source§

    fn from(source: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<MassaHashError> for WalletError

    source§

    fn from(source: MassaHashError) -> Self

    Converts to this type from the input type.
    source§

    impl From<MassaSignatureError> for WalletError

    source§

    fn from(source: MassaSignatureError) -> Self

    Converts to this type from the input type.
    source§

    impl From<ModelsError> for WalletError

    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_wallet/struct.Wallet.html b/massa_wallet/struct.Wallet.html index a713545b738..86eabe344dc 100644 --- a/massa_wallet/struct.Wallet.html +++ b/massa_wallet/struct.Wallet.html @@ -36,8 +36,8 @@ content: Operation, address: Address, ) -> Result<SecureShareOperation, WalletError>

    Signs an operation with the keypair corresponding to the given address

    -

    Trait Implementations§

    source§

    impl Clone for Wallet

    source§

    fn clone(&self) -> Wallet

    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 Wallet

    source§

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

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

    impl<'de> Deserialize<'de> for Wallet

    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 Display for Wallet

    source§

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

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

    impl Drop for Wallet

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source§

    impl Serialize for Wallet

    source§

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

    Trait Implementations§

    source§

    impl Clone for Wallet

    source§

    fn clone(&self) -> Wallet

    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 Wallet

    source§

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

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

    impl<'de> Deserialize<'de> for Wallet

    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 Display for Wallet

    source§

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

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

    impl Drop for Wallet

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source§

    impl Serialize for Wallet

    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 Zeroize for Wallet

    source§

    fn zeroize(&mut self)

    Zero out this object from memory using Rust intrinsics which ensure the zeroization operation is not “optimized away” by the compiler.

    Auto Trait Implementations§

    §

    impl Freeze for Wallet

    §

    impl RefUnwindSafe for Wallet

    §

    impl Send for Wallet

    §

    impl Sync for Wallet

    §

    impl Unpin for Wallet

    §

    impl UnwindSafe for Wallet

    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/search-index.js b/search-index.js index bdc8c336031..51c37a15b66 100644 --- a/search-index.js +++ b/search-index.js @@ -1,46 +1,46 @@ var searchIndex = new Map(JSON.parse('[\ ["massa_api",{"t":"FKFKFFKFMCOOOCNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNMMOOONNNNNMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNONNNNNNNNMMMMMMMMOMMMMMMMONNNNNOOCOOOCMOMHMMNNNONOMONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNHHKMMMNMMMMHHHHH","n":["API","ApiServer","ApiV2","MassaRpcServer","Private","Public","RpcServer","StopHandle","add_staking_secret_keys","api","api_settings","api_settings","api_settings","api_trait","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","consensus_broadcasts","consensus_controller","consensus_controller","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","execute_read_only_bytecode","execute_read_only_call","execution_controller","execution_controller","execution_controller","from","from","from","from","from","get_addresses","get_addresses_bytecode","get_blockclique_block_by_slot","get_blocks","get_cliques","get_datastore_entries","get_deferred_call_ids_by_slot","get_deferred_call_info","get_deferred_call_quote","get_endorsements","get_filtered_sc_output_event","get_graph_interval","get_openrpc_spec","get_operations","get_slots_transfers","get_stakers","get_staking_addresses","get_status","init","init","init","init","init","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_rpc","keypair_factory","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","new","new","new","node_add_to_bootstrap_blacklist","node_add_to_bootstrap_whitelist","node_add_to_peers_whitelist","node_ban_by_id","node_ban_by_ip","node_bootstrap_blacklist","node_bootstrap_whitelist","node_bootstrap_whitelist_allow_all","node_id","node_peers_whitelist","node_remove_from_bootstrap_blacklist","node_remove_from_bootstrap_whitelist","node_remove_from_peers_whitelist","node_sign_message","node_unban_by_id","node_unban_by_ip","node_wallet","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pool_broadcasts","pool_command_sender","private","protocol_config","protocol_controller","protocol_controller","public","remove_staking_addresses","selector_controller","send_operations","serve","serve","serve","serve","serve","serve","server_handler","stop","stop_cv","stop_node","storage","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","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","version","version","vzip","vzip","vzip","vzip","vzip","wrong_api","broadcast_via_ws","MassaApiServer","get_largest_stakers","get_next_block_best_parents","get_version","into_rpc","subscribe_new_blocks","subscribe_new_blocks_headers","subscribe_new_filled_blocks","subscribe_new_operations","get_file_len","read_ips_from_jsonfile","run_scrud_operation","write_ips_to_jsonfile","check_input_operation"],"q":[[0,"massa_api"],[181,"massa_api::api"],[182,"massa_api::api_trait"],[191,"massa_api::private"],[195,"massa_api::public"],[196,"alloc::string"],[197,"alloc::vec"],[198,"core::future::future"],[199,"alloc::boxed"],[200,"core::pin"],[201,"rkyv::with"],[202,"core::result"],[203,"massa_api_exports::execution"],[204,"massa_models::address"],[205,"massa_api_exports::address"],[206,"massa_models::slot"],[207,"massa_models::block_id"],[208,"massa_api_exports::datastore"],[209,"massa_models::endorsement"],[210,"massa_models::execution"],[211,"massa_api_exports"],[212,"massa_models::operation"],[213,"massa_api_exports::page"],[214,"core::option"],[215,"tonic::request"],[216,"jsonrpsee_core::server::rpc_module"],[217,"core::alloc::layout"],[218,"massa_consensus_exports::controller_trait"],[219,"massa_execution_exports::controller_traits"],[220,"massa_api_exports::config"],[221,"massa_pos_exports::controller_traits"],[222,"massa_pool_exports::controller_traits"],[223,"massa_protocol_exports::controller_trait"],[224,"massa_protocol_exports::settings"],[225,"massa_models::version"],[226,"massa_models::node"],[227,"massa_storage"],[228,"massa_versioning::versioning"],[229,"massa_consensus_exports::channels"],[230,"massa_pool_exports::channels"],[231,"std::sync::mutex"],[232,"std::sync::condvar"],[233,"alloc::sync"],[234,"massa_wallet"],[235,"parking_lot::rwlock"],[236,"core::net::ip_addr"],[237,"massa_api_exports::operation"],[238,"core::net::socket_addr"],[239,"jsonrpsee_core::client::error"],[240,"jsonrpsee_core"],[241,"core::any"],[242,"tokio::sync::broadcast"],[243,"jsonrpsee_core::server::subscription"],[244,"serde::ser"],[245,"core::marker"],[246,"core::clone"],[247,"std::path"],[248,"alloc::collections::btree::set"]],"i":[0,0,0,0,0,0,0,0,1,0,42,54,46,0,42,54,46,43,59,42,54,46,43,59,46,42,46,42,54,46,43,59,42,54,46,43,59,42,54,46,43,59,42,54,46,43,59,1,1,42,54,46,42,54,46,43,59,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,42,54,46,43,59,42,54,46,43,59,42,54,46,43,59,1,42,42,54,46,43,59,43,43,43,1,1,1,1,1,1,1,1,42,1,1,1,1,1,1,1,54,42,54,46,43,59,46,42,0,42,42,54,0,1,42,1,0,61,62,43,43,43,59,59,54,1,42,42,54,46,43,59,42,54,46,43,59,42,54,46,43,59,42,54,46,43,59,42,54,46,43,59,42,54,46,43,59,42,46,42,54,46,43,59,0,0,0,72,72,72,72,72,72,72,72,0,0,0,0,0],"f":"````````{{{d{b}}{h{f}}}{{n{{l{j}}}}}}`````{{{d{c}}}{{d{e}}}{}{}}0000{{{d{A`c}}}{{d{A`e}}}{}{}}0000```{Ab{{d{c}}}{}}0000{Ab{{d{A`c}}}{}}0000{{{d{c}}{d{A`e}}}{{Af{{Ad{gi}}}}}{}{}{}{}}0000{AbAh}0000{{{d{b}}{h{Aj}}}{{n{{l{j}}}}}}{{{d{b}}{h{Al}}}{{n{{l{j}}}}}}```{cc{}}0000{{{d{b}}{h{An}}}{{n{{l{j}}}}}}{{{d{b}}{h{B`}}}{{n{{l{j}}}}}}{{{d{b}}Bb}{{n{{l{j}}}}}}{{{d{b}}{h{Bd}}}{{n{{l{j}}}}}}{{{d{b}}}{{n{{l{j}}}}}}{{{d{b}}{h{Bf}}}{{n{{l{j}}}}}}{{{d{b}}{h{Bb}}}{{n{{l{j}}}}}}{{{d{b}}{h{f}}}{{n{{l{j}}}}}}{{{d{b}}{h{Bh}}}{{n{{l{j}}}}}}{{{d{b}}{h{Bj}}}{{n{{l{j}}}}}}{{{d{b}}Bl}{{n{{l{j}}}}}}{{{d{b}}Bn}{{n{{l{j}}}}}}7{{{d{b}}{h{C`}}}{{n{{l{j}}}}}}6{{{d{b}}{Cd{Cb}}}{{n{{l{j}}}}}}99{{}Ab}0000{ce{}{}}0000{c{{Cf{e}}}{}{}}0000{b{{Ch{b}}}}`{{}{{Af{CjCl}}}}0000{{{l{Cn}}{l{D`}}Db{l{Dd}}{l{Df}}{l{Dh}}DjDlDnE`Eb}{{Ef{Ed}}}}{{{l{Cn}}Eh{l{D`}}EjDbDl}{{Ef{El}}}}{{{l{Dh}}{l{D`}}Db{Ff{{Fd{{F`{En}}Fb}}}}{Ff{{Fj{Fh}}}}}{{Ef{Fl}}}}{{{d{b}}{h{Fn}}}{{n{{l{j}}}}}}00{{{d{b}}{h{Dn}}}{{n{{l{j}}}}}}1{{{d{b}}}{{n{{l{j}}}}}}00`0222{{{d{b}}{h{G`}}}{{n{{l{j}}}}}}23`{d}0000```````{{{d{b}}{h{An}}}{{n{{l{j}}}}}}`{{{d{b}}{h{Gb}}}{{n{{l{j}}}}}}{{{Ch{c}}{d{Gd}}{d{Db}}}{{Af{GfGh}}}{}}{{Gj{d{Gd}}{d{Db}}}{{n{{l{j}}}}}}{{Gl{d{Gd}}{d{Db}}}{{n{{l{j}}}}}}{{{Ef{Ed}}{d{Gd}}{d{Db}}}{{n{{l{j}}}}}}{{{Ef{Fl}}{d{Gd}}{d{Db}}}{{n{{l{j}}}}}}{{{Ef{El}}{d{Gd}}{d{Db}}}{{n{{l{j}}}}}}`{GfAh}`{{{d{b}}}{{Gn{Ah}}}}`{c{{Af{e}}}{}{}}000000000{{{d{c}}}H`{}}0000{{{l{c}}}{{l{Hb}}}{}}0000{{{d{A`c}}}{{d{A`Hb}}}{}}0000{{{d{c}}}{{d{Hb}}}{}}0000``{ce{}{}}0000{{}{{Gn{c}}}{}}{{{Hd{c}}Hf}Hh{HjHlHn}}`{{{d{I`}}{Cd{Ib}}}{{n{{l{j}}}}}}{{{d{I`}}}{{n{{l{j}}}}}}0{I`{{Ch{I`}}}}{{{d{I`}}Hf}{{n{{l{j}}}}}}000{{Id{d{If}}En}{{Gn{Ih}}}}{{Id{d{If}}}{{Gn{{h{Fn}}}}}}{{Id{h{Fn}}IfIj}{{Gn{Ah}}}}{{Id{Il{Fn}}{d{If}}}{{Gn{Ah}}}}{{Gb{d{Db}}{Cd{Bb}}}{{Gn{In}}}}","D":"Mb","p":[[10,"MassaRpcServer",0],[1,"reference"],[5,"String",196],[5,"Vec",197],[10,"Future",198],[5,"Box",199],[5,"Pin",200],[0,"mut"],[1,"usize"],[5,"With",201],[6,"Result",202],[1,"unit"],[5,"ReadOnlyBytecodeExecution",203],[5,"ReadOnlyCall",203],[6,"Address",204],[5,"AddressFilter",205],[5,"Slot",206],[6,"BlockId",207],[5,"DatastoreEntryInput",208],[5,"DeferredCallsQuoteRequest",203],[6,"EndorsementId",209],[5,"EventFilter",210],[5,"TimeInterval",211],[6,"OperationId",212],[5,"PageRequest",213],[6,"Option",214],[5,"Request",215],[5,"RpcModule",216],[5,"Layout",217],[5,"LayoutError",217],[10,"ConsensusController",218],[10,"ExecutionController",219],[5,"APIConfig",220],[10,"SelectorController",221],[10,"PoolController",222],[10,"ProtocolController",223],[5,"ProtocolConfig",224],[5,"Version",225],[5,"NodeId",226],[5,"Storage",227],[5,"MipStore",228],[5,"Public",0],[5,"API",0],[5,"ConsensusBroadcasts",229],[5,"PoolBroadcasts",230],[5,"ApiV2",0],[1,"bool"],[5,"Mutex",231],[5,"Condvar",232],[1,"tuple"],[5,"Arc",233],[5,"Wallet",234],[8,"RwLock",235],[5,"Private",0],[6,"IpAddr",236],[1,"u8"],[5,"OperationInput",237],[6,"SocketAddr",238],[5,"StopHandle",0],[6,"Error",239],[10,"RpcServer",0],[10,"ApiServer",0],[8,"RpcResult",240],[5,"TypeId",241],[10,"Any",241],[5,"Sender",242],[5,"PendingSubscriptionSink",243],[8,"SubscriptionResult",240],[10,"Serialize",244],[10,"Send",245],[10,"Clone",246],[10,"MassaApiServer",182],[5,"ApiRequest",211],[5,"PathBuf",247],[6,"ListType",211],[1,"u64"],[6,"ScrudOperation",211],[5,"BTreeSet",248],[8,"SecureShareOperation",212]],"r":[],"b":[[97,"impl-API%3CPublic%3E"],[98,"impl-API%3CApiV2%3E"],[99,"impl-API%3CPrivate%3E"],[135,"impl-RpcServer-for-API%3CPublic%3E"],[136,"impl-RpcServer-for-API%3CPrivate%3E"],[137,"impl-ApiServer-for-API%3CApiV2%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFsACgAPAAkAHAATAEwABABWAAQAXQAEAHYABACFAAAAiAADAJAAHQCwAAYA"}],\ -["massa_api_exports",{"t":"FPPPGPGPFPPCCNNNNNNNNNNNNCCNNHHOCCCNNNNNNNNNNNNNNNNCCCCOCNNCONNNNNNNNNNNNNNNNNNNFFFOOOONNNNNNOOOOONNNNNNNOOOOONNNOOOOONNNNNNNNNNNNNNNNNOOONNNOONNNNNNNNNNNNNNNNNFFFONNNNNNNNNNNNNNNOONNNNNNNNNNNNNNOONNNNNNOOOOOOOONNNONNNNNNNNNNNNNNNNNFOOOOOOOONNONNNOONOOONNNONNOOOOOOOOOOOOOOOOOOOOOONNNNNFFONNNNONNNNNNNNONNNNNNNNNNNONNNNNNNNNNNNNFNNNNNNONNNNOOONNONNNNNNNGPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNPFFFFPFPPFFGFGOOOONNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNNNNNNNNNNNNNNNNNNNOOOOOOOOOONNNNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNONNNNNONNNNNNONNNNNNNFNNONNNOOOOOONONNNNNNOOOOOOOONNNNNNONFFNNNNNNNONNNNNNNNOOONNNNOOONNOOONNNNNNNNNNFFFONNNNNNNNNNNNONNNNNNNNNNNNNNONOONNNNNONNNNNNNNNNNNFONNONNNNNONNNNNNNNNNNNNFONNNNNNNNNNNNONNNNN","n":["ApiRequest","Blacklist","Create","Delete","ListType","Read","ScrudOperation","Search","TimeInterval","Update","Whitelist","address","block","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","clone_to_uninit","config","datastore","deserialize","deserialize","display_if_true","display_option_bool","end","endorsement","error","execution","fmt","fmt","fmt","from","from","from","from","from_ref","into","into","into","into","into_request","into_request","into_request","into_request","ledger","node","operation","page","page_request","rolls","serialize","serialize","slot","start","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","vzip","vzip","vzip","vzip","AddressFilter","AddressInfo","CompactAddressInfo","active_rolls","address","address","address","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","candidate_balance","candidate_balance","candidate_datastore_keys","candidate_roll_count","candidate_rolls","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","compact","created_blocks","created_endorsements","created_operations","cycle_infos","deferred_credits","deserialize","deserialize","deserialize","final_balance","final_balance","final_datastore_keys","final_roll_count","final_rolls","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from_ref","from_ref","into","into","into","into_request","into_request","into_request","is_final","next_block_draws","next_endorsement_draws","serialize","serialize","serialize","thread","thread","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","BlockInfo","BlockInfoContent","BlockSummary","block","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","content","creator","deserialize","deserialize","deserialize","fmt","fmt","fmt","fmt","fmt","from","from","from","from_ref","from_ref","from_ref","id","id","into","into","into","into_request","into_request","into_request","is_candidate","is_discarded","is_final","is_final","is_in_blockclique","is_in_blockclique","is_stale","parents","serialize","serialize","serialize","slot","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","APIConfig","allow_hosts","base_operation_gas_cost","batch_request_limit","bind_api","bind_private","bind_public","bootstrap_blacklist_path","bootstrap_whitelist_path","borrow","borrow_mut","chain_id","clone","clone_into","clone_to_uninit","deferred_calls_config","deferred_credits_delta","deserialize","draw_lookahead_period_count","enable_http","enable_ws","fmt","from","from_ref","genesis_timestamp","into","into_request","keypair","last_start_period","max_arguments","max_connections","max_datastore_value_length","max_function_name_length","max_gas_per_block","max_log_length","max_op_datastore_entry_count","max_op_datastore_key_length","max_op_datastore_value_length","max_parameter_size","max_request_body_size","max_response_body_size","max_subscriptions_per_connection","minimal_fees","openrpc_spec_path","periods_per_cycle","ping_interval","sp_compilation_cost","t0","thread_count","to_owned","try_from","try_into","type_id","vzip","DatastoreEntryInput","DatastoreEntryOutput","address","borrow","borrow","borrow_mut","borrow_mut","candidate_value","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","deserialize","deserialize","final_value","fmt","fmt","fmt","from","from","from_ref","from_ref","into","into","into_request","into_request","key","serialize","serialize","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","EndorsementInfo","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deserialize","endorsement","fmt","fmt","from","from_ref","id","in_blocks","in_pool","into","into_request","is_final","serialize","to_owned","to_string","try_from","try_into","type_id","vzip","ApiError","BadRequest","ConsensusError","ExecutionError","FactoryError","InconsistencyError","InternalServerError","MassaHashError","MissingCommandSender","MissingConfig","ModelsError","NotFound","ProtocolError","ReceiveChannelError","SendChannelError","TimeError","WalletError","WrongAPI","borrow","borrow_mut","fmt","fmt","from","from","from","from","from","from","into","into_request","source","to_string","try_from","try_into","type_id","vzip","ASC","DeferredCallResponse","DeferredCallsQuoteRequest","DeferredCallsQuoteResponse","DeferredCallsSlotResponse","Error","ExecuteReadOnlyResponse","Ok","Operation","ReadOnlyBytecodeExecution","ReadOnlyCall","ReadOnlyResult","Transfer","TransferContext","address","amount","available","block_id","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","bytecode","call","call_id","call_ids","caller_address","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","context","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","effective_amount_received","executed_at","fee","fee","fee","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","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","gas_cost","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","max_gas","max_gas","max_gas_request","max_gas_request","operation_datastore","output_events","parameter","params_size","price","result","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","slot","state_changes","succeed","target_address","target_function","target_slot","target_slot","to","to_owned","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_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","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","LedgerInfo","borrow","borrow_mut","candidate_ledger_info","clone","clone_into","clone_to_uninit","clone_to_uninit","deserialize","final_ledger_info","fmt","fmt","from","from_ref","into","into_request","locked_balance","serialize","to_owned","to_string","try_from","try_into","type_id","vzip","NodeStatus","borrow","borrow_mut","chain_id","clone","clone_into","clone_to_uninit","config","connected_nodes","consensus_stats","current_cycle","current_cycle_time","current_time","deserialize","execution_stats","fmt","fmt","from","from_ref","into","into_request","last_slot","minimal_fees","network_stats","next_cycle_time","next_slot","node_id","node_ip","pool_stats","serialize","to_owned","to_string","try_from","try_into","type_id","version","vzip","OperationInfo","OperationInput","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","creator_public_key","deserialize","deserialize","fmt","fmt","fmt","from","from","from_ref","id","in_blocks","in_pool","into","into","into_request","into_request","is_operation_final","op_exec_status","operation","serialize","serialize","serialized_content","signature","thread","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","PageRequest","PagedVec","PagedVecV2","_total_count","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","content","deserialize","deserialize","from","from","from","from","from_ref","from_ref","into","into","into","into_request","into_request","into_request","limit","new","offset","res","serialize","serialize","serialize","to_owned","to_owned","total_count","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","RollsInfo","active_rolls","borrow","borrow_mut","candidate_rolls","clone","clone_into","clone_to_uninit","clone_to_uninit","deserialize","final_rolls","fmt","fmt","from","from_ref","into","into_request","serialize","to_owned","to_string","try_from","try_into","type_id","vzip","SlotAmount","amount","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deserialize","fmt","from","from_ref","into","into_request","serialize","slot","to_owned","try_from","try_into","type_id","vzip"],"q":[[0,"massa_api_exports"],[80,"massa_api_exports::address"],[160,"massa_api_exports::block"],[232,"massa_api_exports::config"],[286,"massa_api_exports::datastore"],[328,"massa_api_exports::endorsement"],[353,"massa_api_exports::error"],[389,"massa_api_exports::execution"],[611,"massa_api_exports::ledger"],[635,"massa_api_exports::node"],[672,"massa_api_exports::operation"],[715,"massa_api_exports::page"],[768,"massa_api_exports::rolls"],[792,"massa_api_exports::slot"],[812,"core::result"],[813,"serde::de"],[814,"alloc::string"],[815,"core::option"],[816,"core::fmt"],[817,"tonic::request"],[818,"serde::ser"],[819,"core::any"],[820,"massa_models::error"],[821,"massa_versioning::versioning_factory"],[822,"massa_hash::error"],[823,"massa_time::error"],[824,"massa_wallet::error"],[825,"core::error"],[826,"core::clone"],[827,"alloc::vec"]],"i":[0,16,14,14,0,14,0,14,0,14,16,0,0,3,14,16,7,3,14,16,7,3,3,3,3,0,0,3,7,0,0,3,0,0,0,3,14,16,3,14,16,7,3,3,14,16,7,3,14,16,7,0,0,0,0,7,0,3,7,0,3,3,14,16,3,14,16,7,3,14,16,7,3,14,16,7,3,14,16,7,0,0,0,22,20,22,21,20,22,21,20,22,21,20,22,20,20,22,20,21,20,21,20,21,20,20,20,20,20,20,20,22,21,20,22,20,20,22,20,20,22,22,21,21,20,22,21,20,21,20,22,21,20,22,21,21,20,20,20,22,21,20,22,20,21,20,22,21,20,22,21,20,22,21,20,22,21,20,22,21,0,0,0,24,23,24,25,23,24,25,23,24,25,23,24,25,23,24,25,23,25,23,24,25,23,23,24,25,25,23,24,25,23,24,25,23,25,23,24,25,23,24,25,24,24,24,25,24,25,25,25,23,24,25,25,23,24,25,23,25,23,24,25,23,24,25,23,24,25,23,24,25,0,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,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,0,0,27,27,28,27,28,28,27,28,27,28,27,28,27,28,28,27,28,28,27,28,27,28,27,28,27,28,27,27,28,27,28,28,27,28,27,28,27,28,27,28,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,0,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,0,0,0,0,37,0,37,41,0,0,0,0,0,39,42,44,42,37,38,39,40,41,42,43,44,45,46,37,38,39,40,41,42,43,44,45,46,39,45,45,46,40,37,38,39,40,41,42,43,44,45,46,37,38,39,40,41,42,43,44,45,46,37,38,39,40,41,42,43,44,45,46,40,42,37,38,39,40,41,42,43,44,45,46,42,38,39,40,42,37,38,38,39,40,41,42,43,44,45,46,37,38,39,40,41,42,43,44,45,46,42,37,38,39,40,41,42,43,44,45,46,38,37,38,39,40,41,42,43,44,45,46,37,38,39,40,41,42,43,44,45,46,39,40,43,44,39,38,40,43,44,38,37,38,39,40,41,42,43,44,45,46,46,38,42,40,40,43,44,42,37,38,39,40,41,42,43,44,45,46,38,37,38,39,40,41,42,43,44,45,46,37,38,39,40,41,42,43,44,45,46,37,38,39,40,41,42,43,44,45,46,37,38,39,40,41,42,43,44,45,46,0,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,0,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,0,0,50,49,50,49,49,49,49,50,50,49,50,49,49,50,49,49,49,49,49,50,49,50,49,49,49,49,50,49,50,50,49,49,49,50,49,50,49,50,49,50,49,0,0,0,51,51,54,53,51,54,53,51,53,51,53,51,53,53,54,53,51,54,53,53,51,53,51,54,53,51,54,53,54,51,54,51,51,54,53,51,53,53,51,54,53,51,54,53,51,54,53,51,54,53,0,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,0,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59],"f":"`````````````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{{b{f}}}f}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}0``{c{{j{f}}}l}{c{{j{n}}}l}{{A`{b{Ab}}}Ad}{{{Af{A`}}{b{Ab}}{b{Ab}}{b{Ab}}}Ad}````{{{b{f}}{b{dAh}}}Aj}{{{b{Al}}{b{dAh}}}{{j{hAn}}}}{{{b{B`}}{b{dAh}}}{{j{hAn}}}}{cc{}}000{{{b{c}}}c{}}{ce{}{}}000{c{{Bb{e}}}{}{}}000``````{{{b{f}}c}jBd}{{{b{n}}c}jBd}``{{{b{c}}}e{}{}}{{{b{c}}}Ad{}}0{c{{j{e}}}{}{}}0000000{{{b{c}}}Bf{}}0007777```````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00`````{{{b{Bh}}}Bh}{{{b{Bj}}}Bj}{{{b{c}}{b{de}}}h{}{}}0{{{b{c}}}h{}}0{{{b{Bh}}}Bl}`````{c{{j{Bh}}}l}{c{{j{Bl}}}l}{c{{j{Bj}}}l}`````{{{b{Bh}}{b{dAh}}}Aj}0{{{b{Bl}}{b{dAh}}}Aj}0{{{b{Bj}}{b{dAh}}}Aj}0{cc{}}00{{{b{c}}}c{}}0{ce{}{}}00{c{{Bb{e}}}{}{}}00```{{{b{Bh}}c}jBd}{{{b{Bl}}c}jBd}{{{b{Bj}}c}jBd}``{{{b{c}}}e{}{}}0{{{b{c}}}Ad{}}00{c{{j{e}}}{}{}}00000{{{b{c}}}Bf{}}00888````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{Bn}}}Bn}{{{b{C`}}}C`}{{{b{Cb}}}Cb}{{{b{c}}{b{de}}}h{}{}}00{{{b{c}}}h{}}00``{c{{j{Bn}}}l}{c{{j{C`}}}l}{c{{j{Cb}}}l}{{{b{Bn}}{b{dAh}}}Aj}0{{{b{C`}}{b{dAh}}}Aj}{{{b{Cb}}{b{dAh}}}Aj}0{cc{}}00{{{b{c}}}c{}}00``{ce{}{}}00{c{{Bb{e}}}{}{}}00````````{{{b{Bn}}c}jBd}{{{b{C`}}c}jBd}{{{b{Cb}}c}jBd}`{{{b{c}}}e{}{}}00{{{b{c}}}Ad{}}0{c{{j{e}}}{}{}}00000{{{b{c}}}Bf{}}00888`````````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{{{b{Cd}}}Cd}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}``{c{{j{Cd}}}l}```{{{b{Cd}}{b{dAh}}}Aj}{cc{}}{{{b{c}}}c{}}`{ce{}{}}{c{{Bb{e}}}{}{}}``````````````````````><<;1```::99`{{{b{Cf}}}Cf}{{{b{Ch}}}Ch}9988{c{{j{Cf}}}l}{c{{j{Ch}}}l}`{{{b{Cf}}{b{dAh}}}Aj}{{{b{Ch}}{b{dAh}}}Aj}099887766`{{{b{Cf}}c}jBd}{{{b{Ch}}c}jBd}{{{b{c}}}e{}{}}0{{{b{c}}}Ad{}}{c{{j{e}}}{}{}}000{{{b{c}}}Bf{}}0==`{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{Cj}}}Cj}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{c{{j{Cj}}}l}`{{{b{Cj}}{b{dAh}}}Aj}0{cc{}}{{{b{c}}}c{}}```{ce{}{}}{c{{Bb{e}}}{}{}}`{{{b{Cj}}c}jBd}?>==<2``````````````````;:{{{b{Cl}}{b{dAh}}}Aj}0{CnCl}{D`Cl}{DbCl}8{DdCl}{DfCl}87{{{b{Cl}}}{{Af{{b{Dh}}}}}}{{{b{c}}}Ad{}}{c{{j{e}}}{}{}}0{{{b{c}}}Bf{}}<``````````````````{{{b{c}}}{{b{e}}}{}{}}000000000{{{b{dc}}}{{b{de}}}{}{}}000000000`````{{{b{Dj}}}Dj}{{{b{Dl}}}Dl}{{{b{Dn}}}Dn}{{{b{E`}}}E`}{{{b{Eb}}}Eb}{{{b{Ed}}}Ed}{{{b{Ef}}}Ef}{{{b{Eh}}}Eh}{{{b{Ej}}}Ej}{{{b{El}}}El}{{{b{c}}{b{de}}}h{}{}}000000000{{{b{c}}}h{}}000000000``{c{{j{Dj}}}l}{c{{j{Dl}}}l}{c{{j{Dn}}}l}{c{{j{E`}}}l}{c{{j{Eb}}}l}{c{{j{Ed}}}l}{c{{j{Ef}}}l}{c{{j{Eh}}}l}{c{{j{Ej}}}l}{c{{j{El}}}l}`````{{{b{Dj}}{b{dAh}}}Aj}{{{b{Dl}}{b{dAh}}}Aj}0{{{b{Dn}}{b{dAh}}}Aj}{{{b{E`}}{b{dAh}}}Aj}{{{b{Eb}}{b{dAh}}}Aj}{{{b{Ed}}{b{dAh}}}Aj}{{{b{Ef}}{b{dAh}}}Aj}{{{b{Eh}}{b{dAh}}}Aj}{{{b{Ej}}{b{dAh}}}Aj}{{{b{El}}{b{dAh}}}Aj}{cc{}}000000000`{{{b{c}}}c{}}000000000`{ce{}{}}000000000{c{{Bb{e}}}{}{}}000000000``````````{{{b{Dj}}c}jBd}{{{b{Dl}}c}jBd}{{{b{Dn}}c}jBd}{{{b{E`}}c}jBd}{{{b{Eb}}c}jBd}{{{b{Ed}}c}jBd}{{{b{Ef}}c}jBd}{{{b{Eh}}c}jBd}{{{b{Ej}}c}jBd}{{{b{El}}c}jBd}````````{{{b{c}}}e{}{}}000000000{{{b{c}}}Ad{}}{c{{j{e}}}{}{}}0000000000000000000{{{b{c}}}Bf{}}000000000??????????`{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{{{b{En}}}En}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}0{c{{j{En}}}l}`{{{b{En}}{b{dAh}}}Aj}0{cc{}}{{{b{c}}}c{}}{ce{}{}}{c{{Bb{e}}}{}{}}`{{{b{En}}c}jBd}?>==<2`;:`{{{b{F`}}}F`}98``````{c{{j{F`}}}l}`{{{b{F`}}{b{dAh}}}Aj}07654````````{{{b{F`}}c}jBd}{{{b{c}}}e{}{}}{{{b{c}}}Ad{}}{c{{j{e}}}{}{}}0{{{b{c}}}Bf{}}`:``{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{Fb}}}Fb}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}`{c{{j{Fd}}}l}{c{{j{Fb}}}l}{{{b{Fd}}{b{dAh}}}Aj}{{{b{Fb}}{b{dAh}}}Aj}0{cc{}}0{{{b{c}}}c{}}```{ce{}{}}0{c{{Bb{e}}}{}{}}0```{{{b{Fd}}c}jBd}{{{b{Fb}}c}jBd}```{{{b{c}}}e{}{}}{{{b{c}}}Ad{}}{c{{j{e}}}{}{}}000{{{b{c}}}Bf{}}077````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{Ff{c}}}}}{{Ff{c}}}Fh}{{{b{{Fj{c}}}}}{{Fj{c}}}Fh}{{{b{c}}{b{de}}}h{}{}}0{{{b{c}}}h{}}0`{c{{j{Fl}}}l}{c{{j{{Fj{e}}}}}lFn}{cc{}}0{{{Ff{c}}}{{Fj{c}}}{}}1{{{b{c}}}c{}}0{ce{}{}}00{c{{Bb{e}}}{}{}}00`{{{G`{c}}{Af{Fl}}}{{Ff{c}}}Gb}``{{{b{{Ff{c}}}}e}jGbBd}{{{b{Fl}}c}jBd}{{{b{{Fj{c}}}}e}jGbBd}{{{b{c}}}e{}{}}0`{c{{j{e}}}{}{}}00000{{{b{c}}}Bf{}}00888``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{{{b{Gd}}}Gd}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}0{c{{j{Gd}}}l}`{{{b{Gd}}{b{dAh}}}Aj}0{cc{}}{{{b{c}}}c{}}{ce{}{}}{c{{Bb{e}}}{}{}}{{{b{Gd}}c}jBd}>{{{b{c}}}Ad{}}>>=3``<;{{{b{Gf}}}Gf}:9{c{{j{Gf}}}l}{{{b{Gf}}{b{dAh}}}Aj}8765{{{b{Gf}}c}jBd}`{{{b{c}}}e{}{}}{c{{j{e}}}{}{}}0{{{b{c}}}Bf{}}:","D":"BFh","p":[[1,"reference"],[0,"mut"],[5,"TimeInterval",0],[1,"unit"],[6,"Result",812],[10,"Deserializer",813],[5,"ApiRequest",0],[1,"bool"],[1,"str"],[5,"String",814],[6,"Option",815],[5,"Formatter",816],[8,"Result",816],[6,"ScrudOperation",0],[5,"Error",816],[6,"ListType",0],[5,"Request",817],[10,"Serializer",818],[5,"TypeId",819],[5,"AddressInfo",80],[5,"AddressFilter",80],[5,"CompactAddressInfo",80],[5,"BlockInfo",160],[5,"BlockInfoContent",160],[5,"BlockSummary",160],[5,"APIConfig",232],[5,"DatastoreEntryInput",286],[5,"DatastoreEntryOutput",286],[5,"EndorsementInfo",328],[6,"ApiError",353],[6,"ModelsError",820],[6,"FactoryError",821],[6,"MassaHashError",822],[6,"TimeError",823],[6,"WalletError",824],[10,"Error",825],[6,"ReadOnlyResult",389],[5,"ExecuteReadOnlyResponse",389],[5,"ReadOnlyBytecodeExecution",389],[5,"ReadOnlyCall",389],[6,"TransferContext",389],[5,"Transfer",389],[5,"DeferredCallsQuoteRequest",389],[5,"DeferredCallsQuoteResponse",389],[5,"DeferredCallResponse",389],[5,"DeferredCallsSlotResponse",389],[5,"LedgerInfo",611],[5,"NodeStatus",635],[5,"OperationInfo",672],[5,"OperationInput",672],[5,"PagedVec",715],[10,"Clone",826],[5,"PagedVecV2",715],[5,"PageRequest",715],[10,"Deserialize",813],[5,"Vec",827],[10,"Serialize",818],[5,"RollsInfo",768],[5,"SlotAmount",792]],"r":[],"b":[[118,"impl-Debug-for-AddressInfo"],[119,"impl-Display-for-AddressInfo"],[120,"impl-Debug-for-CompactAddressInfo"],[121,"impl-Display-for-CompactAddressInfo"],[122,"impl-Debug-for-AddressFilter"],[123,"impl-Display-for-AddressFilter"],[184,"impl-Display-for-BlockInfo"],[185,"impl-Debug-for-BlockInfo"],[187,"impl-Display-for-BlockSummary"],[188,"impl-Debug-for-BlockSummary"],[304,"impl-Debug-for-DatastoreEntryOutput"],[305,"impl-Display-for-DatastoreEntryOutput"],[336,"impl-Debug-for-EndorsementInfo"],[337,"impl-Display-for-EndorsementInfo"],[373,"impl-Display-for-ApiError"],[374,"impl-Debug-for-ApiError"],[375,"impl-From%3CModelsError%3E-for-ApiError"],[376,"impl-From%3CFactoryError%3E-for-ApiError"],[377,"impl-From%3CMassaHashError%3E-for-ApiError"],[379,"impl-From%3CTimeError%3E-for-ApiError"],[380,"impl-From%3CWalletError%3E-for-ApiError"],[480,"impl-Debug-for-ExecuteReadOnlyResponse"],[481,"impl-Display-for-ExecuteReadOnlyResponse"],[621,"impl-Display-for-LedgerInfo"],[622,"impl-Debug-for-LedgerInfo"],[650,"impl-Debug-for-NodeStatus"],[651,"impl-Display-for-NodeStatus"],[685,"impl-Debug-for-OperationInfo"],[686,"impl-Display-for-OperationInfo"],[779,"impl-Debug-for-RollsInfo"],[780,"impl-Display-for-RollsInfo"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAPgBVAAOAAsAHAABACQAAgArAAAAMAADADoAAQA+ABIAWAAFAGMABQBvAAIAdwAFAIAAAQCFAAIAiwACAJAAEAClAA4AtgAHAMEAAgDJAAIA1AACANgAEADyAAEA9QACAPoAAAD+AAAAAAEAAAMBAAAaAQQAIgEDACcBBwAwAQIANQEBADkBAQA8AQwASgEFAFEBAQBUAQAAWQEAAFsBBgB0AQYAfAEBAH8BBgCYARMAsQEdANEBCQDgAQoA9gEJAAsCCQAfAgkAMQIyAGUCAQBoAgQAbgIBAHECAABzAgAAdQIGAH0CAQCAAgIAiQIAAIsCAQCOAgAAkAIAAJkCBQCgAgAAowIGAKsCBACyAgAAuAIBAL0CAQDCAgkAzwIPAOECAADjAgEA6AICAO4CEgADAwEABgMEAAwDAQAPAwAAEQMHABsDBgAjAwAAJQMBACgDBAA="}],\ +["massa_api_exports",{"t":"FPPPGPGPFPPCCNNNNNNNNNNNNCCNNHHOCCCNNNNNNNNNNNNNNNNCCCCOCNNCONNNNNNNNNNNNNNNNNNNFFFOOOONNNNNNOOOOONNNNNNNOOOOONNNOOOOONNNNNNNNNNNNNNNNNOOONNNOONNNNNNNNNNNNNNNNNFFFONNNNNNNNNNNNNNNOONNNNNNNNNNNNNNOONNNNNNOOOOOOOONNNONNNNNNNNNNNNNNNNNFOOOOOOOONNONNNOONOOONNNONNOOOOOOOOOOOOOOOOOOOOOONNNNNFFONNNNONNNNNNNNONNNNNNNNNNNONNNNNNNNNNNNNFNNNNNNONNNNOOONNONNNNNNNGPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNPFFFFPFPPFFGFGOOOONNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNNNNNNNNNNNNNNNNNNNOOOOOOOOOONNNNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNONNNNNONNNNNNONNNNNNNFNNONNNOOOOOOONONNNNNNOOOOOOOONNNNNNONFFNNNNNNNONNNNNNNNOOONNNNOOONNOOONNNNNNNNNNFFFONNNNNNNNNNNNONNNNNNNNNNNNNNONOONNNNNONNNNNNNNNNNNFONNONNNNNONNNNNNNNNNNNNFONNNNNNNNNNNNONNNNN","n":["ApiRequest","Blacklist","Create","Delete","ListType","Read","ScrudOperation","Search","TimeInterval","Update","Whitelist","address","block","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","clone_to_uninit","config","datastore","deserialize","deserialize","display_if_true","display_option_bool","end","endorsement","error","execution","fmt","fmt","fmt","from","from","from","from","from_ref","into","into","into","into","into_request","into_request","into_request","into_request","ledger","node","operation","page","page_request","rolls","serialize","serialize","slot","start","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","vzip","vzip","vzip","vzip","AddressFilter","AddressInfo","CompactAddressInfo","active_rolls","address","address","address","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","candidate_balance","candidate_balance","candidate_datastore_keys","candidate_roll_count","candidate_rolls","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","compact","created_blocks","created_endorsements","created_operations","cycle_infos","deferred_credits","deserialize","deserialize","deserialize","final_balance","final_balance","final_datastore_keys","final_roll_count","final_rolls","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from_ref","from_ref","into","into","into","into_request","into_request","into_request","is_final","next_block_draws","next_endorsement_draws","serialize","serialize","serialize","thread","thread","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","BlockInfo","BlockInfoContent","BlockSummary","block","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","content","creator","deserialize","deserialize","deserialize","fmt","fmt","fmt","fmt","fmt","from","from","from","from_ref","from_ref","from_ref","id","id","into","into","into","into_request","into_request","into_request","is_candidate","is_discarded","is_final","is_final","is_in_blockclique","is_in_blockclique","is_stale","parents","serialize","serialize","serialize","slot","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","APIConfig","allow_hosts","base_operation_gas_cost","batch_request_limit","bind_api","bind_private","bind_public","bootstrap_blacklist_path","bootstrap_whitelist_path","borrow","borrow_mut","chain_id","clone","clone_into","clone_to_uninit","deferred_calls_config","deferred_credits_delta","deserialize","draw_lookahead_period_count","enable_http","enable_ws","fmt","from","from_ref","genesis_timestamp","into","into_request","keypair","last_start_period","max_arguments","max_connections","max_datastore_value_length","max_function_name_length","max_gas_per_block","max_log_length","max_op_datastore_entry_count","max_op_datastore_key_length","max_op_datastore_value_length","max_parameter_size","max_request_body_size","max_response_body_size","max_subscriptions_per_connection","minimal_fees","openrpc_spec_path","periods_per_cycle","ping_interval","sp_compilation_cost","t0","thread_count","to_owned","try_from","try_into","type_id","vzip","DatastoreEntryInput","DatastoreEntryOutput","address","borrow","borrow","borrow_mut","borrow_mut","candidate_value","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","deserialize","deserialize","final_value","fmt","fmt","fmt","from","from","from_ref","from_ref","into","into","into_request","into_request","key","serialize","serialize","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","EndorsementInfo","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deserialize","endorsement","fmt","fmt","from","from_ref","id","in_blocks","in_pool","into","into_request","is_final","serialize","to_owned","to_string","try_from","try_into","type_id","vzip","ApiError","BadRequest","ConsensusError","ExecutionError","FactoryError","InconsistencyError","InternalServerError","MassaHashError","MissingCommandSender","MissingConfig","ModelsError","NotFound","ProtocolError","ReceiveChannelError","SendChannelError","TimeError","WalletError","WrongAPI","borrow","borrow_mut","fmt","fmt","from","from","from","from","from","from","into","into_request","source","to_string","try_from","try_into","type_id","vzip","ASC","DeferredCallResponse","DeferredCallsQuoteRequest","DeferredCallsQuoteResponse","DeferredCallsSlotResponse","Error","ExecuteReadOnlyResponse","Ok","Operation","ReadOnlyBytecodeExecution","ReadOnlyCall","ReadOnlyResult","Transfer","TransferContext","address","amount","available","block_id","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","bytecode","call","call_id","call_ids","caller_address","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","context","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","effective_amount_received","executed_at","fee","fee","fee","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","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","gas_cost","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","max_gas","max_gas","max_gas_request","max_gas_request","operation_datastore","output_events","parameter","params_size","price","result","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","slot","state_changes","succeed","target_address","target_function","target_slot","target_slot","to","to_owned","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_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","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","LedgerInfo","borrow","borrow_mut","candidate_ledger_info","clone","clone_into","clone_to_uninit","clone_to_uninit","deserialize","final_ledger_info","fmt","fmt","from","from_ref","into","into_request","locked_balance","serialize","to_owned","to_string","try_from","try_into","type_id","vzip","NodeStatus","borrow","borrow_mut","chain_id","clone","clone_into","clone_to_uninit","config","connected_nodes","consensus_stats","current_cycle","current_cycle_time","current_mip_version","current_time","deserialize","execution_stats","fmt","fmt","from","from_ref","into","into_request","last_slot","minimal_fees","network_stats","next_cycle_time","next_slot","node_id","node_ip","pool_stats","serialize","to_owned","to_string","try_from","try_into","type_id","version","vzip","OperationInfo","OperationInput","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","creator_public_key","deserialize","deserialize","fmt","fmt","fmt","from","from","from_ref","id","in_blocks","in_pool","into","into","into_request","into_request","is_operation_final","op_exec_status","operation","serialize","serialize","serialized_content","signature","thread","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","PageRequest","PagedVec","PagedVecV2","_total_count","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","content","deserialize","deserialize","from","from","from","from","from_ref","from_ref","into","into","into","into_request","into_request","into_request","limit","new","offset","res","serialize","serialize","serialize","to_owned","to_owned","total_count","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","RollsInfo","active_rolls","borrow","borrow_mut","candidate_rolls","clone","clone_into","clone_to_uninit","clone_to_uninit","deserialize","final_rolls","fmt","fmt","from","from_ref","into","into_request","serialize","to_owned","to_string","try_from","try_into","type_id","vzip","SlotAmount","amount","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deserialize","fmt","from","from_ref","into","into_request","serialize","slot","to_owned","try_from","try_into","type_id","vzip"],"q":[[0,"massa_api_exports"],[80,"massa_api_exports::address"],[160,"massa_api_exports::block"],[232,"massa_api_exports::config"],[286,"massa_api_exports::datastore"],[328,"massa_api_exports::endorsement"],[353,"massa_api_exports::error"],[389,"massa_api_exports::execution"],[611,"massa_api_exports::ledger"],[635,"massa_api_exports::node"],[673,"massa_api_exports::operation"],[716,"massa_api_exports::page"],[769,"massa_api_exports::rolls"],[793,"massa_api_exports::slot"],[813,"core::result"],[814,"serde::de"],[815,"alloc::string"],[816,"core::option"],[817,"core::fmt"],[818,"tonic::request"],[819,"serde::ser"],[820,"core::any"],[821,"massa_wallet::error"],[822,"massa_models::error"],[823,"massa_time::error"],[824,"massa_hash::error"],[825,"massa_versioning::versioning_factory"],[826,"core::error"],[827,"core::clone"],[828,"alloc::vec"]],"i":[0,16,14,14,0,14,0,14,0,14,16,0,0,3,14,16,7,3,14,16,7,3,3,3,3,0,0,3,7,0,0,3,0,0,0,3,14,16,3,14,16,7,3,3,14,16,7,3,14,16,7,0,0,0,0,7,0,3,7,0,3,3,14,16,3,14,16,7,3,14,16,7,3,14,16,7,3,14,16,7,0,0,0,22,20,22,21,20,22,21,20,22,21,20,22,20,20,22,20,21,20,21,20,21,20,20,20,20,20,20,20,22,21,20,22,20,20,22,20,20,22,22,21,21,20,22,21,20,21,20,22,21,20,22,21,21,20,20,20,22,21,20,22,20,21,20,22,21,20,22,21,20,22,21,20,22,21,20,22,21,0,0,0,24,23,24,25,23,24,25,23,24,25,23,24,25,23,24,25,23,25,23,24,25,23,23,24,25,25,23,24,25,23,24,25,23,25,23,24,25,23,24,25,24,24,24,25,24,25,25,25,23,24,25,25,23,24,25,23,25,23,24,25,23,24,25,23,24,25,23,24,25,0,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,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,0,0,27,27,28,27,28,28,27,28,27,28,27,28,27,28,28,27,28,28,27,28,27,28,27,28,27,28,27,27,28,27,28,28,27,28,27,28,27,28,27,28,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,0,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,41,0,0,0,0,37,0,37,41,0,0,0,0,0,39,42,44,42,37,38,39,40,41,42,43,44,45,46,37,38,39,40,41,42,43,44,45,46,39,45,45,46,40,37,38,39,40,41,42,43,44,45,46,37,38,39,40,41,42,43,44,45,46,37,38,39,40,41,42,43,44,45,46,40,42,37,38,39,40,41,42,43,44,45,46,42,38,39,40,42,37,38,38,39,40,41,42,43,44,45,46,37,38,39,40,41,42,43,44,45,46,42,37,38,39,40,41,42,43,44,45,46,38,37,38,39,40,41,42,43,44,45,46,37,38,39,40,41,42,43,44,45,46,39,40,43,44,39,38,40,43,44,38,37,38,39,40,41,42,43,44,45,46,46,38,42,40,40,43,44,42,37,38,39,40,41,42,43,44,45,46,38,37,38,39,40,41,42,43,44,45,46,37,38,39,40,41,42,43,44,45,46,37,38,39,40,41,42,43,44,45,46,37,38,39,40,41,42,43,44,45,46,0,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,0,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,0,0,50,49,50,49,49,49,49,50,50,49,50,49,49,50,49,49,49,49,49,50,49,50,49,49,49,49,50,49,50,50,49,49,49,50,49,50,49,50,49,50,49,0,0,0,51,51,54,53,51,54,53,51,53,51,53,51,53,53,54,53,51,54,53,53,51,53,51,54,53,51,54,53,54,51,54,51,51,54,53,51,53,53,51,54,53,51,54,53,51,54,53,51,54,53,0,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,0,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59],"f":"`````````````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{{b{f}}}f}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}0``{c{{j{f}}}l}{c{{j{n}}}l}{{A`{b{Ab}}}Ad}{{{Af{A`}}{b{Ab}}{b{Ab}}{b{Ab}}}Ad}````{{{b{f}}{b{dAh}}}Aj}{{{b{Al}}{b{dAh}}}{{j{hAn}}}}{{{b{B`}}{b{dAh}}}{{j{hAn}}}}{cc{}}000{{{b{c}}}c{}}{ce{}{}}000{c{{Bb{e}}}{}{}}000``````{{{b{f}}c}jBd}{{{b{n}}c}jBd}``{{{b{c}}}e{}{}}{{{b{c}}}Ad{}}0{c{{j{e}}}{}{}}0000000{{{b{c}}}Bf{}}0007777```````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00`````{{{b{Bh}}}Bh}{{{b{Bj}}}Bj}{{{b{c}}{b{de}}}h{}{}}0{{{b{c}}}h{}}0{{{b{Bh}}}Bl}`````{c{{j{Bh}}}l}{c{{j{Bl}}}l}{c{{j{Bj}}}l}`````{{{b{Bh}}{b{dAh}}}Aj}0{{{b{Bl}}{b{dAh}}}Aj}0{{{b{Bj}}{b{dAh}}}Aj}0{cc{}}00{{{b{c}}}c{}}0{ce{}{}}00{c{{Bb{e}}}{}{}}00```{{{b{Bh}}c}jBd}{{{b{Bl}}c}jBd}{{{b{Bj}}c}jBd}``{{{b{c}}}e{}{}}0{{{b{c}}}Ad{}}00{c{{j{e}}}{}{}}00000{{{b{c}}}Bf{}}00888````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{Bn}}}Bn}{{{b{C`}}}C`}{{{b{Cb}}}Cb}{{{b{c}}{b{de}}}h{}{}}00{{{b{c}}}h{}}00``{c{{j{Bn}}}l}{c{{j{C`}}}l}{c{{j{Cb}}}l}{{{b{Bn}}{b{dAh}}}Aj}0{{{b{C`}}{b{dAh}}}Aj}{{{b{Cb}}{b{dAh}}}Aj}0{cc{}}00{{{b{c}}}c{}}00``{ce{}{}}00{c{{Bb{e}}}{}{}}00````````{{{b{Bn}}c}jBd}{{{b{C`}}c}jBd}{{{b{Cb}}c}jBd}`{{{b{c}}}e{}{}}00{{{b{c}}}Ad{}}0{c{{j{e}}}{}{}}00000{{{b{c}}}Bf{}}00888`````````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{{{b{Cd}}}Cd}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}``{c{{j{Cd}}}l}```{{{b{Cd}}{b{dAh}}}Aj}{cc{}}{{{b{c}}}c{}}`{ce{}{}}{c{{Bb{e}}}{}{}}``````````````````````><<;1```::99`{{{b{Cf}}}Cf}{{{b{Ch}}}Ch}9988{c{{j{Cf}}}l}{c{{j{Ch}}}l}`{{{b{Cf}}{b{dAh}}}Aj}{{{b{Ch}}{b{dAh}}}Aj}099887766`{{{b{Cf}}c}jBd}{{{b{Ch}}c}jBd}{{{b{c}}}e{}{}}0{{{b{c}}}Ad{}}{c{{j{e}}}{}{}}000{{{b{c}}}Bf{}}0==`{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{Cj}}}Cj}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{c{{j{Cj}}}l}`{{{b{Cj}}{b{dAh}}}Aj}0{cc{}}{{{b{c}}}c{}}```{ce{}{}}{c{{Bb{e}}}{}{}}`{{{b{Cj}}c}jBd}?>==<2``````````````````;:{{{b{Cl}}{b{dAh}}}Aj}0{CnCl}{D`Cl}7{DbCl}{DdCl}{DfCl}87{{{b{Cl}}}{{Af{{b{Dh}}}}}}{{{b{c}}}Ad{}}{c{{j{e}}}{}{}}0{{{b{c}}}Bf{}}<``````````````````{{{b{c}}}{{b{e}}}{}{}}000000000{{{b{dc}}}{{b{de}}}{}{}}000000000`````{{{b{Dj}}}Dj}{{{b{Dl}}}Dl}{{{b{Dn}}}Dn}{{{b{E`}}}E`}{{{b{Eb}}}Eb}{{{b{Ed}}}Ed}{{{b{Ef}}}Ef}{{{b{Eh}}}Eh}{{{b{Ej}}}Ej}{{{b{El}}}El}{{{b{c}}{b{de}}}h{}{}}000000000{{{b{c}}}h{}}000000000``{c{{j{Dj}}}l}{c{{j{Dl}}}l}{c{{j{Dn}}}l}{c{{j{E`}}}l}{c{{j{Eb}}}l}{c{{j{Ed}}}l}{c{{j{Ef}}}l}{c{{j{Eh}}}l}{c{{j{Ej}}}l}{c{{j{El}}}l}`````{{{b{Dj}}{b{dAh}}}Aj}{{{b{Dl}}{b{dAh}}}Aj}0{{{b{Dn}}{b{dAh}}}Aj}{{{b{E`}}{b{dAh}}}Aj}{{{b{Eb}}{b{dAh}}}Aj}{{{b{Ed}}{b{dAh}}}Aj}{{{b{Ef}}{b{dAh}}}Aj}{{{b{Eh}}{b{dAh}}}Aj}{{{b{Ej}}{b{dAh}}}Aj}{{{b{El}}{b{dAh}}}Aj}{cc{}}000000000`{{{b{c}}}c{}}000000000`{ce{}{}}000000000{c{{Bb{e}}}{}{}}000000000``````````{{{b{Dj}}c}jBd}{{{b{Dl}}c}jBd}{{{b{Dn}}c}jBd}{{{b{E`}}c}jBd}{{{b{Eb}}c}jBd}{{{b{Ed}}c}jBd}{{{b{Ef}}c}jBd}{{{b{Eh}}c}jBd}{{{b{Ej}}c}jBd}{{{b{El}}c}jBd}````````{{{b{c}}}e{}{}}000000000{{{b{c}}}Ad{}}{c{{j{e}}}{}{}}0000000000000000000{{{b{c}}}Bf{}}000000000??????????`{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{{{b{En}}}En}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}0{c{{j{En}}}l}`{{{b{En}}{b{dAh}}}Aj}0{cc{}}{{{b{c}}}c{}}{ce{}{}}{c{{Bb{e}}}{}{}}`{{{b{En}}c}jBd}?>==<2`;:`{{{b{F`}}}F`}98```````{c{{j{F`}}}l}`{{{b{F`}}{b{dAh}}}Aj}07654````````{{{b{F`}}c}jBd}{{{b{c}}}e{}{}}{{{b{c}}}Ad{}}{c{{j{e}}}{}{}}0{{{b{c}}}Bf{}}`:``{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{Fb}}}Fb}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}`{c{{j{Fd}}}l}{c{{j{Fb}}}l}{{{b{Fd}}{b{dAh}}}Aj}{{{b{Fb}}{b{dAh}}}Aj}0{cc{}}0{{{b{c}}}c{}}```{ce{}{}}0{c{{Bb{e}}}{}{}}0```{{{b{Fd}}c}jBd}{{{b{Fb}}c}jBd}```{{{b{c}}}e{}{}}{{{b{c}}}Ad{}}{c{{j{e}}}{}{}}000{{{b{c}}}Bf{}}077````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{{Ff{c}}}}}{{Ff{c}}}Fh}{{{b{{Fj{c}}}}}{{Fj{c}}}Fh}{{{b{c}}{b{de}}}h{}{}}0{{{b{c}}}h{}}0`{c{{j{Fl}}}l}{c{{j{{Fj{e}}}}}lFn}{cc{}}00{{{Ff{c}}}{{Fj{c}}}{}}{{{b{c}}}c{}}0{ce{}{}}00{c{{Bb{e}}}{}{}}00`{{{G`{c}}{Af{Fl}}}{{Ff{c}}}Gb}``{{{b{{Ff{c}}}}e}jGbBd}{{{b{Fl}}c}jBd}{{{b{{Fj{c}}}}e}jGbBd}{{{b{c}}}e{}{}}0`{c{{j{e}}}{}{}}00000{{{b{c}}}Bf{}}00888``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{{{b{Gd}}}Gd}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}0{c{{j{Gd}}}l}`{{{b{Gd}}{b{dAh}}}Aj}0{cc{}}{{{b{c}}}c{}}{ce{}{}}{c{{Bb{e}}}{}{}}{{{b{Gd}}c}jBd}>{{{b{c}}}Ad{}}>>=3``<;{{{b{Gf}}}Gf}:9{c{{j{Gf}}}l}{{{b{Gf}}{b{dAh}}}Aj}8765{{{b{Gf}}c}jBd}`{{{b{c}}}e{}{}}{c{{j{e}}}{}{}}0{{{b{c}}}Bf{}}:","D":"BFj","p":[[1,"reference"],[0,"mut"],[5,"TimeInterval",0],[1,"unit"],[6,"Result",813],[10,"Deserializer",814],[5,"ApiRequest",0],[1,"bool"],[1,"str"],[5,"String",815],[6,"Option",816],[5,"Formatter",817],[8,"Result",817],[6,"ScrudOperation",0],[5,"Error",817],[6,"ListType",0],[5,"Request",818],[10,"Serializer",819],[5,"TypeId",820],[5,"AddressInfo",80],[5,"AddressFilter",80],[5,"CompactAddressInfo",80],[5,"BlockInfo",160],[5,"BlockInfoContent",160],[5,"BlockSummary",160],[5,"APIConfig",232],[5,"DatastoreEntryInput",286],[5,"DatastoreEntryOutput",286],[5,"EndorsementInfo",328],[6,"ApiError",353],[6,"WalletError",821],[6,"ModelsError",822],[6,"TimeError",823],[6,"MassaHashError",824],[6,"FactoryError",825],[10,"Error",826],[6,"ReadOnlyResult",389],[5,"ExecuteReadOnlyResponse",389],[5,"ReadOnlyBytecodeExecution",389],[5,"ReadOnlyCall",389],[6,"TransferContext",389],[5,"Transfer",389],[5,"DeferredCallsQuoteRequest",389],[5,"DeferredCallsQuoteResponse",389],[5,"DeferredCallResponse",389],[5,"DeferredCallsSlotResponse",389],[5,"LedgerInfo",611],[5,"NodeStatus",635],[5,"OperationInfo",673],[5,"OperationInput",673],[5,"PagedVec",716],[10,"Clone",827],[5,"PagedVecV2",716],[5,"PageRequest",716],[10,"Deserialize",814],[5,"Vec",828],[10,"Serialize",819],[5,"RollsInfo",769],[5,"SlotAmount",793]],"r":[],"b":[[118,"impl-Debug-for-AddressInfo"],[119,"impl-Display-for-AddressInfo"],[120,"impl-Display-for-CompactAddressInfo"],[121,"impl-Debug-for-CompactAddressInfo"],[122,"impl-Display-for-AddressFilter"],[123,"impl-Debug-for-AddressFilter"],[184,"impl-Debug-for-BlockInfo"],[185,"impl-Display-for-BlockInfo"],[187,"impl-Debug-for-BlockSummary"],[188,"impl-Display-for-BlockSummary"],[304,"impl-Debug-for-DatastoreEntryOutput"],[305,"impl-Display-for-DatastoreEntryOutput"],[336,"impl-Display-for-EndorsementInfo"],[337,"impl-Debug-for-EndorsementInfo"],[373,"impl-Debug-for-ApiError"],[374,"impl-Display-for-ApiError"],[375,"impl-From%3CWalletError%3E-for-ApiError"],[376,"impl-From%3CModelsError%3E-for-ApiError"],[378,"impl-From%3CTimeError%3E-for-ApiError"],[379,"impl-From%3CMassaHashError%3E-for-ApiError"],[380,"impl-From%3CFactoryError%3E-for-ApiError"],[480,"impl-Debug-for-ExecuteReadOnlyResponse"],[481,"impl-Display-for-ExecuteReadOnlyResponse"],[621,"impl-Debug-for-LedgerInfo"],[622,"impl-Display-for-LedgerInfo"],[651,"impl-Display-for-NodeStatus"],[652,"impl-Debug-for-NodeStatus"],[686,"impl-Display-for-OperationInfo"],[687,"impl-Debug-for-OperationInfo"],[780,"impl-Debug-for-RollsInfo"],[781,"impl-Display-for-RollsInfo"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAPgBUwAOAAsAHAABACQAAgArAAAAMAADADoAAQA+ABIAWAAFAGMABQBvAAIAdwAFAIAAAQCFAAIAiwACAJAAEAClAA4AtgAHAMEAAgDJAAIA1AACANgAEADyAAEA9QACAPoAAAD+AAAAAAEAAAMBAAAaAQQAIgEDACcBBwAwAQIANQEBADkBAQA8AQwASgEFAFEBAQBUAQAAWQEAAFsBBgB0AQUAewECAH8BBgCYARMAsQEdANEBCQDgAQoA9gEJAAsCCQAfAgkAMQIyAGUCAQBoAgQAbgIBAHECAABzAgAAdQIGAH0CAQCAAgIAigIAAIwCAQCPAgAAkQIAAJoCBQChAgAApAIGAKwCBACzAgAAuQIBAL4CAQDDAgkA0AIPAOMCAgDpAgIA7wISAAQDAQAHAwQADQMBABADAAASAwcAHAMGACQDAAAmAwEAKQMEAA=="}],\ ["massa_async_pool",{"t":"FFIFFFFFFFFFFFFFFOOOOOOOOOOOOOOOOQCOOQCOOOOOOQOOOOQOOQOOQOOOOOQOOOQOOOOOCOOOOOOQOOCOOQOOOOCOOQOOOOOOOOOOOQOOOOOOOOOQOOOQFFFNONNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNOONNNNNNNNNNONNNFNNNNNNNNNNOOOOONNNNNFFIFFFFFFFFFFOOOOOOOOOOONNNOOOONNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONONNNNNNONNNNNNNOOOOOOOOONNNNNNNNNNNNNNNNNNNNOONNNNOOOONNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNOOONNNNNNNOOOOOONNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOONNNNNNNNNNNNFFFSSSSSSSSSSSSSNOOOONNNNNNNNNOONNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNOONNNN","n":["AsyncMessage","AsyncMessageDeserializer","AsyncMessageId","AsyncMessageIdDeserializer","AsyncMessageIdSerializer","AsyncMessageInfo","AsyncMessageSerializer","AsyncMessageTrigger","AsyncMessageTriggerSerializer","AsyncMessageUpdate","AsyncPool","AsyncPoolChanges","AsyncPoolChangesDeserializer","AsyncPoolChangesSerializer","AsyncPoolConfig","AsyncPoolDeserializer","AsyncPoolSerializer","address","address_deserializer","address_serializer","address_serializer","amount_deserializer","amount_serializer","async_message_deserializer_db","async_message_id_deserializer","async_message_id_serializer","async_message_serializer","async_pool_changes_length","bool_deserializer","bool_serializer","can_be_executed","can_be_executed","can_be_executed","can_be_executed_key","changes","coins","coins","coins_key","config","config","datastore_key","db","denominator_deserializer","destination","destination","destination_key","emission_index","emission_index","emission_index_deserializer","emission_index_deserializer","emission_index_key","emission_slot","emission_slot","emission_slot_key","fee","fee","fee_key","for_db","for_db","function","function","function_deserializer","function_key","function_params","function_params","function_params_deserializer","function_params_key","function_params_serializer","function_serializer","id_deserializer","id_serializer","key_serializer","mapping_grpc","max_function_length","max_function_params_length","max_gas","max_gas","max_gas","max_gas_deserializer","max_gas_key","max_key_length","max_length","message","message_deserializer_db","message_id_deserializer","message_id_prefix","message_id_serializer","message_info_cache","message_serializer","numerator_deserializer","pool","sender","sender","sender_key","set_update_or_delete_message_deserializer","set_update_or_delete_message_serializer","slot_deserializer","slot_deserializer","slot_serializer","slot_serializer","thread_count","trigger","trigger","trigger","trigger_deserializer","trigger_key","trigger_serializer","u64_deserializer","u64_serializer","u64_serializer","u64_serializer","u64_serializer","validity_end","validity_end","validity_end","validity_end_key","validity_start","validity_start","validity_start","validity_start_key","AsyncPoolChanges","AsyncPoolChangesDeserializer","AsyncPoolChangesSerializer","apply","async_pool_changes_length","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","id_deserializer","id_serializer","into","into","into","into_request","into_request","into_request","new","new","push_activate","push_add","push_delete","serialize","serialize","set_update_or_delete_message_deserializer","set_update_or_delete_message_serializer","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","u64_serializer","vzip","vzip","vzip","AsyncPoolConfig","borrow","borrow_mut","clone","clone_into","clone_to_uninit","fmt","from","from_ref","into","into_request","max_function_length","max_function_params_length","max_key_length","max_length","thread_count","to_owned","try_from","try_into","type_id","vzip","AsyncMessage","AsyncMessageDeserializer","AsyncMessageId","AsyncMessageIdDeserializer","AsyncMessageIdSerializer","AsyncMessageInfo","AsyncMessageSerializer","AsyncMessageTrigger","AsyncMessageTriggerDeserializer","AsyncMessageTriggerSerializer","AsyncMessageUpdate","AsyncMessageUpdateDeserializer","AsyncMessageUpdateSerializer","address","address_deserializer","address_deserializer","address_deserializer","address_serializer","address_serializer","address_serializer","amount_deserializer","amount_deserializer","amount_serializer","amount_serializer","apply","apply","apply","bool_deserializer","bool_deserializer","bool_serializer","bool_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","can_be_executed","can_be_executed","can_be_executed","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","compute_id","datastore_key","default","default","default","default","default","default","denominator_deserializer","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","destination","destination","emission_index","emission_index","emission_index_deserializer","emission_index_deserializer","emission_index_deserializer","emission_slot","emission_slot","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fee","fee","fmt","fmt","fmt","fmt","for_db","for_db","for_db","for_db","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","function","function","function_deserializer","function_deserializer","function_params","function_params","function_params_deserializer","function_params_deserializer","function_params_serializer","function_params_serializer","function_serializer","function_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","key_serializer","key_serializer","max_gas","max_gas","max_gas","max_gas_deserializer","max_gas_deserializer","new","new","new","new","new","new","new","new","new","numerator_deserializer","sender","sender","serialize","serialize","serialize","serialize","serialize","serialize","serialize","slot_deserializer","slot_deserializer","slot_deserializer","slot_serializer","slot_serializer","slot_serializer","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","trigger","trigger","trigger","trigger_deserializer","trigger_deserializer","trigger_serializer","trigger_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","u64_serializer","u64_serializer","u64_serializer","validity_end","validity_end","validity_end","validity_start","validity_start","validity_start","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","AsyncPool","AsyncPoolDeserializer","AsyncPoolSerializer","CAN_BE_EXECUTED_IDENT","COINS_IDENT","DESTINATION_IDENT","EMISSION_INDEX_IDENT","EMISSION_SLOT_IDENT","FEE_IDENT","FUNCTION_IDENT","FUNCTION_PARAMS_IDENT","MAX_GAS_IDENT","SENDER_IDENT","TRIGGER_IDENT","VALIDITY_END_IDENT","VALIDITY_START_IDENT","apply_changes_to_batch","async_message_deserializer_db","async_message_id_deserializer","async_message_id_serializer","async_message_serializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","config","db","default","delete_entry","deserialize","fetch_message","fetch_messages","from","from","from","from_ref","into","into","into","into_request","into_request","into_request","is_key_value_valid","message_deserializer_db","message_id_deserializer","message_id_serializer","message_info_cache","message_serializer","new","new","new","put_entry","recompute_message_info_cache","reset","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","u64_deserializer","u64_serializer","update_entry","vzip","vzip","vzip"],"q":[[0,"massa_async_pool"],[120,"massa_async_pool::changes"],[179,"massa_async_pool::config"],[200,"massa_async_pool::message"],[510,"massa_async_pool::pool"],[586,"nom::internal"],[587,"nom::error"],[588,"core::result"],[589,"serde::de"],[590,"core::fmt"],[591,"tonic::request"],[592,"alloc::vec"],[593,"massa_serialization"],[594,"serde::ser"],[595,"core::any"],[596,"massa_models::slot"],[597,"massa_models::address"],[598,"alloc::string"],[599,"massa_models::amount"],[600,"core::option"],[601,"massa_db_exports::db_batch"],[602,"alloc::collections::btree::map"],[603,"massa_db_exports::controller"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,36,33,35,36,35,47,47,46,46,6,36,35,22,29,28,0,0,22,28,0,0,44,32,44,31,22,28,0,22,28,31,36,0,22,28,0,22,28,0,35,36,22,28,36,0,22,28,36,0,35,35,6,5,33,0,27,27,22,29,28,36,0,27,27,0,44,44,0,44,44,44,31,0,22,28,0,6,5,31,36,30,35,27,22,29,28,36,0,35,47,5,46,30,35,22,29,28,0,22,29,28,0,0,0,0,2,6,5,6,2,5,6,2,2,2,2,5,2,6,2,2,2,2,2,2,2,5,6,2,2,6,5,5,6,2,5,6,2,5,6,2,2,2,5,2,6,5,2,5,6,2,5,6,2,5,6,2,5,5,6,2,0,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,0,0,0,0,0,0,0,0,0,0,0,0,0,32,38,34,36,37,33,35,38,36,37,35,22,29,28,38,36,37,35,37,38,30,31,32,33,34,22,35,36,29,28,37,38,30,31,32,33,34,22,35,36,29,28,22,29,28,30,31,32,33,34,22,35,36,29,28,30,31,32,33,34,22,35,36,29,28,30,31,32,33,34,22,35,36,29,28,22,28,22,32,37,30,33,22,35,28,31,38,31,32,34,22,36,28,22,28,22,28,38,31,36,22,28,32,22,29,28,32,32,32,32,22,22,22,22,29,29,29,29,28,28,28,28,22,28,32,22,29,28,37,38,35,36,37,38,30,31,32,33,34,22,35,36,29,29,28,30,31,32,33,34,22,35,36,29,28,22,28,38,36,22,28,38,36,37,35,37,35,37,38,30,31,32,33,34,22,35,36,29,28,37,38,30,31,32,33,34,22,35,36,29,28,33,34,22,29,28,38,36,37,38,30,31,33,34,22,35,36,31,22,28,37,30,32,33,22,35,28,38,31,36,37,30,35,30,31,32,33,34,22,35,36,29,28,22,29,28,38,36,37,35,37,38,30,31,32,33,34,22,35,36,29,28,37,38,30,31,32,33,34,22,35,36,29,28,37,38,30,31,32,33,34,22,35,36,29,28,37,30,35,22,29,28,22,29,28,37,38,30,31,32,33,34,22,35,36,29,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,47,47,46,46,46,47,44,46,47,44,44,44,44,44,44,46,44,47,44,44,46,47,44,44,46,47,44,46,47,44,44,44,44,44,44,44,46,47,44,44,44,44,46,44,46,47,44,46,47,44,46,47,44,47,46,44,46,47,44],"f":"```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````{{{f{bd}}d}h}`{{{f{c}}}{{f{e}}}{}{}}00{{{f{bc}}}{{f{be}}}{}{}}00{{{f{d}}}d}{{{f{c}}{f{be}}}h{}{}}{{{f{c}}}h{}}{{}j}{{}d}{{{f{l}}{f{{A`{n}}}}}{{Ab{{f{{A`{n}}}}dc}}}{{Ad{{f{{A`{n}}}}}}{Af{{f{{A`{n}}}}}}}}{c{{Ah{d}}}Aj}{{{f{d}}{f{d}}}Al}{{{f{c}}{f{e}}}Al{}{}}000{{{f{d}}{f{bAn}}}B`}{cc{}}00{{{f{c}}}c{}}``{ce{}{}}00{c{{Bb{e}}}{}{}}00:{{nBdBfBdBh}l}{{{f{bd}}Bj}h}{{{f{bd}}BjBl}h}1{{{f{j}}{f{d}}{f{b{Bn{n}}}}}{{Ah{hC`}}}}{{{f{d}}c}AhCb}``{{{f{c}}}e{}{}}{c{{Ah{e}}}{}{}}00000{{{f{c}}}Cd{}}00`999`{{{f{c}}}{{f{e}}}{}{}}{{{f{bc}}}{{f{be}}}{}{}}{{{f{Cf}}}Cf}{{{f{c}}{f{be}}}h{}{}}{{{f{c}}}h{}}{{{f{Cf}}{f{bAn}}}B`}{cc{}}{{{f{c}}}c{}}{ce{}{}}{c{{Bb{e}}}{}{}}`````<;;:1````````````````````````{{{f{bBl}}Ch}h}{{{f{bCj}}Ch}h}{{{f{bCh}}Ch}h}````<<<<<<<<<<<<;;;;;;;;;;;;```{{{f{Cl}}}Cl}{{{f{Cn}}}Cn}{{{f{D`}}}D`}{{{f{Db}}}Db}{{{f{Dd}}}Dd}{{{f{Bl}}}Bl}{{{f{Df}}}Df}{{{f{Dh}}}Dh}{{{f{Cj}}}Cj}{{{f{Ch}}}Ch}{{{f{c}}{f{be}}}h{}{}}000000000{{{f{c}}}h{}}000000000``{{{f{Bl}}}Bj}`{{}Dj}{{}Cl}{{}Db}{{}Bl}{{}Df}{{}Ch}`{{{f{Dl}}{f{{A`{n}}}}}{{Ab{{f{{A`{n}}}}Chc}}}{{Ad{{f{{A`{n}}}}}}{Af{{f{{A`{n}}}}}}}}{{{f{Cn}}{f{{A`{n}}}}}{{Ab{{f{{A`{n}}}}Bjc}}}{{Ad{{f{{A`{n}}}}}}{Af{{f{{A`{n}}}}}}}}{c{{Ah{D`}}}Aj}{{{f{Dd}}{f{{A`{n}}}}}{{Ab{{f{{A`{n}}}}D`c}}}{{Ad{{f{{A`{n}}}}}}{Af{{f{{A`{n}}}}}}}}{c{{Ah{Bl}}}Aj}{{{f{Dh}}{f{{A`{n}}}}}{{Ab{{f{{A`{n}}}}Blc}}}{{Ad{{f{{A`{n}}}}}}{Af{{f{{A`{n}}}}}}}}{c{{Ah{Ch}}}Aj}`````````{{{f{D`}}{f{D`}}}Al}{{{f{Bl}}{f{Bl}}}Al}{{{f{Cj}}{f{Cj}}}Al}{{{f{Ch}}{f{Ch}}}Al}{{{f{c}}{f{e}}}Al{}{}}000000000000000``{{{f{D`}}{f{bAn}}}B`}{{{f{Bl}}{f{bAn}}}B`}{{{f{Cj}}{f{bAn}}}B`}{{{f{Ch}}{f{bAn}}}B`}````{cc{}}0000000000{BlCj}1{{{f{c}}}c{}}000000000````````````{ce{}{}}00000000000{c{{Bb{e}}}{}{}}00000000000```````{AlDj}{{nBfBdBhAl}Dl}{{}Cl}{nCn}{{}Db}{BhDd}{{DnBdE`E`EbBdEdEdDnDn{Bn{n}}{Ef{D`}}{Ef{Al}}}Bl}{AlDf}{{nBfBdBhAl}Dh}```{{{f{Dj}}{f{Ch}}{f{b{Bn{n}}}}}{{Ah{hC`}}}}{{{f{Cl}}{f{Bj}}{f{b{Bn{n}}}}}{{Ah{hC`}}}}{{{f{D`}}c}AhCb}{{{f{Db}}{f{D`}}{f{b{Bn{n}}}}}{{Ah{hC`}}}}{{{f{Bl}}c}AhCb}{{{f{Df}}{f{Bl}}{f{b{Bn{n}}}}}{{Ah{hC`}}}}{{{f{Ch}}c}AhCb}``````{{{f{c}}}e{}{}}000000000```````{c{{Ah{e}}}{}{}}00000000000000000000000{{{f{c}}}Cd{}}00000000000`````````{ce{}{}}00000000000````````````````{{{f{bEh}}{f{d}}{f{bEj}}}h}````{{{f{c}}}{{f{e}}}{}{}}00{{{f{bc}}}{{f{be}}}{}{}}00{{{f{Eh}}}Eh}{{{f{c}}{f{be}}}h{}{}}{{{f{c}}}h{}}``{{}El}{{{f{Eh}}{f{Bj}}{f{bEj}}}h}{{{f{En}}{f{{A`{n}}}}}{{Ab{{f{{A`{n}}}}{F`{BjBl}}c}}}{{Ad{{f{{A`{n}}}}}}{Af{{f{{A`{n}}}}}}}}{{{f{Eh}}{f{Bj}}}{{Ef{Bl}}}}{{{f{Eh}}{Bn{{f{Bj}}}}}{{Bn{{Fb{{f{Bj}}{Ef{Bl}}}}}}}}{cc{}}00{{{f{c}}}c{}}==={c{{Bb{e}}}{}{}}00{{{f{Eh}}{f{{A`{n}}}}{f{{A`{n}}}}}Al}`````8{{nBdBfBdBh}En}{{CfFd}Eh}{{{f{Eh}}{f{Bj}}Bl{f{bEj}}}h}{{{f{bEh}}}h}0{{{f{El}}{f{{F`{BjBl}}}}{f{b{Bn{n}}}}}{{Ah{hC`}}}}{{{f{c}}}e{}{}}{c{{Ah{e}}}{}{}}00000{{{f{c}}}Cd{}}00``{{{f{Eh}}{f{Bj}}Ch{f{bEj}}}h}{ce{}{}}00","D":"AFb","p":[[0,"mut"],[5,"AsyncPoolChanges",120],[1,"reference"],[1,"unit"],[5,"AsyncPoolChangesSerializer",120],[5,"AsyncPoolChangesDeserializer",120],[1,"u8"],[1,"slice"],[8,"IResult",586],[10,"ParseError",587],[10,"ContextError",587],[6,"Result",588],[10,"Deserializer",589],[1,"bool"],[5,"Formatter",590],[8,"Result",590],[5,"Request",591],[1,"u64"],[1,"u16"],[1,"u32"],[8,"AsyncMessageId",200],[5,"AsyncMessage",200],[5,"Vec",592],[6,"SerializeError",593],[10,"Serializer",594],[5,"TypeId",595],[5,"AsyncPoolConfig",179],[5,"AsyncMessageUpdate",200],[5,"AsyncMessageInfo",200],[5,"AsyncMessageIdSerializer",200],[5,"AsyncMessageIdDeserializer",200],[5,"AsyncMessageTrigger",200],[5,"AsyncMessageTriggerSerializer",200],[5,"AsyncMessageTriggerDeserializer",200],[5,"AsyncMessageSerializer",200],[5,"AsyncMessageDeserializer",200],[5,"AsyncMessageUpdateSerializer",200],[5,"AsyncMessageUpdateDeserializer",200],[5,"Slot",596],[6,"Address",597],[5,"String",598],[5,"Amount",599],[6,"Option",600],[5,"AsyncPool",510],[8,"DBBatch",601],[5,"AsyncPoolSerializer",510],[5,"AsyncPoolDeserializer",510],[5,"BTreeMap",602],[1,"tuple"],[8,"ShareableMassaDBController",603]],"r":[[0,200],[1,200],[2,200],[3,200],[4,200],[5,200],[6,200],[7,200],[8,200],[9,200],[10,510],[11,120],[12,120],[13,120],[14,179],[15,510],[16,510]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJkBRAACAAAABAADAA0AAAATAAsAIAAAACoAAQAxAAEAOgABAD4AAABCAAAARAAFAE0AAABPAAAAVAABAFcAAwBfAAUAZwAAAGkAAABrAAUAcgAAAHYAAAB6AAAAfQATAJQAAgCaAAQAogARALUABQC8AAAAvgAAAMQABADKAAAAzAADANcACQDkABsAAQEAAAMBHQAlAQcALgECADIBAAA3AQIAPAETAFIBBwBlAQAAZwEJAHMBAQB3AQUAiQENAJgBAACaAQEAngEDAKMBAgCoAQAAqgECAK4BEADAAQAAwgEqAO4BAADxAQAA8wELAAICDAAQAgwAHgIBACECAAAnAgAAKwICAC8CBAA6AgwASAICAA=="}],\ -["massa_bootstrap",{"t":"PPPGFFFGPPPFPPGFFFPFPPPFPPPFPPPPPPGPPPPPPPPPPPPPPPPPCOOOOOOOOOOOOONNOOOCOOOONNNNOOCOONHOONNNOONOOOCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCOONOOOOOOOOOOONOOOOOOCOCOOOOHOOOOOOOOCNNNOOONNNOOOOOONCOOOOOOOOOOOOOOOOOOOOKKCNCMMNFSFNNNNONNNNNNNNNONNNNNNNNNNNNNONNNNONNONNNONNNNNNNNNNNNONNNNFFSNNNNNNNNNNNNNNONNNNNNNNNNNNNOOOONNNNOONNONNNNNONNNNNNNNNNNNOONNNNOKFHNNMNHNNNNHNNHHNNNNNHHNNNNNNNHPGPPPPPPPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFSPGSPNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNPPPPGFFPPPPPPPGFFPPPPPPGGPPPNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNOOOOOOOONNNNNNNNNNOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNOOOOOOOOOOOOOOOOOFFONNNNONNNNNNNNONONNNNNNNNNOONNOOHONNNOHNHHNHNNNNNNNNNNNNOOONNOOFFFFPPPGNNNNOOOOONNNNNNNNNNOOOONNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOHHFFNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOON","n":["AskBootstrapPart","AskBootstrapPeers","BlackListed","BootstrapClientMessage","BootstrapClientMessageDeserializer","BootstrapClientMessageSerializer","BootstrapConfig","BootstrapError","BootstrapError","BootstrapError","BootstrapFinished","BootstrapManager","BootstrapPart","BootstrapPeers","BootstrapServerMessage","BootstrapServerMessageDeserializer","BootstrapServerMessageDeserializerArgs","BootstrapServerMessageSerializer","BootstrapSuccess","BootstrapTcpListener","BootstrapTime","Both","ClockError","DefaultConnector","DeserializeError","FinalStateError","GeneralError","GlobalBootstrapState","IPv4","IPv6","IncompatibleVersionError","InitListError","Interrupted","IoError","IpType","MassaConsensusError","MassaHashError","MassaSignatureError","MissingKeyError","ModelsError","PoSError","ProtocolError","ReceivedError","SerializationError","SerializeError","SlotTooOld","TimeError","TimedOut","UnexpectedClientMessage","UnexpectedConnectionDrop","UnexpectedServerMessage","WhiteListed","bindings","block_id_set_deserializer","block_id_set_serializer","block_ids_step_deserializer","block_ids_step_serializer","bool_deserializer","bool_serializer","bootstrap_blacklist_path","bootstrap_list","bootstrap_protocol","bootstrap_timeout","bootstrap_whitelist_path","bootstrapable_graph_deserializer","bootstrapable_graph_serializer","borrow","borrow_mut","cache_duration","chain_id","chain_id","client","connect_timeout","consensus_bootstrap_part_size","datastore_key_deserializer","datastore_val_deserializer","deref","deref_mut","deserialize","drop","endorsement_count","endorsement_count","error","events","final_state","from","get_state","graph","id_deserializer","init","into","into_request","ip_list_max_size","keep_ledger","layout_raw","length_bootstrap_error","length_error_deserializer","listen_addr","listener","listener_stopper","main_handle","max_advertise_length","max_advertise_length","max_bootstrap_blocks_length","max_bootstrap_blocks_length","max_bootstrap_error_length","max_bootstrap_error_length","max_changes_slot_count","max_changes_slot_count","max_clock_delta","max_consensus_block_ids","max_credits_length","max_credits_length","max_datastore_entry_count","max_datastore_entry_count","max_datastore_key_length","max_datastore_key_length","max_datastore_value_length","max_datastore_value_length","max_denunciation_changes_length","max_denunciation_changes_length","max_denunciations_per_block_header","max_denunciations_per_block_header","max_executed_ops_length","max_executed_ops_length","max_final_state_elements_size","max_final_state_elements_size","max_function_name_length","max_ledger_changes_count","max_ledger_changes_count","max_listeners_per_peer","max_listeners_per_peer","max_op_datastore_entry_count","max_op_datastore_key_length","max_op_datastore_value_length","max_operations_per_block","max_operations_per_block","max_ops_changes_length","max_ops_changes_length","max_parameters_size","max_ping","max_production_stats_length","max_production_stats_length","max_rolls_length","max_rolls_length","max_simultaneous_bootstraps","max_versioning_elements_size","max_versioning_elements_size","message_id_deserializer","messages","mip_store_stats_block_considered","mip_store_stats_block_considered","new","opt_last_slot_before_downtime_deserializer","opt_last_slot_before_downtime_serializer","opt_last_start_period_deserializer","opt_last_start_period_serializer","opt_vec_u8_deserializer","opt_vec_u8_serializer","peers","peers_deserializer","peers_serializer","per_ip_min_interval","periods_per_cycle","pointer_metadata","poll","randomness_size_bytes","rate_limit","read_error_timeout","read_timeout","retry_delay","server","server","settings","slot_deserializer","slot_deserializer","slot_serializer","slot_serializer","start_bootstrap_server","state_new_elements_length_deserializer","state_step_deserializer","state_step_serializer","stream_batch_updates_length_deserializer","thread_count","thread_count","time_deserializer","time_serializer","tools","try_from","try_into","type_id","u32_serializer","u32_serializer","u64_serializer","upcast_any_box","upcast_any_mut","upcast_any_ref","update_handle","update_stopper_tx","vec_u8_serializer","version_deserializer","version_serializer","versioning_part_new_elements_length_deserializer","vzip","white_black_list","white_black_list","write_error_timeout","write_timeout","error","last_consensus_step","last_slot","last_state_step","last_versioning_step","send_last_start_period","consensus_outdated_ids","consensus_part","error","last_slot_before_downtime","last_start_period","peers","server_time","slot","state_part","version","versioning_part","BindingReadExact","BindingWriteExact","client","read_exact_timeout","server","set_read_timeout","set_write_timeout","write_all_timeout","BootstrapClientBinder","KNOWN_PREFIX_LEN","ServerMessageLeader","borrow","borrow","borrow_mut","borrow_mut","cfg","decode_msg_leader","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","duplex","flush","flush","from","from","handshake","init","init","into","into","into_request","into_request","layout_raw","layout_raw","msg_len","new","next_timeout","pointer_metadata","pointer_metadata","prev_message","read","read_exact","remote_pubkey","send_timeout","set_read_timeout","set_write_timeout","sig","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","version_serializer","vzip","vzip","write","write_all","BootstrapServerBinder","ClientMessageLeader","KNOWN_PREFIX_LEN","borrow","borrow","borrow_mut","borrow_mut","close_and_send_error","decode_message_leader","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","duplex","flush","flush","from","from","handshake_timeout","init","init","into","into","into_request","into_request","layout_raw","layout_raw","local_keypair","max_consensus_block_ids","max_datastore_key_length","msg_len","new","next_timeout","pointer_metadata","pointer_metadata","prev_message","randomness_size_bytes","read","read_exact","received_prev_hash","send_error_timeout","send_msg","send_timeout","set_read_timeout","set_write_timeout","thread_count","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","version_deserializer","version_serializer","vzip","vzip","write","write_all","write_error_timeout","BSConnector","DefaultConnector","bootstrap_from_server","borrow","borrow_mut","connect_timeout","connect_timeout","connect_to_server","deref","deref_mut","deserialize","drop","filter_bootstrap_list","fmt","from","get_bootstrap_list_iter","get_state","init","into","into_request","layout_raw","pointer_metadata","send_client_message","stream_final_state_and_consensus","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","warn_user_about_versioning_updates","BlackListed","BootstrapError","ClockError","DeserializeError","FinalStateError","GeneralError","IncompatibleVersionError","InitListError","Interrupted","IoError","MassaConsensusError","MassaHashError","MassaSignatureError","MissingKeyError","ModelsError","PoSError","ProtocolError","ReceivedError","SerializationError","SerializeError","TimeError","TimedOut","UnexpectedClientMessage","UnexpectedConnectionDrop","UnexpectedServerMessage","WhiteListed","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","pointer_metadata","source","to_string","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","BootstrapListenerStopHandle","BootstrapTcpListener","NEW_CONNECTION","NewConnections","PollEvent","STOP_LISTENER","Stop","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","create","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","events","from","from","from","init","init","init","into","into","into","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","pointer_metadata","pointer_metadata","pointer_metadata","poll","poll","server","stop","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","AskBootstrapPart","AskBootstrapPeers","AskBootstrapPeers","AskFinalStatePart","BootstrapClientMessage","BootstrapClientMessageDeserializer","BootstrapClientMessageSerializer","BootstrapError","BootstrapError","BootstrapError","BootstrapError","BootstrapFinished","BootstrapPart","BootstrapPeers","BootstrapServerMessage","BootstrapServerMessageDeserializer","BootstrapServerMessageSerializer","BootstrapSuccess","BootstrapSuccess","BootstrapTime","BootstrapTime","FinalStateFinished","FinalStatePart","MessageClientTypeId","MessageServerTypeId","Peers","SlotTooOld","SlotTooOld","__clone_box","__clone_box","block_id_set_deserializer","block_id_set_serializer","block_ids_step_deserializer","block_ids_step_serializer","bool_deserializer","bool_serializer","bootstrapable_graph_deserializer","bootstrapable_graph_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","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","datastore_key_deserializer","datastore_val_deserializer","default","default","deref","deref","deref","deref","deref","deref","deref","deref","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","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_ref","from_ref","id_deserializer","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","length_bootstrap_error","length_error_deserializer","message_id_deserializer","new","new","new","new","opt_last_slot_before_downtime_deserializer","opt_last_slot_before_downtime_serializer","opt_last_start_period_deserializer","opt_last_start_period_serializer","opt_vec_u8_deserializer","opt_vec_u8_serializer","peers_deserializer","peers_serializer","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","serialize","serialize","slot_deserializer","slot_deserializer","slot_serializer","slot_serializer","state_new_elements_length_deserializer","state_step_deserializer","state_step_serializer","stream_batch_updates_length_deserializer","time_deserializer","time_serializer","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_primitive","try_from_primitive","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","u32_serializer","u32_serializer","u64_serializer","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_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","vec_u8_serializer","version_deserializer","version_serializer","versioning_part_new_elements_length_deserializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","error","last_consensus_step","last_slot","last_state_step","last_versioning_step","send_last_start_period","consensus_outdated_ids","consensus_part","error","last_slot_before_downtime","last_start_period","peers","server_time","slot","state_part","version","versioning_part","BootstrapManager","BootstrapServer","bootstrap_config","borrow","borrow","borrow_mut","borrow_mut","consensus_controller","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","ev_poller","event_loop","final_state","from","from","greedy_client_check","init","init","into","into","into_request","into_request","ip_hist_map","keypair","layout_raw","layout_raw","listener_stopper","main_handle","manage_bootstrap","massa_metrics","new","pointer_metadata","pointer_metadata","protocol_controller","run_bootstrap_session","run_updater","start_bootstrap_server","step_timeout_duration","stop","stream_bootstrap_information","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_handle","update_stopper_tx","version","vzip","vzip","white_black_list","white_black_list","BootstrapClientConfig","BootstrapConfig","BootstrapServerMessageDeserializerArgs","BootstrapSrvBindCfg","Both","IPv4","IPv6","IpType","__clone_box","__clone_box","__clone_box","__clone_box","bootstrap_blacklist_path","bootstrap_list","bootstrap_protocol","bootstrap_timeout","bootstrap_whitelist_path","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cache_duration","chain_id","chain_id","chain_id","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","connect_timeout","consensus_bootstrap_part_size","consensus_bootstrap_part_size","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","endorsement_count","endorsement_count","endorsement_count","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","init","init","init","init","init","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","ip_list_max_size","keep_ledger","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","listen_addr","max_advertise_length","max_advertise_length","max_advertise_length","max_bootstrap_blocks_length","max_bootstrap_blocks_length","max_bootstrap_blocks_length","max_bootstrap_error_length","max_bootstrap_error_length","max_bootstrap_error_length","max_changes_slot_count","max_changes_slot_count","max_changes_slot_count","max_clock_delta","max_consensus_block_ids","max_credits_length","max_credits_length","max_credits_length","max_datastore_entry_count","max_datastore_entry_count","max_datastore_entry_count","max_datastore_key_length","max_datastore_key_length","max_datastore_key_length","max_datastore_key_length","max_datastore_value_length","max_datastore_value_length","max_datastore_value_length","max_denunciation_changes_length","max_denunciation_changes_length","max_denunciation_changes_length","max_denunciations_per_block_header","max_denunciations_per_block_header","max_denunciations_per_block_header","max_executed_ops_length","max_executed_ops_length","max_executed_ops_length","max_final_state_elements_size","max_final_state_elements_size","max_final_state_elements_size","max_function_name_length","max_ledger_changes_count","max_ledger_changes_count","max_ledger_changes_count","max_listeners_per_peer","max_listeners_per_peer","max_listeners_per_peer","max_op_datastore_entry_count","max_op_datastore_key_length","max_op_datastore_value_length","max_operations_per_block","max_operations_per_block","max_operations_per_block","max_ops_changes_length","max_ops_changes_length","max_ops_changes_length","max_parameters_size","max_ping","max_production_stats_length","max_production_stats_length","max_production_stats_length","max_rolls_length","max_rolls_length","max_rolls_length","max_simultaneous_bootstraps","max_versioning_elements_size","max_versioning_elements_size","max_versioning_elements_size","mip_store_stats_block_considered","mip_store_stats_block_considered","mip_store_stats_block_considered","per_ip_min_interval","periods_per_cycle","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","randomness_size_bytes","randomness_size_bytes","randomness_size_bytes","rate_limit","rate_limit","rate_limit","read_error_timeout","read_timeout","retry_delay","thread_count","thread_count","thread_count","thread_count","to_owned","to_owned","to_owned","to_owned","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","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","write_error_timeout","write_error_timeout","write_timeout","mio_stream_to_std","to_canonical","SharedWhiteBlackList","WhiteBlackListInner","__clone_box","add_ips_to_blacklist","add_ips_to_whitelist","black_list","black_path","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","fmt","fmt","from","from","from_ref","get_black_list","get_white_list","init","init","init_list","inner","into","into","into_request","into_request","is_ip_allowed","layout_raw","layout_raw","load_list","new","pointer_metadata","pointer_metadata","remove_ips_from_blacklist","remove_ips_from_whitelist","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","update_list","vzip","vzip","white_list","white_path","write_to_file"],"q":[[0,"massa_bootstrap"],[208,"massa_bootstrap::BootstrapClientMessage"],[214,"massa_bootstrap::BootstrapServerMessage"],[225,"massa_bootstrap::bindings"],[233,"massa_bootstrap::bindings::client"],[294,"massa_bootstrap::bindings::server"],[363,"massa_bootstrap::client"],[395,"massa_bootstrap::error"],[455,"massa_bootstrap::listener"],[525,"massa_bootstrap::messages"],[789,"massa_bootstrap::messages::BootstrapClientMessage"],[795,"massa_bootstrap::messages::BootstrapServerMessage"],[806,"massa_bootstrap::server"],[871,"massa_bootstrap::settings"],[1116,"massa_bootstrap::tools"],[1118,"massa_bootstrap::white_black_list"],[1185,"rkyv::with"],[1186,"core::result"],[1187,"massa_final_state::controller_trait"],[1188,"parking_lot::rwlock"],[1189,"alloc::sync"],[1190,"massa_models::version"],[1191,"massa_time"],[1192,"core::option"],[1193,"std::sync::mutex"],[1194,"std::sync::condvar"],[1195,"massa_metrics"],[1196,"tonic::request"],[1197,"core::alloc::layout"],[1198,"massa_consensus_exports::controller_trait"],[1199,"alloc::boxed"],[1200,"massa_protocol_exports::controller_trait"],[1201,"massa_signature::signature_impl"],[1202,"core::any"],[1203,"std::time"],[1204,"std::io::error"],[1205,"core::time"],[1206,"std::net::tcp"],[1207,"alloc::string"],[1208,"core::net::socket_addr"],[1209,"core::ops::function"],[1210,"core::marker"],[1211,"massa_models::node"],[1212,"alloc::vec"],[1213,"core::fmt"],[1214,"massa_versioning::versioning"],[1215,"alloc::collections::btree::map"],[1216,"core::error"],[1217,"massa_final_state::error"],[1218,"massa_hash::error"],[1219,"massa_protocol_exports::error"],[1220,"massa_signature::error"],[1221,"massa_time::error"],[1222,"massa_pos_exports::error"],[1223,"massa_consensus_exports::error"],[1224,"massa_models::error"],[1225,"massa_serialization"],[1226,"dyn_clone::sealed"],[1227,"nom::internal"],[1228,"nom::error"],[1229,"num_enum"],[1230,"core::net::ip_addr"],[1231,"std::collections::hash::map"],[1232,"std::thread"],[1233,"crossbeam_channel::channel"],[1234,"massa_models::slot"],[1235,"massa_models::streaming_step"],[1236,"massa_models::block_id"],[1237,"massa_models::prehash"],[1238,"serde::de"],[1239,"mio::net::tcp::stream"],[1240,"std::collections::hash::set"],[1241,"std::path"]],"i":[49,49,21,0,0,0,0,0,48,49,48,0,48,48,0,0,0,0,49,0,48,61,21,0,21,21,21,0,61,61,21,21,21,21,0,21,21,21,21,21,21,21,21,21,21,48,21,21,21,21,21,21,0,82,80,86,81,86,81,7,7,7,7,7,82,80,20,20,7,7,89,0,7,7,82,82,20,20,20,20,7,89,0,26,20,20,0,20,86,20,20,20,7,7,20,82,86,7,0,32,32,7,89,7,89,7,89,7,89,7,7,7,89,7,89,7,89,7,89,7,89,7,89,7,89,7,89,7,7,89,7,89,7,7,7,7,89,7,89,7,7,7,89,7,89,7,7,89,82,0,7,89,20,82,80,82,80,82,80,20,82,80,7,7,20,26,7,7,7,7,7,0,26,0,82,86,80,81,0,82,86,81,82,7,89,82,80,0,20,20,20,80,81,80,20,20,20,32,32,80,82,80,82,20,0,32,7,7,109,110,110,110,110,110,111,111,112,111,111,113,114,111,111,114,111,0,0,0,35,0,35,41,41,0,0,0,42,44,42,44,42,42,42,44,42,44,42,44,42,44,42,42,42,42,44,42,42,44,42,44,42,44,42,44,44,42,42,42,44,42,42,42,42,42,42,42,44,42,44,42,44,42,44,42,44,42,44,42,44,42,42,44,42,42,0,0,0,55,50,55,50,50,50,55,50,55,50,55,50,55,50,50,50,50,55,50,50,55,50,55,50,55,50,55,50,50,50,50,55,50,50,55,50,50,50,50,50,55,50,50,50,50,50,50,55,50,55,50,55,50,55,50,55,50,55,50,50,50,55,50,50,50,50,0,0,0,58,58,22,58,0,58,58,58,58,0,58,58,0,0,58,58,58,58,58,0,0,58,58,58,58,58,58,58,0,21,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,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,78,0,0,78,26,27,78,26,27,78,26,26,27,78,26,27,78,26,27,78,26,27,78,26,26,27,78,26,27,78,26,27,78,26,27,78,26,27,78,26,27,78,26,26,26,27,26,27,78,26,27,78,26,27,78,26,27,78,26,27,78,26,27,78,26,27,78,49,49,88,88,0,0,0,48,87,49,88,48,48,48,0,0,0,49,88,48,87,87,87,0,0,87,48,87,48,49,82,80,86,81,86,81,82,80,80,82,81,86,48,87,49,88,80,82,81,86,48,87,49,88,48,49,48,49,48,49,82,82,80,81,80,82,81,86,48,87,49,88,80,82,81,86,48,87,49,88,80,82,82,81,86,86,48,87,49,88,80,82,81,86,48,87,49,88,87,88,87,87,87,87,87,87,88,88,88,88,88,88,48,87,49,88,80,82,81,86,48,87,49,88,48,49,86,80,82,81,86,48,87,49,88,80,82,81,86,48,87,49,88,80,82,81,86,48,87,49,88,80,82,81,86,48,87,49,88,82,86,82,80,82,81,86,82,80,82,80,82,80,82,80,80,82,81,86,48,87,49,88,80,81,82,86,80,81,82,86,81,82,82,80,48,49,48,80,82,81,86,48,87,87,49,88,88,87,88,80,82,81,86,48,87,49,88,80,82,81,86,48,87,49,88,80,81,80,80,82,81,86,48,87,49,88,80,82,81,86,48,87,49,88,80,82,81,86,48,87,49,88,80,82,80,82,80,82,81,86,48,87,49,88,109,110,110,110,110,110,111,111,112,111,111,113,114,111,111,114,111,0,0,92,32,92,32,92,92,32,92,32,92,32,92,32,92,92,92,92,32,92,92,32,92,32,92,32,92,92,92,32,92,32,32,0,92,32,32,92,92,0,92,0,0,32,0,32,92,32,92,32,92,32,92,32,92,32,92,32,32,92,32,92,32,92,0,0,0,0,61,61,61,0,61,7,57,47,7,7,7,7,7,61,7,57,47,89,61,7,57,47,89,7,7,47,89,61,7,57,47,61,7,57,47,61,61,7,57,47,7,7,57,61,7,57,47,89,61,7,57,47,89,61,61,7,7,57,57,47,47,89,61,7,57,47,89,7,47,89,61,7,57,47,61,7,57,57,47,47,89,89,61,7,57,47,61,7,57,47,89,61,7,57,47,89,61,7,57,47,89,7,7,61,7,57,47,89,7,7,47,89,7,47,89,7,47,89,7,47,89,7,7,7,47,89,7,47,89,7,57,47,89,7,47,89,7,47,89,7,47,89,7,47,89,7,47,89,7,7,47,89,7,47,89,7,7,7,7,47,89,7,47,89,7,7,7,47,89,7,47,89,7,7,47,89,7,47,89,7,7,61,7,57,47,89,7,57,47,7,57,47,7,7,7,7,57,47,89,61,7,57,47,61,7,57,47,89,61,7,57,47,89,61,7,57,47,89,61,7,57,47,89,61,7,57,47,89,61,7,57,47,89,61,7,57,47,89,7,57,7,0,0,0,0,97,97,97,105,97,97,105,97,105,97,97,97,105,97,105,97,105,97,105,97,105,97,105,97,105,97,97,97,97,105,105,97,97,105,97,105,97,97,105,105,97,97,105,97,97,97,97,105,97,105,97,105,97,105,97,105,97,105,97,105,97,105,105,97,97],"f":"``````````````````````````````````````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}````````{f{{b{c}}}{}}{f{{b{dc}}}{}}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{fl}`````{cc{}}{{{b{n}}{Ad{{Ab{A`}}}}cAfAh{Aj{Ah}}{Aj{Al}}{Ad{{Bd{{B`{An}}Bb}}}}Bf}{{j{BhBj}}}Bl}``{{}f}{ce{}{}}{c{{Bn{e}}}{}{}}``{{}{{j{C`Cb}}}}`````````````````````````````````````````````````````````{{{Ad{{Ab{A`}}}}}Bh}```````````{b}`````````````{{CdCf{Cj{Ch}}{Cj{Cl}}{Ad{{Ab{A`}}}}nCnAfBf}{{j{D`Bj}}}}`````````{c{{j{e}}}{}{}}0{{{b{c}}}Db{}}```{{{Cj{c}}}{{Cj{Dd}}}{}}{{{b{dc}}}{{b{dDd}}}{}}{{{b{c}}}{{b{Dd}}}{}}``````:````````````````````````{{{b{dDf}}{b{d{Dj{Dh}}}}{Aj{Dl}}}{{j{l{Bd{Dnf}}}}}}`{{{b{dDf}}{Aj{E`}}}{{j{lDn}}}}{{{b{dEb}}{Aj{E`}}}{{j{lDn}}}}{{{b{dEb}}{b{{Dj{Dh}}}}{Aj{Dl}}}{{j{l{Bd{Dnf}}}}}}```{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0`{{{b{Ed}}{b{{Ef{Dh}}}}}{{j{EhBj}}}}{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}0{fl}0`{{{b{dEd}}}{{j{lDn}}}}{{{b{dc}}}{{j{l}}}{}}{cc{}}0{{{b{dEd}}Af}{{j{lBj}}}}{{}f}0{ce{}{}}0{c{{Bn{e}}}{}{}}0{{}{{j{C`Cb}}}}0`{{EjElEn{Aj{Al}}}Ed}{{{b{dEd}}{Aj{E`}}}{{j{F`Bj}}}}{b}0`{{{b{dEd}}{b{d{Dj{Dh}}}}}{{j{fDn}}}}{{{b{dc}}{b{d{Dj{Dh}}}}}{{j{l}}}{}}`{{{b{dEd}}{b{Fb}}{Aj{E`}}}{{j{lBj}}}}{{{b{dEd}}{Aj{E`}}}{{j{lDn}}}}0`{c{{j{e}}}{}{}}000{{{b{c}}}Db{}}0{{{Cj{c}}}{{Cj{Dd}}}{}}0{{{b{dc}}}{{b{dDd}}}{}}0{{{b{c}}}{{b{Dd}}}{}}0`>>{{{b{dEd}}{b{{Dj{Dh}}}}}{{j{fDn}}}}{{{b{dc}}{b{{Dj{Dh}}}}}{{j{l}}}{}}```{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{FdFfFhc}l{FjFl}}{{{b{Fd}}{b{{Dj{Dh}}}}}{{j{FnBj}}}}{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}0{fl}0`{{{b{dc}}}{{j{l}}}{}}{{{b{dFd}}}{{G`{l}}}}{cc{}}0{{{b{dFd}}Af{Aj{E`}}}{{j{lBj}}}}{{}f}0{ce{}{}}0{c{{Bn{e}}}{}{}}0{{}{{j{C`Cb}}}}0````{{EjCnGb{Aj{Al}}}Fd}{{{b{dFd}}{Aj{E`}}}{{j{FbBj}}}}{b}0``{{{b{dFd}}{b{d{Dj{Dh}}}}}{{G`{f}}}}{{{b{dc}}{b{d{Dj{Dh}}}}}{{j{l}}}{}}`{{{b{dFd}}Ff}{{j{lBj}}}}{{{b{dFd}}E`F`}{{j{lBj}}}}{{{b{dFd}}F`{Aj{E`}}}{{j{lBj}}}}{{{b{dFd}}{Aj{E`}}}{{j{lDn}}}}0`{c{{j{e}}}{}{}}000{{{b{c}}}Db{}}0{{{Cj{c}}}{{Cj{Dd}}}{}}0{{{b{dc}}}{{b{dDd}}}{}}0{{{b{c}}}{{b{Dd}}}{}}0``{ce{}{}}0{{{b{dFd}}{b{{Dj{Dh}}}}}{{G`{f}}}}{{{b{dc}}{b{{Dj{Dh}}}}}{{j{l}}}{}}```{{{b{n}}{b{dEd}}{b{dFb}}{b{dBh}}Af}{{j{lBj}}}}{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{Bl}}Fh{Aj{Ah}}}{{G`{Ej}}}}{{{b{Gd}}Fh{Aj{Ah}}}{{G`{Ej}}}}{{{b{dc}}{b{n}}{b{Fh}}{b{El}}{Aj{Al}}}{{j{EdBj}}}Bl}{f{{b{c}}}{}}{f{{b{dc}}}{}}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{fl}{{{Gh{{Bd{FhGf}}}}Gj}{{Gh{{Bd{FhGf}}}}}}{{{b{Gd}}{b{dGl}}}Gn}{cc{}}{{{b{n}}}{{j{{Gh{{Bd{FhGf}}}}Bj}}}}{{{b{n}}{Ad{{Ab{A`}}}}cAfAh{Aj{Ah}}{Aj{Al}}{Ad{{Bd{{B`{An}}Bb}}}}Bf}{{j{BhBj}}}Bl}{{}f}{ce{}{}}{c{{Bn{e}}}{}{}}{{}{{j{C`Cb}}}}{b}{{{b{Fb}}{b{dEd}}E`E`{b{H`}}}{{j{F`Bj}}}}{{{b{n}}{b{dEd}}{b{dFb}}{b{dBh}}}{{j{lBj}}}}{c{{j{e}}}{}{}}0{{{b{c}}}Db{}}{{{Cj{c}}}{{Cj{Dd}}}{}}{{{b{dc}}}{{b{dDd}}}{}}{{{b{c}}}{{b{Dd}}}{}}:{{{Gh{Hb}}{Hf{HbHd}}}l}``````````````````````````{{{b{c}}}{{b{Hh}}}{}}{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{f{{b{c}}}{}}{f{{b{dc}}}{}}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{fl}{{{b{Bj}}{b{dGl}}}Gn}0{HjBj}{HlBj}{HnBj}{I`Bj}{DnBj}{cc{}}{IbBj}{IdBj}{IfBj}{IhBj}{IjBj}{{}f}{ce{}{}}{c{{Bn{e}}}{}{}}{{}{{j{C`Cb}}}}{b}{{{b{Bj}}}{{Aj{{b{Hh}}}}}}{{{b{c}}}Ff{}}{c{{j{e}}}{}{}}0{{{b{c}}}Db{}}{{{Cj{c}}}{{Cj{Dd}}}{}}{{{b{dc}}}{{b{dDd}}}{}}{{{b{c}}}{{b{Dd}}}{}}:```````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{Fh}}}{{j{{Bd{CfCd}}Bj}}}}{f{{b{c}}}{}}00{f{{b{dc}}}{}}00{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}00{fl}00`{cc{}}00{{}f}00{ce{}{}}00{c{{Bn{e}}}{}{}}00{{}{{j{C`Cb}}}}00{b}00{{{b{dCd}}}{{j{IlBj}}}}``{{{b{Cf}}}{{j{lBj}}}}{c{{j{e}}}{}{}}00000{{{b{c}}}Db{}}00{{{Cj{c}}}{{Cj{Dd}}}{}}00{{{b{dc}}}{{b{dDd}}}{}}00{{{b{c}}}{{b{Dd}}}{}}00:::````````````````````````````{{{b{c}}In}l{}}0````````{{{b{c}}}{{b{e}}}{}{}}0000000{{{b{dc}}}{{b{de}}}{}{}}0000000{{{b{F`}}}F`}{{{b{Fb}}}Fb}{{{b{c}}{b{de}}}l{}{}}0{{{b{c}}}l{}}0``{{}J`}{{}Jb}{f{{b{c}}}{}}0000000{f{{b{dc}}}{}}0000000{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{{{b{Jd}}{b{{Dj{Dh}}}}}{{Jf{{b{{Dj{Dh}}}}F`c}}}{{Jh{{b{{Dj{Dh}}}}}}{Jj{{b{{Dj{Dh}}}}}}}}111{{{b{Jl}}{b{{Dj{Dh}}}}}{{Jf{{b{{Dj{Dh}}}}Fbc}}}{{Jh{{b{{Dj{Dh}}}}}}{Jj{{b{{Dj{Dh}}}}}}}}2222{fl}0000000{{{b{Jn}}{b{Jn}}}An}{{{b{K`}}{b{K`}}}An}{{{b{c}}{b{e}}}An{}{}}00000000000{{{b{F`}}{b{dGl}}}Gn}{{{b{Jn}}{b{dGl}}}Gn}{{{b{Fb}}{b{dGl}}}Gn}{{{b{K`}}{b{dGl}}}Gn}{cc{}}0000000{{{b{c}}}c{}}0`{{}f}0000000{ce{}{}}0000000{c{{Bn{e}}}{}{}}0000000{{}{{j{C`Cb}}}}0000000```{{}J`}{KbJd}{{}Jb}{{DhDhAl}Jl}````````{b}0000000{{{b{J`}}{b{F`}}{b{d{Gh{Dh}}}}}{{j{lIj}}}}{{{b{Jb}}{b{Fb}}{b{d{Gh{Dh}}}}}{{j{lIj}}}}``````````{{{b{c}}}e{}{}}0{{{b{F`}}}Ff}{c{{j{e}}}{}{}}00000{Kd{{j{Jn{Kf{Jn}}}}}}1{Kd{{j{K`{Kf{K`}}}}}}2{c{{j{Jn{Kf{Jn}}}}}{}}{c{{j{K`{Kf{K`}}}}}{}}44444444{{{b{c}}}Db{}}0000000```{{{Cj{c}}}{{Cj{Dd}}}{}}0000000{{{b{dc}}}{{b{dDd}}}{}}0000000{{{b{c}}}{{b{Dd}}}{}}0000000````{ce{}{}}0000000````````````````````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0`{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}0{fl}0`{{Khf}{{j{lBj}}}}`{cc{}}0{{{b{d{Kl{KjDl}}}}FhDlE`}{{j{lE`}}}}{{}f}0::{c{{Bn{e}}}{}{}}0``{{}{{j{C`Cb}}}}0``{{{b{n}}{b{dFd}}{Ad{{Ab{A`}}}}Af{Cj{Ch}}{Cj{Cl}}Dl}{{j{lBj}}}}`{{{Kn{{j{lBj}}}}{Kn{{j{lBj}}}}{L`{l}}CfLb}D`}{b}0`{{Fd{Ad{l}}nFh{Ad{{Ab{A`}}}}Af{Cj{Ch}}{Cj{Cl}}Bf}l}{{LbE`{Ld{l}}}{{j{lBj}}}}{{CdCf{Cj{Ch}}{Cj{Cl}}{Ad{{Ab{A`}}}}nCnAfBf}{{j{D`Bj}}}}{{{b{Dl}}{b{E`}}}{{Aj{E`}}}}{D`{{j{lBj}}}}{{{b{dFd}}{Ad{{Ab{A`}}}}{Cj{Ch}}{Aj{Lf}}{Lh{{Gh{Dh}}}}{Lh{{Gh{Dh}}}}{Lh{{Ll{Lj}}}}An{b{Dl}}E`}{{j{lBj}}}}{c{{j{e}}}{}{}}000{{{b{c}}}Db{}}0{{{Cj{c}}}{{Cj{Dd}}}{}}0{{{b{dc}}}{{b{dDd}}}{}}0{{{b{c}}}{{b{Dd}}}{}}0```{ce{}{}}0``````````{{{b{c}}In}l{}}000`````{{{b{c}}}{{b{e}}}{}{}}0000{{{b{dc}}}{{b{de}}}{}{}}0000````{{{b{Gj}}}Gj}{{{b{n}}}n}{{{b{Gb}}}Gb}{{{b{En}}}En}{{{b{c}}{b{de}}}l{}{}}000{{{b{c}}}l{}}0000```{f{{b{c}}}{}}0000{f{{b{dc}}}{}}0000{c{{j{Gj}}}Ln}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}0{c{{j{n}}}Ln}1{c{{j{Gb}}}Ln}2{c{{j{En}}}Ln}3{fl}0000```{{{b{Gj}}{b{dGl}}}Gn}{{{b{n}}{b{dGl}}}Gn}{{{b{Gb}}{b{dGl}}}Gn}{{{b{En}}{b{dGl}}}Gn}{cc{}}00{{{b{n}}}Gb}1{{{b{n}}}En}{{{b{En}}}Kb}3{{{b{c}}}c{}}000{{}f}0000{ce{}{}}0000{c{{Bn{e}}}{}{}}0000``{{}{{j{C`Cb}}}}0000`````````````````````````````````````````````````````````````````````````{b}0000`````````````{{{b{c}}}e{}{}}000{c{{j{e}}}{}{}}000000000{{{b{c}}}Db{}}0000{{{Cj{c}}}{{Cj{Dd}}}{}}0000{{{b{dc}}}{{b{dDd}}}{}}0000{{{b{c}}}{{b{Dd}}}{}}000099999```{M`Ej}{KjKj}``{{{b{c}}In}l{}}{{{b{Lb}}{Gh{Kj}}}{{j{lBj}}}}0``{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{Lb}}}Lb}{{{b{c}}{b{de}}}l{}{}}{{{b{c}}}l{}}{{}Mb}{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}0{fl}0{{{b{Lb}}{b{dGl}}}Gn}{{{b{Mb}}{b{dGl}}}Gn}{cc{}}0{{{b{c}}}c{}}{{{b{Lb}}}{{Aj{{Md{Kj}}}}}}0{{}f}0{{{b{Mf}}{b{Mf}}}{{j{{Bd{{Aj{{Md{Kj}}}}{Aj{{Md{Kj}}}}}}Bj}}}}`{ce{}{}}0{c{{Bn{e}}}{}{}}0{{{b{Lb}}{b{Fh}}}{{j{lBj}}}}{{}{{j{C`Cb}}}}0{{{b{Mf}}An}{{j{{Aj{{Md{Kj}}}}Bj}}}}{{MhMh}{{j{LbBj}}}}{b}0{{{b{Lb}}{Gh{Kj}}}{{j{lBj}}}}0{{{b{c}}}e{}{}}{c{{j{e}}}{}{}}000{{{b{c}}}Db{}}0{{{Cj{c}}}{{Cj{Dd}}}{}}0{{{b{dc}}}{{b{dDd}}}{}}0{{{b{c}}}{{b{Dd}}}{}}0{{{b{dLb}}}{{j{lBj}}}}?>>``{{{b{Lb}}{b{Mf}}{b{{Md{Kj}}}}}{{j{lBj}}}}","D":"BLj","p":[[1,"reference"],[0,"mut"],[1,"usize"],[5,"With",1185],[6,"Result",1186],[1,"unit"],[5,"BootstrapConfig",871],[10,"FinalStateController",1187],[8,"RwLock",1188],[5,"Arc",1189],[5,"Version",1190],[5,"MassaTime",1191],[6,"Option",1192],[1,"u64"],[1,"bool"],[5,"Mutex",1193],[5,"Condvar",1194],[1,"tuple"],[5,"MassaMetrics",1195],[5,"GlobalBootstrapState",0],[6,"BootstrapError",395],[10,"BSConnector",363],[5,"Request",1196],[5,"Layout",1197],[5,"LayoutError",1197],[5,"BootstrapTcpListener",455],[5,"BootstrapListenerStopHandle",455],[10,"ConsensusController",1198],[5,"Box",1199],[10,"ProtocolController",1200],[6,"KeyPair",1201],[5,"BootstrapManager",806],[5,"TypeId",1202],[10,"Any",1202],[10,"BindingReadExact",225],[1,"u8"],[1,"slice"],[5,"Instant",1203],[5,"Error",1204],[5,"Duration",1205],[10,"BindingWriteExact",225],[5,"BootstrapClientBinder",233],[1,"array"],[5,"ServerMessageLeader",233],[5,"TcpStream",1206],[6,"PublicKey",1201],[5,"BootstrapClientConfig",871],[6,"BootstrapServerMessage",525],[6,"BootstrapClientMessage",525],[5,"BootstrapServerBinder",294],[5,"String",1207],[6,"SocketAddr",1208],[10,"FnOnce",1209],[10,"Send",1210],[5,"ClientMessageLeader",294],[8,"Result",1204],[5,"BootstrapSrvBindCfg",871],[5,"DefaultConnector",363],[5,"NodeId",1211],[5,"Vec",1212],[6,"IpType",871],[5,"Formatter",1213],[8,"Result",1213],[1,"str"],[5,"MipInfo",1214],[5,"MipState",1214],[5,"BTreeMap",1215],[10,"Error",1216],[6,"FinalStateError",1217],[6,"MassaHashError",1218],[6,"ProtocolError",1219],[6,"MassaSignatureError",1220],[6,"TimeError",1221],[6,"PosError",1222],[6,"ConsensusError",1223],[6,"ModelsError",1224],[6,"SerializeError",1225],[6,"PollEvent",455],[5,"Private",1226],[5,"BootstrapServerMessageSerializer",525],[5,"BootstrapClientMessageSerializer",525],[5,"BootstrapServerMessageDeserializer",525],[8,"IResult",1227],[10,"ParseError",1228],[10,"ContextError",1228],[5,"BootstrapClientMessageDeserializer",525],[6,"MessageServerTypeId",525],[6,"MessageClientTypeId",525],[5,"BootstrapServerMessageDeserializerArgs",871],[1,"u32"],[5,"TryFromPrimitiveError",1229],[5,"BootstrapServer",806],[6,"IpAddr",1230],[5,"HashMap",1231],[5,"JoinHandle",1232],[5,"Sender",1233],[5,"SharedWhiteBlackList",1118],[5,"Receiver",1233],[5,"Slot",1234],[6,"StreamingStep",1235],[6,"BlockId",1236],[8,"PreHashSet",1237],[10,"Deserializer",1238],[5,"TcpStream",1239],[5,"WhiteBlackListInner",1118],[5,"HashSet",1240],[5,"Path",1241],[5,"PathBuf",1241],[15,"BootstrapError",789],[15,"AskBootstrapPart",789],[15,"BootstrapPart",795],[15,"BootstrapError",795],[15,"BootstrapPeers",795],[15,"BootstrapTime",795]],"r":[[3,525],[4,525],[5,525],[6,871],[7,395],[11,806],[14,525],[15,525],[16,871],[17,525],[19,455],[23,363],[34,871],[86,363],[178,806]],"b":[[428,"impl-Debug-for-BootstrapError"],[429,"impl-Display-for-BootstrapError"],[430,"impl-From%3CFinalStateError%3E-for-BootstrapError"],[431,"impl-From%3CMassaHashError%3E-for-BootstrapError"],[432,"impl-From%3CProtocolError%3E-for-BootstrapError"],[433,"impl-From%3CMassaSignatureError%3E-for-BootstrapError"],[434,"impl-From%3CError%3E-for-BootstrapError"],[436,"impl-From%3CTimeError%3E-for-BootstrapError"],[437,"impl-From%3CPosError%3E-for-BootstrapError"],[438,"impl-From%3CConsensusError%3E-for-BootstrapError"],[439,"impl-From%3CModelsError%3E-for-BootstrapError"],[440,"impl-From%3CSerializeError%3E-for-BootstrapError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADwDgAA1AAYAQQADAEcAAQBLAAUAUgACAFkAAQBcAAAAXwACAGMAAgBnAAAAaQAAAGsAAABtAAAAcQAAAHMAAAB1AAAAdwAAAHkAAAB7AAAAfQAAAH8AAACCAAAAhAAAAIkAAACLAAAAjwAAAJEAAACUAAIAmAAHAKEAAQClAAEArQAFALQAAwC5ABMA4gACAOYAAADpAAAA6wAAAO0ABADzAAoAAQEBAAUBBAAMAQUAEwETACkBBAAwAQoAPgEBAEIBBwBMAQgAVgEVAG8BAQBzAQYAewEAAH0BAAB/AQMAhAEHAKYBDQC1AQUAvAEMAMoBCgDWAQwA5gECAOwBCAD2AQEA+QEUABACAQAWAgAAGAIAACACAAAiAgUAKQI1AGACAgBkAh0AigIKAJ0CEgC0Ag8AxgJPACgDEQA9AwEAQQMJAEwDAgBQAwAAUgMAAFQDEQBnAwAAcAMDAHkDCQCFAw4AlgMYALADBQC5AwAAuwMBAL4DCADMAwQA0wMEANoDAQDdAwEA4AMBAOMDAQDoAwEA6wMBAO4DAgDyAwEA9QMBAPgDAQD7AwEA/gMBAAIEAQAFBAEACwQBAA4EAQATBAEAFgQBABoEAQAdBAEAIQQEACcEAQAqBAEAMAQpAFsEAABeBAAAYAQBAGQEEwB6BAAAfQQDAIMECACOBAwAnAQEAA=="}],\ +["massa_bootstrap",{"t":"PPPGFFFGPPPFPPGFFFPFPPPFPPPFPPPPPPGPPPPPPPPPPPPPPPPPCOOOOOOOOOOOOONNOOOCOOOONNNNOOCOONHOONNNOONOOOCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCOONOOOOOOOOOOONOOOOOOCOCOOOOHOOOOOOOOCNNNOOONNNOOOOOONCOOOOOOOOOOOOOOOOOOOOKKCNCMMNFSFNNNNONNNNNNNNNONNNNNNNNNNNNNONNNNONNONNNONNNNNNNNNNNNONNNNFFSNNNNNNNNNNNNNNONNNNNNNNNNNNNOOOONNNNOONNONNNNNONNNNNNNNNNNNOONNNNOKFHNNMNHNNNNHNNHHNNNNNHHNNNNNNNHPGPPPPPPPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFSPGSPNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNPPPPGFFPPPPPPPGFFPPPPPPGGPPPNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNOOOOOOOONNNNNNNNNNOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNOOOOOOOOOOOOOOOOOFFONNNNONNNNNNNNONONNNNNNNNNOONNOOHONNNOHNHHNHNNNNNNNNNNNNOOONNOOFFFFPPPGNNNNOOOOONNNNNNNNNNOOOONNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOHHFFNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOON","n":["AskBootstrapPart","AskBootstrapPeers","BlackListed","BootstrapClientMessage","BootstrapClientMessageDeserializer","BootstrapClientMessageSerializer","BootstrapConfig","BootstrapError","BootstrapError","BootstrapError","BootstrapFinished","BootstrapManager","BootstrapPart","BootstrapPeers","BootstrapServerMessage","BootstrapServerMessageDeserializer","BootstrapServerMessageDeserializerArgs","BootstrapServerMessageSerializer","BootstrapSuccess","BootstrapTcpListener","BootstrapTime","Both","ClockError","DefaultConnector","DeserializeError","FinalStateError","GeneralError","GlobalBootstrapState","IPv4","IPv6","IncompatibleVersionError","InitListError","Interrupted","IoError","IpType","MassaConsensusError","MassaHashError","MassaSignatureError","MissingKeyError","ModelsError","PoSError","ProtocolError","ReceivedError","SerializationError","SerializeError","SlotTooOld","TimeError","TimedOut","UnexpectedClientMessage","UnexpectedConnectionDrop","UnexpectedServerMessage","WhiteListed","bindings","block_id_set_deserializer","block_id_set_serializer","block_ids_step_deserializer","block_ids_step_serializer","bool_deserializer","bool_serializer","bootstrap_blacklist_path","bootstrap_list","bootstrap_protocol","bootstrap_timeout","bootstrap_whitelist_path","bootstrapable_graph_deserializer","bootstrapable_graph_serializer","borrow","borrow_mut","cache_duration","chain_id","chain_id","client","connect_timeout","consensus_bootstrap_part_size","datastore_key_deserializer","datastore_val_deserializer","deref","deref_mut","deserialize","drop","endorsement_count","endorsement_count","error","events","final_state","from","get_state","graph","id_deserializer","init","into","into_request","ip_list_max_size","keep_ledger","layout_raw","length_bootstrap_error","length_error_deserializer","listen_addr","listener","listener_stopper","main_handle","max_advertise_length","max_advertise_length","max_bootstrap_blocks_length","max_bootstrap_blocks_length","max_bootstrap_error_length","max_bootstrap_error_length","max_changes_slot_count","max_changes_slot_count","max_clock_delta","max_consensus_block_ids","max_credits_length","max_credits_length","max_datastore_entry_count","max_datastore_entry_count","max_datastore_key_length","max_datastore_key_length","max_datastore_value_length","max_datastore_value_length","max_denunciation_changes_length","max_denunciation_changes_length","max_denunciations_per_block_header","max_denunciations_per_block_header","max_executed_ops_length","max_executed_ops_length","max_final_state_elements_size","max_final_state_elements_size","max_function_name_length","max_ledger_changes_count","max_ledger_changes_count","max_listeners_per_peer","max_listeners_per_peer","max_op_datastore_entry_count","max_op_datastore_key_length","max_op_datastore_value_length","max_operations_per_block","max_operations_per_block","max_ops_changes_length","max_ops_changes_length","max_parameters_size","max_ping","max_production_stats_length","max_production_stats_length","max_rolls_length","max_rolls_length","max_simultaneous_bootstraps","max_versioning_elements_size","max_versioning_elements_size","message_id_deserializer","messages","mip_store_stats_block_considered","mip_store_stats_block_considered","new","opt_last_slot_before_downtime_deserializer","opt_last_slot_before_downtime_serializer","opt_last_start_period_deserializer","opt_last_start_period_serializer","opt_vec_u8_deserializer","opt_vec_u8_serializer","peers","peers_deserializer","peers_serializer","per_ip_min_interval","periods_per_cycle","pointer_metadata","poll","randomness_size_bytes","rate_limit","read_error_timeout","read_timeout","retry_delay","server","server","settings","slot_deserializer","slot_deserializer","slot_serializer","slot_serializer","start_bootstrap_server","state_new_elements_length_deserializer","state_step_deserializer","state_step_serializer","stream_batch_updates_length_deserializer","thread_count","thread_count","time_deserializer","time_serializer","tools","try_from","try_into","type_id","u32_serializer","u32_serializer","u64_serializer","upcast_any_box","upcast_any_mut","upcast_any_ref","update_handle","update_stopper_tx","vec_u8_serializer","version_deserializer","version_serializer","versioning_part_new_elements_length_deserializer","vzip","white_black_list","white_black_list","write_error_timeout","write_timeout","error","last_consensus_step","last_slot","last_state_step","last_versioning_step","send_last_start_period","consensus_outdated_ids","consensus_part","error","last_slot_before_downtime","last_start_period","peers","server_time","slot","state_part","version","versioning_part","BindingReadExact","BindingWriteExact","client","read_exact_timeout","server","set_read_timeout","set_write_timeout","write_all_timeout","BootstrapClientBinder","KNOWN_PREFIX_LEN","ServerMessageLeader","borrow","borrow","borrow_mut","borrow_mut","cfg","decode_msg_leader","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","duplex","flush","flush","from","from","handshake","init","init","into","into","into_request","into_request","layout_raw","layout_raw","msg_len","new","next_timeout","pointer_metadata","pointer_metadata","prev_message","read","read_exact","remote_pubkey","send_timeout","set_read_timeout","set_write_timeout","sig","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","version_serializer","vzip","vzip","write","write_all","BootstrapServerBinder","ClientMessageLeader","KNOWN_PREFIX_LEN","borrow","borrow","borrow_mut","borrow_mut","close_and_send_error","decode_message_leader","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","duplex","flush","flush","from","from","handshake_timeout","init","init","into","into","into_request","into_request","layout_raw","layout_raw","local_keypair","max_consensus_block_ids","max_datastore_key_length","msg_len","new","next_timeout","pointer_metadata","pointer_metadata","prev_message","randomness_size_bytes","read","read_exact","received_prev_hash","send_error_timeout","send_msg","send_timeout","set_read_timeout","set_write_timeout","thread_count","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","version_deserializer","version_serializer","vzip","vzip","write","write_all","write_error_timeout","BSConnector","DefaultConnector","bootstrap_from_server","borrow","borrow_mut","connect_timeout","connect_timeout","connect_to_server","deref","deref_mut","deserialize","drop","filter_bootstrap_list","fmt","from","get_bootstrap_list_iter","get_state","init","into","into_request","layout_raw","pointer_metadata","send_client_message","stream_final_state_and_consensus","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","warn_user_about_versioning_updates","BlackListed","BootstrapError","ClockError","DeserializeError","FinalStateError","GeneralError","IncompatibleVersionError","InitListError","Interrupted","IoError","MassaConsensusError","MassaHashError","MassaSignatureError","MissingKeyError","ModelsError","PoSError","ProtocolError","ReceivedError","SerializationError","SerializeError","TimeError","TimedOut","UnexpectedClientMessage","UnexpectedConnectionDrop","UnexpectedServerMessage","WhiteListed","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","pointer_metadata","source","to_string","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","BootstrapListenerStopHandle","BootstrapTcpListener","NEW_CONNECTION","NewConnections","PollEvent","STOP_LISTENER","Stop","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","create","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","events","from","from","from","init","init","init","into","into","into","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","pointer_metadata","pointer_metadata","pointer_metadata","poll","poll","server","stop","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","AskBootstrapPart","AskBootstrapPeers","AskBootstrapPeers","AskFinalStatePart","BootstrapClientMessage","BootstrapClientMessageDeserializer","BootstrapClientMessageSerializer","BootstrapError","BootstrapError","BootstrapError","BootstrapError","BootstrapFinished","BootstrapPart","BootstrapPeers","BootstrapServerMessage","BootstrapServerMessageDeserializer","BootstrapServerMessageSerializer","BootstrapSuccess","BootstrapSuccess","BootstrapTime","BootstrapTime","FinalStateFinished","FinalStatePart","MessageClientTypeId","MessageServerTypeId","Peers","SlotTooOld","SlotTooOld","__clone_box","__clone_box","block_id_set_deserializer","block_id_set_serializer","block_ids_step_deserializer","block_ids_step_serializer","bool_deserializer","bool_serializer","bootstrapable_graph_deserializer","bootstrapable_graph_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","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","datastore_key_deserializer","datastore_val_deserializer","default","default","deref","deref","deref","deref","deref","deref","deref","deref","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","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_ref","from_ref","id_deserializer","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","length_bootstrap_error","length_error_deserializer","message_id_deserializer","new","new","new","new","opt_last_slot_before_downtime_deserializer","opt_last_slot_before_downtime_serializer","opt_last_start_period_deserializer","opt_last_start_period_serializer","opt_vec_u8_deserializer","opt_vec_u8_serializer","peers_deserializer","peers_serializer","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","serialize","serialize","slot_deserializer","slot_deserializer","slot_serializer","slot_serializer","state_new_elements_length_deserializer","state_step_deserializer","state_step_serializer","stream_batch_updates_length_deserializer","time_deserializer","time_serializer","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_primitive","try_from_primitive","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","u32_serializer","u32_serializer","u64_serializer","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_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","vec_u8_serializer","version_deserializer","version_serializer","versioning_part_new_elements_length_deserializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","error","last_consensus_step","last_slot","last_state_step","last_versioning_step","send_last_start_period","consensus_outdated_ids","consensus_part","error","last_slot_before_downtime","last_start_period","peers","server_time","slot","state_part","version","versioning_part","BootstrapManager","BootstrapServer","bootstrap_config","borrow","borrow","borrow_mut","borrow_mut","consensus_controller","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","ev_poller","event_loop","final_state","from","from","greedy_client_check","init","init","into","into","into_request","into_request","ip_hist_map","keypair","layout_raw","layout_raw","listener_stopper","main_handle","manage_bootstrap","massa_metrics","new","pointer_metadata","pointer_metadata","protocol_controller","run_bootstrap_session","run_updater","start_bootstrap_server","step_timeout_duration","stop","stream_bootstrap_information","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_handle","update_stopper_tx","version","vzip","vzip","white_black_list","white_black_list","BootstrapClientConfig","BootstrapConfig","BootstrapServerMessageDeserializerArgs","BootstrapSrvBindCfg","Both","IPv4","IPv6","IpType","__clone_box","__clone_box","__clone_box","__clone_box","bootstrap_blacklist_path","bootstrap_list","bootstrap_protocol","bootstrap_timeout","bootstrap_whitelist_path","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cache_duration","chain_id","chain_id","chain_id","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","connect_timeout","consensus_bootstrap_part_size","consensus_bootstrap_part_size","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","endorsement_count","endorsement_count","endorsement_count","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","init","init","init","init","init","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","ip_list_max_size","keep_ledger","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","listen_addr","max_advertise_length","max_advertise_length","max_advertise_length","max_bootstrap_blocks_length","max_bootstrap_blocks_length","max_bootstrap_blocks_length","max_bootstrap_error_length","max_bootstrap_error_length","max_bootstrap_error_length","max_changes_slot_count","max_changes_slot_count","max_changes_slot_count","max_clock_delta","max_consensus_block_ids","max_credits_length","max_credits_length","max_credits_length","max_datastore_entry_count","max_datastore_entry_count","max_datastore_entry_count","max_datastore_key_length","max_datastore_key_length","max_datastore_key_length","max_datastore_key_length","max_datastore_value_length","max_datastore_value_length","max_datastore_value_length","max_denunciation_changes_length","max_denunciation_changes_length","max_denunciation_changes_length","max_denunciations_per_block_header","max_denunciations_per_block_header","max_denunciations_per_block_header","max_executed_ops_length","max_executed_ops_length","max_executed_ops_length","max_final_state_elements_size","max_final_state_elements_size","max_final_state_elements_size","max_function_name_length","max_ledger_changes_count","max_ledger_changes_count","max_ledger_changes_count","max_listeners_per_peer","max_listeners_per_peer","max_listeners_per_peer","max_op_datastore_entry_count","max_op_datastore_key_length","max_op_datastore_value_length","max_operations_per_block","max_operations_per_block","max_operations_per_block","max_ops_changes_length","max_ops_changes_length","max_ops_changes_length","max_parameters_size","max_ping","max_production_stats_length","max_production_stats_length","max_production_stats_length","max_rolls_length","max_rolls_length","max_rolls_length","max_simultaneous_bootstraps","max_versioning_elements_size","max_versioning_elements_size","max_versioning_elements_size","mip_store_stats_block_considered","mip_store_stats_block_considered","mip_store_stats_block_considered","per_ip_min_interval","periods_per_cycle","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","randomness_size_bytes","randomness_size_bytes","randomness_size_bytes","rate_limit","rate_limit","rate_limit","read_error_timeout","read_timeout","retry_delay","thread_count","thread_count","thread_count","thread_count","to_owned","to_owned","to_owned","to_owned","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","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","write_error_timeout","write_error_timeout","write_timeout","mio_stream_to_std","to_canonical","SharedWhiteBlackList","WhiteBlackListInner","__clone_box","add_ips_to_blacklist","add_ips_to_whitelist","black_list","black_path","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","fmt","fmt","from","from","from_ref","get_black_list","get_white_list","init","init","init_list","inner","into","into","into_request","into_request","is_ip_allowed","layout_raw","layout_raw","load_list","new","pointer_metadata","pointer_metadata","remove_ips_from_blacklist","remove_ips_from_whitelist","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","update_list","vzip","vzip","white_list","white_path","write_to_file"],"q":[[0,"massa_bootstrap"],[208,"massa_bootstrap::BootstrapClientMessage"],[214,"massa_bootstrap::BootstrapServerMessage"],[225,"massa_bootstrap::bindings"],[233,"massa_bootstrap::bindings::client"],[294,"massa_bootstrap::bindings::server"],[363,"massa_bootstrap::client"],[395,"massa_bootstrap::error"],[455,"massa_bootstrap::listener"],[525,"massa_bootstrap::messages"],[789,"massa_bootstrap::messages::BootstrapClientMessage"],[795,"massa_bootstrap::messages::BootstrapServerMessage"],[806,"massa_bootstrap::server"],[871,"massa_bootstrap::settings"],[1116,"massa_bootstrap::tools"],[1118,"massa_bootstrap::white_black_list"],[1185,"rkyv::with"],[1186,"core::result"],[1187,"massa_final_state::controller_trait"],[1188,"parking_lot::rwlock"],[1189,"alloc::sync"],[1190,"massa_models::version"],[1191,"massa_time"],[1192,"core::option"],[1193,"std::sync::mutex"],[1194,"std::sync::condvar"],[1195,"massa_metrics"],[1196,"tonic::request"],[1197,"core::alloc::layout"],[1198,"massa_consensus_exports::controller_trait"],[1199,"alloc::boxed"],[1200,"massa_protocol_exports::controller_trait"],[1201,"massa_signature::signature_impl"],[1202,"core::any"],[1203,"std::time"],[1204,"std::io::error"],[1205,"core::time"],[1206,"std::net::tcp"],[1207,"alloc::string"],[1208,"core::net::socket_addr"],[1209,"core::ops::function"],[1210,"core::marker"],[1211,"massa_models::node"],[1212,"alloc::vec"],[1213,"core::fmt"],[1214,"massa_versioning::versioning"],[1215,"alloc::collections::btree::map"],[1216,"core::error"],[1217,"massa_pos_exports::error"],[1218,"massa_consensus_exports::error"],[1219,"massa_serialization"],[1220,"massa_time::error"],[1221,"massa_hash::error"],[1222,"massa_protocol_exports::error"],[1223,"massa_final_state::error"],[1224,"massa_signature::error"],[1225,"massa_models::error"],[1226,"dyn_clone::sealed"],[1227,"nom::internal"],[1228,"nom::error"],[1229,"num_enum"],[1230,"core::net::ip_addr"],[1231,"std::collections::hash::map"],[1232,"std::thread"],[1233,"crossbeam_channel::channel"],[1234,"massa_models::slot"],[1235,"massa_models::streaming_step"],[1236,"massa_models::block_id"],[1237,"massa_models::prehash"],[1238,"serde::de"],[1239,"mio::net::tcp::stream"],[1240,"std::collections::hash::set"],[1241,"std::path"]],"i":[49,49,21,0,0,0,0,0,48,49,48,0,48,48,0,0,0,0,49,0,48,61,21,0,21,21,21,0,61,61,21,21,21,21,0,21,21,21,21,21,21,21,21,21,21,48,21,21,21,21,21,21,0,82,80,86,81,86,81,7,7,7,7,7,82,80,20,20,7,7,89,0,7,7,82,82,20,20,20,20,7,89,0,26,20,20,0,20,86,20,20,20,7,7,20,82,86,7,0,32,32,7,89,7,89,7,89,7,89,7,7,7,89,7,89,7,89,7,89,7,89,7,89,7,89,7,89,7,7,89,7,89,7,7,7,7,89,7,89,7,7,7,89,7,89,7,7,89,82,0,7,89,20,82,80,82,80,82,80,20,82,80,7,7,20,26,7,7,7,7,7,0,26,0,82,86,80,81,0,82,86,81,82,7,89,82,80,0,20,20,20,80,81,80,20,20,20,32,32,80,82,80,82,20,0,32,7,7,109,110,110,110,110,110,111,111,112,111,111,113,114,111,111,114,111,0,0,0,35,0,35,41,41,0,0,0,42,44,42,44,42,42,42,44,42,44,42,44,42,44,42,42,42,42,44,42,42,44,42,44,42,44,42,44,44,42,42,42,44,42,42,42,42,42,42,42,44,42,44,42,44,42,44,42,44,42,44,42,44,42,42,44,42,42,0,0,0,55,50,55,50,50,50,55,50,55,50,55,50,55,50,50,50,50,55,50,50,55,50,55,50,55,50,55,50,50,50,50,55,50,50,55,50,50,50,50,50,55,50,50,50,50,50,50,55,50,55,50,55,50,55,50,55,50,55,50,50,50,55,50,50,50,50,0,0,0,58,58,22,58,0,58,58,58,58,0,58,58,0,0,58,58,58,58,58,0,0,58,58,58,58,58,58,58,0,21,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,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,78,0,0,78,26,27,78,26,27,78,26,26,27,78,26,27,78,26,27,78,26,27,78,26,26,27,78,26,27,78,26,27,78,26,27,78,26,27,78,26,27,78,26,26,26,27,26,27,78,26,27,78,26,27,78,26,27,78,26,27,78,26,27,78,26,27,78,49,49,88,88,0,0,0,48,87,49,88,48,48,48,0,0,0,49,88,48,87,87,87,0,0,87,48,87,48,49,82,80,86,81,86,81,82,80,80,82,81,86,48,87,49,88,80,82,81,86,48,87,49,88,48,49,48,49,48,49,82,82,80,81,80,82,81,86,48,87,49,88,80,82,81,86,48,87,49,88,80,82,82,81,86,86,48,87,49,88,80,82,81,86,48,87,49,88,87,88,87,87,87,87,87,87,88,88,88,88,88,88,48,87,49,88,80,82,81,86,48,87,49,88,48,49,86,80,82,81,86,48,87,49,88,80,82,81,86,48,87,49,88,80,82,81,86,48,87,49,88,80,82,81,86,48,87,49,88,82,86,82,80,82,81,86,82,80,82,80,82,80,82,80,80,82,81,86,48,87,49,88,80,81,82,86,80,81,82,86,81,82,82,80,48,49,48,80,82,81,86,48,87,87,49,88,88,87,88,80,82,81,86,48,87,49,88,80,82,81,86,48,87,49,88,80,81,80,80,82,81,86,48,87,49,88,80,82,81,86,48,87,49,88,80,82,81,86,48,87,49,88,80,82,80,82,80,82,81,86,48,87,49,88,109,110,110,110,110,110,111,111,112,111,111,113,114,111,111,114,111,0,0,92,32,92,32,92,92,32,92,32,92,32,92,32,92,92,92,92,32,92,92,32,92,32,92,32,92,92,92,32,92,32,32,0,92,32,32,92,92,0,92,0,0,32,0,32,92,32,92,32,92,32,92,32,92,32,92,32,32,92,32,92,32,92,0,0,0,0,61,61,61,0,61,7,57,47,7,7,7,7,7,61,7,57,47,89,61,7,57,47,89,7,7,47,89,61,7,57,47,61,7,57,47,61,61,7,57,47,7,7,57,61,7,57,47,89,61,7,57,47,89,61,61,7,7,57,57,47,47,89,61,7,57,47,89,7,47,89,61,7,57,47,61,7,57,57,47,47,89,89,61,7,57,47,61,7,57,47,89,61,7,57,47,89,61,7,57,47,89,7,7,61,7,57,47,89,7,7,47,89,7,47,89,7,47,89,7,47,89,7,7,7,47,89,7,47,89,7,57,47,89,7,47,89,7,47,89,7,47,89,7,47,89,7,47,89,7,7,47,89,7,47,89,7,7,7,7,47,89,7,47,89,7,7,7,47,89,7,47,89,7,7,47,89,7,47,89,7,7,61,7,57,47,89,7,57,47,7,57,47,7,7,7,7,57,47,89,61,7,57,47,61,7,57,47,89,61,7,57,47,89,61,7,57,47,89,61,7,57,47,89,61,7,57,47,89,61,7,57,47,89,61,7,57,47,89,7,57,7,0,0,0,0,97,97,97,105,97,97,105,97,105,97,97,97,105,97,105,97,105,97,105,97,105,97,105,97,105,97,97,97,97,105,105,97,97,105,97,105,97,97,105,105,97,97,105,97,97,97,97,105,97,105,97,105,97,105,97,105,97,105,97,105,97,105,105,97,97],"f":"``````````````````````````````````````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}````````{f{{b{c}}}{}}{f{{b{dc}}}{}}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{fl}`````{cc{}}{{{b{n}}{Ad{{Ab{A`}}}}cAfAh{Aj{Ah}}{Aj{Al}}{Ad{{Bd{{B`{An}}Bb}}}}Bf}{{j{BhBj}}}Bl}``{{}f}{ce{}{}}{c{{Bn{e}}}{}{}}``{{}{{j{C`Cb}}}}`````````````````````````````````````````````````````````{{{Ad{{Ab{A`}}}}}Bh}```````````{b}`````````````{{CdCf{Cj{Ch}}{Cj{Cl}}{Ad{{Ab{A`}}}}nCnAfBf}{{j{D`Bj}}}}`````````{c{{j{e}}}{}{}}0{{{b{c}}}Db{}}```{{{Cj{c}}}{{Cj{Dd}}}{}}{{{b{dc}}}{{b{dDd}}}{}}{{{b{c}}}{{b{Dd}}}{}}``````:````````````````````````{{{b{dDf}}{b{d{Dj{Dh}}}}{Aj{Dl}}}{{j{l{Bd{Dnf}}}}}}`{{{b{dDf}}{Aj{E`}}}{{j{lDn}}}}{{{b{dEb}}{Aj{E`}}}{{j{lDn}}}}{{{b{dEb}}{b{{Dj{Dh}}}}{Aj{Dl}}}{{j{l{Bd{Dnf}}}}}}```{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0`{{{b{Ed}}{b{{Ef{Dh}}}}}{{j{EhBj}}}}{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}0{fl}0`{{{b{dEd}}}{{j{lDn}}}}{{{b{dc}}}{{j{l}}}{}}{cc{}}0{{{b{dEd}}Af}{{j{lBj}}}}{{}f}0{ce{}{}}0{c{{Bn{e}}}{}{}}0{{}{{j{C`Cb}}}}0`{{EjElEn{Aj{Al}}}Ed}{{{b{dEd}}{Aj{E`}}}{{j{F`Bj}}}}{b}0`{{{b{dEd}}{b{d{Dj{Dh}}}}}{{j{fDn}}}}{{{b{dc}}{b{d{Dj{Dh}}}}}{{j{l}}}{}}`{{{b{dEd}}{b{Fb}}{Aj{E`}}}{{j{lBj}}}}{{{b{dEd}}{Aj{E`}}}{{j{lDn}}}}0`{c{{j{e}}}{}{}}000{{{b{c}}}Db{}}0{{{Cj{c}}}{{Cj{Dd}}}{}}0{{{b{dc}}}{{b{dDd}}}{}}0{{{b{c}}}{{b{Dd}}}{}}0`>>{{{b{dEd}}{b{{Dj{Dh}}}}}{{j{fDn}}}}{{{b{dc}}{b{{Dj{Dh}}}}}{{j{l}}}{}}```{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{FdFfFhc}l{FjFl}}{{{b{Fd}}{b{{Dj{Dh}}}}}{{j{FnBj}}}}{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}0{fl}0`{{{b{dc}}}{{j{l}}}{}}{{{b{dFd}}}{{G`{l}}}}{cc{}}0{{{b{dFd}}Af{Aj{E`}}}{{j{lBj}}}}{{}f}0{ce{}{}}0{c{{Bn{e}}}{}{}}0{{}{{j{C`Cb}}}}0````{{EjCnGb{Aj{Al}}}Fd}{{{b{dFd}}{Aj{E`}}}{{j{FbBj}}}}{b}0``{{{b{dFd}}{b{d{Dj{Dh}}}}}{{G`{f}}}}{{{b{dc}}{b{d{Dj{Dh}}}}}{{j{l}}}{}}`{{{b{dFd}}Ff}{{j{lBj}}}}{{{b{dFd}}E`F`}{{j{lBj}}}}{{{b{dFd}}F`{Aj{E`}}}{{j{lBj}}}}{{{b{dFd}}{Aj{E`}}}{{j{lDn}}}}0`{c{{j{e}}}{}{}}000{{{b{c}}}Db{}}0{{{Cj{c}}}{{Cj{Dd}}}{}}0{{{b{dc}}}{{b{dDd}}}{}}0{{{b{c}}}{{b{Dd}}}{}}0``{ce{}{}}0{{{b{dFd}}{b{{Dj{Dh}}}}}{{G`{f}}}}{{{b{dc}}{b{{Dj{Dh}}}}}{{j{l}}}{}}```{{{b{n}}{b{dEd}}{b{dFb}}{b{dBh}}Af}{{j{lBj}}}}{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{Bl}}Fh{Aj{Ah}}}{{G`{Ej}}}}{{{b{Gd}}Fh{Aj{Ah}}}{{G`{Ej}}}}{{{b{dc}}{b{n}}{b{Fh}}{b{El}}{Aj{Al}}}{{j{EdBj}}}Bl}{f{{b{c}}}{}}{f{{b{dc}}}{}}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{fl}{{{Gh{{Bd{FhGf}}}}Gj}{{Gh{{Bd{FhGf}}}}}}{{{b{Gd}}{b{dGl}}}Gn}{cc{}}{{{b{n}}}{{j{{Gh{{Bd{FhGf}}}}Bj}}}}{{{b{n}}{Ad{{Ab{A`}}}}cAfAh{Aj{Ah}}{Aj{Al}}{Ad{{Bd{{B`{An}}Bb}}}}Bf}{{j{BhBj}}}Bl}{{}f}{ce{}{}}{c{{Bn{e}}}{}{}}{{}{{j{C`Cb}}}}{b}{{{b{Fb}}{b{dEd}}E`E`{b{H`}}}{{j{F`Bj}}}}{{{b{n}}{b{dEd}}{b{dFb}}{b{dBh}}}{{j{lBj}}}}{c{{j{e}}}{}{}}0{{{b{c}}}Db{}}{{{Cj{c}}}{{Cj{Dd}}}{}}{{{b{dc}}}{{b{dDd}}}{}}{{{b{c}}}{{b{Dd}}}{}}:{{{Gh{Hb}}{Hf{HbHd}}}l}``````````````````````````{{{b{c}}}{{b{Hh}}}{}}{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{f{{b{c}}}{}}{f{{b{dc}}}{}}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{fl}{{{b{Bj}}{b{dGl}}}Gn}0{HjBj}{HlBj}{cc{}}{HnBj}{I`Bj}{IbBj}{IdBj}{IfBj}{DnBj}{IhBj}{IjBj}{{}f}{ce{}{}}{c{{Bn{e}}}{}{}}{{}{{j{C`Cb}}}}{b}{{{b{Bj}}}{{Aj{{b{Hh}}}}}}{{{b{c}}}Ff{}}{c{{j{e}}}{}{}}0{{{b{c}}}Db{}}{{{Cj{c}}}{{Cj{Dd}}}{}}{{{b{dc}}}{{b{dDd}}}{}}{{{b{c}}}{{b{Dd}}}{}}:```````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{Fh}}}{{j{{Bd{CfCd}}Bj}}}}{f{{b{c}}}{}}00{f{{b{dc}}}{}}00{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}00{fl}00`{cc{}}00{{}f}00{ce{}{}}00{c{{Bn{e}}}{}{}}00{{}{{j{C`Cb}}}}00{b}00{{{b{dCd}}}{{j{IlBj}}}}``{{{b{Cf}}}{{j{lBj}}}}{c{{j{e}}}{}{}}00000{{{b{c}}}Db{}}00{{{Cj{c}}}{{Cj{Dd}}}{}}00{{{b{dc}}}{{b{dDd}}}{}}00{{{b{c}}}{{b{Dd}}}{}}00:::````````````````````````````{{{b{c}}In}l{}}0````````{{{b{c}}}{{b{e}}}{}{}}0000000{{{b{dc}}}{{b{de}}}{}{}}0000000{{{b{F`}}}F`}{{{b{Fb}}}Fb}{{{b{c}}{b{de}}}l{}{}}0{{{b{c}}}l{}}0``{{}J`}{{}Jb}{f{{b{c}}}{}}0000000{f{{b{dc}}}{}}0000000{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}0{{{b{Jd}}{b{{Dj{Dh}}}}}{{Jf{{b{{Dj{Dh}}}}F`c}}}{{Jh{{b{{Dj{Dh}}}}}}{Jj{{b{{Dj{Dh}}}}}}}}1{{{b{Jl}}{b{{Dj{Dh}}}}}{{Jf{{b{{Dj{Dh}}}}Fbc}}}{{Jh{{b{{Dj{Dh}}}}}}{Jj{{b{{Dj{Dh}}}}}}}}22222{fl}0000000{{{b{Jn}}{b{Jn}}}An}{{{b{K`}}{b{K`}}}An}{{{b{c}}{b{e}}}An{}{}}00000000000{{{b{F`}}{b{dGl}}}Gn}{{{b{Jn}}{b{dGl}}}Gn}{{{b{Fb}}{b{dGl}}}Gn}{{{b{K`}}{b{dGl}}}Gn}{cc{}}0000000{{{b{c}}}c{}}0`{{}f}0000000{ce{}{}}0000000{c{{Bn{e}}}{}{}}0000000{{}{{j{C`Cb}}}}0000000```{{}J`}{KbJd}{{}Jb}{{DhDhAl}Jl}````````{b}0000000{{{b{J`}}{b{F`}}{b{d{Gh{Dh}}}}}{{j{lHn}}}}{{{b{Jb}}{b{Fb}}{b{d{Gh{Dh}}}}}{{j{lHn}}}}``````````{{{b{c}}}e{}{}}0{{{b{F`}}}Ff}{c{{j{e}}}{}{}}00000{Kd{{j{Jn{Kf{Jn}}}}}}1{Kd{{j{K`{Kf{K`}}}}}}2{c{{j{Jn{Kf{Jn}}}}}{}}{c{{j{K`{Kf{K`}}}}}{}}44444444{{{b{c}}}Db{}}0000000```{{{Cj{c}}}{{Cj{Dd}}}{}}0000000{{{b{dc}}}{{b{dDd}}}{}}0000000{{{b{c}}}{{b{Dd}}}{}}0000000````{ce{}{}}0000000````````````````````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0`{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}0{fl}0`{{Khf}{{j{lBj}}}}`{cc{}}0{{{b{d{Kl{KjDl}}}}FhDlE`}{{j{lE`}}}}{{}f}0::{c{{Bn{e}}}{}{}}0``{{}{{j{C`Cb}}}}0``{{{b{n}}{b{dFd}}{Ad{{Ab{A`}}}}Af{Cj{Ch}}{Cj{Cl}}Dl}{{j{lBj}}}}`{{{Kn{{j{lBj}}}}{Kn{{j{lBj}}}}{L`{l}}CfLb}D`}{b}0`{{Fd{Ad{l}}nFh{Ad{{Ab{A`}}}}Af{Cj{Ch}}{Cj{Cl}}Bf}l}{{LbE`{Ld{l}}}{{j{lBj}}}}{{CdCf{Cj{Ch}}{Cj{Cl}}{Ad{{Ab{A`}}}}nCnAfBf}{{j{D`Bj}}}}{{{b{Dl}}{b{E`}}}{{Aj{E`}}}}{D`{{j{lBj}}}}{{{b{dFd}}{Ad{{Ab{A`}}}}{Cj{Ch}}{Aj{Lf}}{Lh{{Gh{Dh}}}}{Lh{{Gh{Dh}}}}{Lh{{Ll{Lj}}}}An{b{Dl}}E`}{{j{lBj}}}}{c{{j{e}}}{}{}}000{{{b{c}}}Db{}}0{{{Cj{c}}}{{Cj{Dd}}}{}}0{{{b{dc}}}{{b{dDd}}}{}}0{{{b{c}}}{{b{Dd}}}{}}0```{ce{}{}}0``````````{{{b{c}}In}l{}}000`````{{{b{c}}}{{b{e}}}{}{}}0000{{{b{dc}}}{{b{de}}}{}{}}0000````{{{b{Gj}}}Gj}{{{b{n}}}n}{{{b{Gb}}}Gb}{{{b{En}}}En}{{{b{c}}{b{de}}}l{}{}}000{{{b{c}}}l{}}0000```{f{{b{c}}}{}}0000{f{{b{dc}}}{}}0000{c{{j{Gj}}}Ln}{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}0{c{{j{n}}}Ln}1{c{{j{Gb}}}Ln}2{c{{j{En}}}Ln}3{fl}0000```{{{b{Gj}}{b{dGl}}}Gn}{{{b{n}}{b{dGl}}}Gn}{{{b{Gb}}{b{dGl}}}Gn}{{{b{En}}{b{dGl}}}Gn}{cc{}}00{{{b{n}}}Gb}1{{{b{n}}}En}2{{{b{En}}}Kb}{{{b{c}}}c{}}000{{}f}0000{ce{}{}}0000{c{{Bn{e}}}{}{}}0000``{{}{{j{C`Cb}}}}0000`````````````````````````````````````````````````````````````````````````{b}0000`````````````{{{b{c}}}e{}{}}000{c{{j{e}}}{}{}}000000000{{{b{c}}}Db{}}0000{{{Cj{c}}}{{Cj{Dd}}}{}}0000{{{b{dc}}}{{b{dDd}}}{}}0000{{{b{c}}}{{b{Dd}}}{}}000099999```{M`Ej}{KjKj}``{{{b{c}}In}l{}}{{{b{Lb}}{Gh{Kj}}}{{j{lBj}}}}0``{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{Lb}}}Lb}{{{b{c}}{b{de}}}l{}{}}{{{b{c}}}l{}}{{}Mb}{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}0{fl}0{{{b{Lb}}{b{dGl}}}Gn}{{{b{Mb}}{b{dGl}}}Gn}{cc{}}0{{{b{c}}}c{}}{{{b{Lb}}}{{Aj{{Md{Kj}}}}}}0{{}f}0{{{b{Mf}}{b{Mf}}}{{j{{Bd{{Aj{{Md{Kj}}}}{Aj{{Md{Kj}}}}}}Bj}}}}`{ce{}{}}0{c{{Bn{e}}}{}{}}0{{{b{Lb}}{b{Fh}}}{{j{lBj}}}}{{}{{j{C`Cb}}}}0{{{b{Mf}}An}{{j{{Aj{{Md{Kj}}}}Bj}}}}{{MhMh}{{j{LbBj}}}}{b}0{{{b{Lb}}{Gh{Kj}}}{{j{lBj}}}}0{{{b{c}}}e{}{}}{c{{j{e}}}{}{}}000{{{b{c}}}Db{}}0{{{Cj{c}}}{{Cj{Dd}}}{}}0{{{b{dc}}}{{b{dDd}}}{}}0{{{b{c}}}{{b{Dd}}}{}}0{{{b{dLb}}}{{j{lBj}}}}?>>``{{{b{Lb}}{b{Mf}}{b{{Md{Kj}}}}}{{j{lBj}}}}","D":"BLj","p":[[1,"reference"],[0,"mut"],[1,"usize"],[5,"With",1185],[6,"Result",1186],[1,"unit"],[5,"BootstrapConfig",871],[10,"FinalStateController",1187],[8,"RwLock",1188],[5,"Arc",1189],[5,"Version",1190],[5,"MassaTime",1191],[6,"Option",1192],[1,"u64"],[1,"bool"],[5,"Mutex",1193],[5,"Condvar",1194],[1,"tuple"],[5,"MassaMetrics",1195],[5,"GlobalBootstrapState",0],[6,"BootstrapError",395],[10,"BSConnector",363],[5,"Request",1196],[5,"Layout",1197],[5,"LayoutError",1197],[5,"BootstrapTcpListener",455],[5,"BootstrapListenerStopHandle",455],[10,"ConsensusController",1198],[5,"Box",1199],[10,"ProtocolController",1200],[6,"KeyPair",1201],[5,"BootstrapManager",806],[5,"TypeId",1202],[10,"Any",1202],[10,"BindingReadExact",225],[1,"u8"],[1,"slice"],[5,"Instant",1203],[5,"Error",1204],[5,"Duration",1205],[10,"BindingWriteExact",225],[5,"BootstrapClientBinder",233],[1,"array"],[5,"ServerMessageLeader",233],[5,"TcpStream",1206],[6,"PublicKey",1201],[5,"BootstrapClientConfig",871],[6,"BootstrapServerMessage",525],[6,"BootstrapClientMessage",525],[5,"BootstrapServerBinder",294],[5,"String",1207],[6,"SocketAddr",1208],[10,"FnOnce",1209],[10,"Send",1210],[5,"ClientMessageLeader",294],[8,"Result",1204],[5,"BootstrapSrvBindCfg",871],[5,"DefaultConnector",363],[5,"NodeId",1211],[5,"Vec",1212],[6,"IpType",871],[5,"Formatter",1213],[8,"Result",1213],[1,"str"],[5,"MipInfo",1214],[5,"MipState",1214],[5,"BTreeMap",1215],[10,"Error",1216],[6,"PosError",1217],[6,"ConsensusError",1218],[6,"SerializeError",1219],[6,"TimeError",1220],[6,"MassaHashError",1221],[6,"ProtocolError",1222],[6,"FinalStateError",1223],[6,"MassaSignatureError",1224],[6,"ModelsError",1225],[6,"PollEvent",455],[5,"Private",1226],[5,"BootstrapServerMessageSerializer",525],[5,"BootstrapClientMessageSerializer",525],[5,"BootstrapServerMessageDeserializer",525],[8,"IResult",1227],[10,"ParseError",1228],[10,"ContextError",1228],[5,"BootstrapClientMessageDeserializer",525],[6,"MessageServerTypeId",525],[6,"MessageClientTypeId",525],[5,"BootstrapServerMessageDeserializerArgs",871],[1,"u32"],[5,"TryFromPrimitiveError",1229],[5,"BootstrapServer",806],[6,"IpAddr",1230],[5,"HashMap",1231],[5,"JoinHandle",1232],[5,"Sender",1233],[5,"SharedWhiteBlackList",1118],[5,"Receiver",1233],[5,"Slot",1234],[6,"StreamingStep",1235],[6,"BlockId",1236],[8,"PreHashSet",1237],[10,"Deserializer",1238],[5,"TcpStream",1239],[5,"WhiteBlackListInner",1118],[5,"HashSet",1240],[5,"Path",1241],[5,"PathBuf",1241],[15,"BootstrapError",789],[15,"AskBootstrapPart",789],[15,"BootstrapPart",795],[15,"BootstrapError",795],[15,"BootstrapPeers",795],[15,"BootstrapTime",795]],"r":[[3,525],[4,525],[5,525],[6,871],[7,395],[11,806],[14,525],[15,525],[16,871],[17,525],[19,455],[23,363],[34,871],[86,363],[178,806]],"b":[[428,"impl-Debug-for-BootstrapError"],[429,"impl-Display-for-BootstrapError"],[430,"impl-From%3CPosError%3E-for-BootstrapError"],[431,"impl-From%3CConsensusError%3E-for-BootstrapError"],[433,"impl-From%3CSerializeError%3E-for-BootstrapError"],[434,"impl-From%3CTimeError%3E-for-BootstrapError"],[435,"impl-From%3CMassaHashError%3E-for-BootstrapError"],[436,"impl-From%3CProtocolError%3E-for-BootstrapError"],[437,"impl-From%3CFinalStateError%3E-for-BootstrapError"],[438,"impl-From%3CError%3E-for-BootstrapError"],[439,"impl-From%3CMassaSignatureError%3E-for-BootstrapError"],[440,"impl-From%3CModelsError%3E-for-BootstrapError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADwDgAA1AAYAQQADAEcAAQBLAAUAUgACAFkAAQBcAAAAXwACAGMAAgBnAAAAaQAAAGsAAABtAAAAcQAAAHMAAAB1AAAAdwAAAHkAAAB7AAAAfQAAAH8AAACCAAAAhAAAAIkAAACLAAAAjwAAAJEAAACUAAIAmAAHAKEAAQClAAEArQAFALQAAwC5ABMA4gACAOYAAADpAAAA6wAAAO0ABADzAAoAAQEBAAUBBAAMAQUAEwETACkBBAAwAQoAPgEBAEIBBwBMAQgAVgEVAG8BAQBzAQYAewEAAH0BAAB/AQMAhAEHAKYBCgCyAQgAvAEMAMoBCgDWAQwA5gECAOwBCAD2AQEA+QEUABACAQAWAgAAGAIAACACAAAiAgUAKQI2AGECAABjAh4AigIKAJ0CEgC0Ag8AxgJPACgDEQA9AwEAQQMJAEwDAgBQAwAAUgMAAFQDEQBnAwAAcAMDAHkDCQCFAw4AlgMYALADBQC5AwAAuwMAAL0DCQDMAwQA0wMEANoDAQDdAwEA4AMBAOMDAQDoAwEA6wMBAO4DAgDyAwEA9QMBAPgDAQD7AwEA/gMBAAIEAQAFBAEACwQBAA4EAQATBAEAFgQBABoEAQAdBAEAIQQEACcEAQAqBAEAMAQpAFsEAABeBAAAYAQBAGQEEwB6BAAAfQQDAIMECACOBAwAnAQEAA=="}],\ ["massa_channel",{"t":"FNNNNNNNNNNNNCCNNNNFONNNNNNNNNNNNNNOOONNNONNNNNNNFONNNNNNNNNNNNNONNNONNNNN","n":["MassaChannel","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","drop","from","init","into","new","receiver","sender","to_owned","try_from","try_into","type_id","MassaReceiver","actual_len","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref","deref_mut","deref_mut","drop","drop","from","init","into","name","received","receiver","recv","recv_deadline","recv_timeout","ref_counter","to_owned","try_from","try_into","try_recv","type_id","unregister_metrics","update_metrics","MassaSender","actual_len","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref","deref_mut","drop","fmt","from","init","into","name","send","send_deadline","send_timeout","sender","to_owned","try_from","try_into","try_send","type_id"],"q":[[0,"massa_channel"],[19,"massa_channel::receiver"],[49,"massa_channel::sender"],[74,"alloc::string"],[75,"core::option"],[76,"core::result"],[77,"core::any"],[78,"core::clone"],[79,"crossbeam_channel::err"],[80,"std::time"],[81,"core::time"],[82,"core::fmt"]],"i":[0,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,3,3,3,0,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8],"f":"`{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{f}}}f}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{cc{}}{{}j}{ce{}{}}{{l{n{j}}}{{Ad{{A`{c}}{Ab{c}}}}}{}}``{{{b{c}}}e{}{}}{c{{Af{e}}}{}{}}0{{{b{c}}}Ah{}}``>={{{b{{Ab{c}}}}}{{Ab{c}}}Aj}<;{{{b{{Ab{c}}}}}{{b{e}}}{}{}};{{{b{d{Ab{c}}}}}{{b{de}}}{}{}};{{{b{d{Ab{c}}}}}h{}};:98```{{{b{{Ab{c}}}}}{{Af{cAl}}}{}}{{{b{{Ab{c}}}}An}{{Af{cB`}}}{}}{{{b{{Ab{c}}}}Bb}{{Af{cB`}}}{}}`988{{{b{{Ab{c}}}}}{{Af{cBd}}}{}}8{{{b{{Ab{c}}}}}h{}}0``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{{A`{c}}}}}{{A`{c}}}Aj}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{{{b{{A`{c}}}}}{{b{e}}}{}{}}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{{A`{c}}}}{b{dBf}}}BhBj}{cc{}}{{}j}{ce{}{}}`{{{b{{A`{c}}}}c}{{Af{h{Bl{c}}}}}{}}{{{b{{A`{c}}}}cAn}{{Af{h{Bn{c}}}}}{}}{{{b{{A`{c}}}}cBb}{{Af{h{Bn{c}}}}}{}}`{{{b{c}}}e{}{}}{c{{Af{e}}}{}{}}0{{{b{{A`{c}}}}c}{{Af{h{C`{c}}}}}{}}{{{b{c}}}Ah{}}","D":"An","p":[[1,"reference"],[0,"mut"],[5,"MassaChannel",0],[1,"unit"],[1,"usize"],[5,"String",74],[6,"Option",75],[5,"MassaSender",49],[5,"MassaReceiver",19],[1,"tuple"],[6,"Result",76],[5,"TypeId",77],[10,"Clone",78],[5,"RecvError",79],[5,"Instant",80],[6,"RecvTimeoutError",79],[5,"Duration",81],[6,"TryRecvError",79],[5,"Formatter",82],[8,"Result",82],[10,"Debug",82],[5,"SendError",79],[6,"SendTimeoutError",79],[6,"TrySendError",79]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADsADgABAAgACwAAAA0ABwAWAAoAIgAAACQAAAAmAAMAKwACAC8AAAAyAAAANAAJAD8AAABBAAAAQwAHAA=="}],\ ["massa_cipher",{"t":"FGPPIPCCHCHOCOOCSSSHFNNHONNOONNNNGPPPNNNNNNNNNNNNN","n":["CipherData","CipherError","DecryptionError","EncryptionError","Salt","Utf8Error","constants","decrypt","decrypt","encrypt","encrypt","encrypted_bytes","error","nonce","salt","tests","HASH_PARAMS","NONCE_SIZE","SALT_SIZE","decrypt","CipherData","borrow","borrow_mut","encrypt","encrypted_bytes","from","into","nonce","salt","try_from","try_into","type_id","vzip","CipherError","DecryptionError","EncryptionError","Utf8Error","borrow","borrow_mut","fmt","fmt","from","from","into","source","to_string","try_from","try_into","type_id","vzip"],"q":[[0,"massa_cipher"],[16,"massa_cipher::constants"],[19,"massa_cipher::decrypt"],[20,"massa_cipher::encrypt"],[33,"massa_cipher::error"],[50,"alloc::vec"],[51,"core::result"],[52,"core::any"],[53,"core::fmt"],[54,"core::str::error"],[55,"core::error"],[56,"core::option"],[57,"alloc::string"]],"i":[0,0,6,6,0,6,0,0,0,0,0,3,0,3,3,0,0,0,0,0,0,3,3,0,3,3,3,3,3,3,3,3,3,0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6],"f":"````````{{{d{b}}f}{{n{{j{h}}l}}}}`{{{d{b}}{d{{A`{h}}}}}{{n{fl}}}}````````1`{{{d{c}}}{{d{e}}}{}{}}{{{d{Abc}}}{{d{Abe}}}{}{}}2`{cc{}}{ce{}{}}``{c{{n{e}}}{}{}}0{{{d{c}}}Ad{}}2````54{{{d{l}}{d{AbAf}}}Ah}0{Ajl}54{{{d{l}}}{{An{{d{Al}}}}}}{{{d{c}}}B`{}}5546","D":"C`","p":[[1,"str"],[1,"reference"],[5,"CipherData",20],[1,"u8"],[5,"Vec",50],[6,"CipherError",33],[6,"Result",51],[1,"slice"],[0,"mut"],[5,"TypeId",52],[5,"Formatter",53],[8,"Result",53],[5,"Utf8Error",54],[10,"Error",55],[6,"Option",56],[5,"String",57]],"r":[[0,20],[1,33],[8,19],[10,20]],"b":[[39,"impl-Debug-for-CipherError"],[40,"impl-Display-for-CipherError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABoACQABAAAABQAAAAwAAAAOAAIAFQACABkAAAAcAAUAJgAEAC0ABQA="}],\ -["massa_client",{"t":"FFHNNNNNNOQCNONCNONNNNNQOONNNNOOHQOOOOCQHNCNNNNNNNNNNOPPGFFFGFPOOONNNNNNNNNNNNPPNNNNNNNNNNNNNNNNPPNNNNNNNNNNNNNNNNNNNNNNNPPPNNPHPNPNPNHNPOONNNNNNNNNNNNNNNNNONNOONNNNNPPPPPPPPPPPNNHHNPPNPHPNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPPPPPPPPPPPKPPPPPGPPPNNNNNMNNNNNNFFNNNNNNOONNHNNNNNHNNNNNNNNNONNFFFFFONNNNNNNNNNOOONNNNNNNNNNNNONNNNNONNNNNNNNNNNNNOOOOOOONNNNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNN","n":["Args","JsonError","ask_password","augment_args","augment_args_for_update","borrow","borrow","borrow_mut","borrow_mut","chain_id","client_warning","cmds","command","command","command_for_update","display","erased_serialize","error","from","from","from_arg_matches","from_arg_matches_mut","group_id","grpc_error","grpc_private_port","grpc_public_port","into","into","into_request","into_request","ip","json","main","massa_fancy_ascii_art_logo","parameters","password","private_port","public_port","repl","rpc_error","run","serialize","settings","try_from","try_from","try_into","try_into","type_id","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","vzip","wallet","Add","AllowAll","Command","CommandIter","ExtendedWallet","ExtendedWalletEntry","ListOperation","ListOperationIter","Remove","address_info","back_idx","back_idx","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buy_rolls","call_smart_contract","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","eq","equivalent","equivalent","equivalent","equivalent","erased_serialize","erased_serialize","execute_smart_contract","exit","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_str","from_str","get","get","get_addresses","get_blocks","get_datastore_entry","get_detailed_message","get_documentation","get_endorsements","get_file_as_byte_vec","get_filtered_sc_output_event","get_message","get_operations","get_serializations","get_status","get_str","help","help","help","idx","idx","into","into","into","into","into","into","into_iter","into_iter","into_request","into_request","into_request","into_request","into_request","into_request","is_pwd_needed","iter","iter","keypair","len","len","marker","marker","new","next","next","next_back","next_back","node_ban_by_id","node_ban_by_ip","node_bootstrap_blacklist","node_bootstrap_whitelist","node_get_staking_addresses","node_peers_whitelist","node_start_staking","node_stop","node_stop_staking","node_unban_by_id","node_unban_by_ip","nth","nth","parse_key_value","parse_vec","pretty_print","read_only_call","read_only_execute_smart_contract","run","sell_rolls","send_operation","send_transaction","serialize","serialize","show_keys","size_hint","size_hint","to_owned","to_owned","to_owned","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","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","wallet_add_secret_keys","wallet_generate_secret_key","wallet_get_public_key","wallet_get_secret_key","wallet_info","wallet_remove_addresses","wallet_sign","when_moon","Bad","Block","Coins","Finished","Good","Id","Output","Pending","Protocol","Secret","Separator","Signature","Style","Time","Unknown","Wallet","borrow","borrow_mut","from","into","into_request","pretty_print","stdout_json","style","try_from","try_into","type_id","vzip","MassaCompleter","MyHelper","borrow","borrow","borrow_mut","borrow_mut","complete","complete","completer","file_completer","from","from","group_parameters","into","into","into_request","into_request","new","run","try_from","try_from","try_into","try_into","type_id","type_id","update","validate","validate_while_typing","validator","vzip","vzip","ClientSettings","DefaultNode","HttpSettings","SETTINGS","Settings","__private_field","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","certificate_store","chain_id","client","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","default_node","deref","deserialize","deserialize","deserialize","deserialize","enabled","fmt","fmt","fmt","fmt","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","grpc_private_port","grpc_public_port","headers","history","history_file_path","http","id_kind","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","ip","max_concurrent_requests","max_log_length","max_request_body_size","private_port","public_port","request_timeout","timeout","to_owned","to_owned","to_owned","to_owned","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"],"q":[[0,"massa_client"],[54,"massa_client::cmds"],[234,"massa_client::display"],[262,"massa_client::repl"],[293,"massa_client::settings"],[393,"std::path"],[394,"alloc::string"],[395,"clap_builder::builder::command"],[396,"erased_serde::ser"],[397,"erased_serde::error"],[398,"core::result"],[399,"clap_builder::parser::matches::arg_matches"],[400,"clap_builder"],[401,"clap_builder::util::id"],[402,"core::option"],[403,"tonic::request"],[404,"anyhow"],[405,"serde::ser"],[406,"core::any"],[407,"core::fmt"],[408,"alloc::vec"],[409,"massa_wallet"],[410,"massa_api_exports::address"],[411,"std::collections::hash::map"],[412,"core::str::traits"],[413,"massa_sdk"],[414,"alloc::boxed"],[415,"massa_models::operation"],[416,"massa_models::amount"],[417,"massa_models::address"],[418,"console::utils"],[419,"rustyline"],[420,"rustyline::line_buffer"],[421,"rustyline::undo"],[422,"rustyline::validate"],[423,"serde::de"]],"i":[0,0,0,11,11,11,18,11,18,11,0,0,11,11,11,0,18,18,11,18,11,11,11,0,11,11,11,18,11,18,11,11,0,0,11,11,11,11,0,0,0,18,0,11,18,11,18,11,18,11,11,11,18,11,28,28,0,0,0,0,0,0,28,29,22,23,21,22,23,28,29,30,21,22,23,28,29,30,21,21,21,22,23,21,22,23,21,22,23,21,21,21,21,21,29,30,21,21,21,21,22,23,28,28,29,29,30,30,21,22,23,28,29,30,21,22,23,21,28,22,23,21,21,21,21,21,21,0,21,21,21,21,21,21,0,21,21,22,23,21,22,23,28,29,30,22,23,21,22,23,28,29,30,21,21,28,29,22,23,22,23,30,22,23,22,23,21,21,21,21,21,21,21,21,21,21,21,22,23,0,0,30,21,21,21,21,0,21,29,30,29,22,23,21,22,23,21,28,29,30,21,21,22,23,28,28,29,30,21,22,23,28,29,30,21,22,23,28,29,30,21,22,23,28,29,30,21,21,21,21,21,21,21,21,48,48,48,48,48,48,0,48,48,48,48,48,0,48,48,48,48,48,48,48,48,42,42,48,48,48,48,48,0,0,51,54,51,54,51,54,54,51,51,54,0,51,54,51,54,51,0,51,54,51,54,51,54,54,54,54,54,51,54,0,0,0,0,0,63,63,59,60,61,62,63,59,60,61,62,61,60,59,59,60,61,62,59,60,61,62,59,60,61,62,59,63,59,60,61,62,62,59,60,61,62,63,59,60,61,62,59,60,61,62,60,60,61,59,59,61,61,63,59,60,61,62,63,59,60,61,62,60,61,61,61,60,60,61,59,59,60,61,62,63,59,60,61,62,63,59,60,61,62,63,59,60,61,62,63,59,60,61,62],"f":"``{{{d{b}}}f}{hh}0{{{d{c}}}{{d{e}}}{}{}}0{{{d{jc}}}{{d{je}}}{}{}}0```{{}h}`0`{{{d{c}}{d{jl}}}{{Ab{nA`}}}{}}`{cc{}}0{{{d{Ad}}}{{Ab{AfAh}}}}{{{d{jAd}}}{{Ab{AfAh}}}}{{}{{Al{Aj}}}}```{ce{}{}}0{c{{An{e}}}{}{}}0``{{}{{Bb{B`}}}}```````{Af{{Bb{B`}}}}{{{d{Bd}}c}AbBf}`{c{{Ab{e}}}{}{}}000{{{d{c}}}Bh{}}0{{{d{jAf}}{d{Ad}}}{{Ab{B`Ah}}}}{{{d{jAf}}{d{jAd}}}{{Ab{B`Ah}}}}88`````````````{{{d{c}}}{{d{e}}}{}{}}00000{{{d{jc}}}{{d{je}}}{}{}}00000``{{{d{Bj}}}Bj}{{{d{Bl}}}Bl}{{{d{Bn}}}Bn}{{{d{c}}{d{je}}}B`{}{}}00{{{d{c}}}B`{}}00{{{d{Bj}}{d{Bj}}}C`}{{{d{c}}{d{e}}}C`{}{}}000{{{d{c}}{d{jl}}}{{Ab{nA`}}}{}}0``{{{d{Bj}}{d{jCb}}}Cd}{{{d{Bj}}{d{jCb}}}{{Ab{B`Cf}}}}{{{d{Bl}}{d{jCb}}}Cd}{{{d{Bn}}{d{jCb}}}Cd}{{{d{Ch}}{d{jCb}}}{{Ab{B`Cf}}}}{{{d{Ch}}{d{jCb}}}Cd}{{{d{Cj}}{d{jCb}}}Cd}0{{{d{Cl}}{d{jCb}}}Cd}0{cc{}}00000{{{d{c}}}c{}}00{{{d{Cn}}}{{Ab{Bjc}}}{}}{{{d{Cn}}}{{Ab{Chc}}}{}}{{{d{Bl}}D`}{{Al{Bj}}}}{{{d{Bn}}D`}{{Al{Ch}}}}```{{{d{Bj}}}{{Al{{d{Cn}}}}}}0`{{{d{b}}}{{Bb{{Dd{Db}}}}}}`1`{{{d{Bj}}}{{d{{Df{{d{Cn}}}}}}}}`{{{d{Bj}}{d{Cn}}}{{Al{{d{Cn}}}}}}{{}B`}{{{d{Bj}}}B`}```{ce{}{}}0000000{c{{An{e}}}{}{}}00000{{{d{Bj}}}C`}{{}Bl}{{}Bn}`{{{d{Bl}}}D`}{{{d{Bn}}}D`}``{{{d{Dh}}{d{{Df{Dj}}}}C`}{{Bb{Cl}}}}{{{d{jBl}}}{{Al{c}}}{}}{{{d{jBn}}}{{Al{c}}}{}}10```````````{{{d{jBl}}D`}{{Al{c}}}{}}{{{d{jBn}}D`}{{Al{c}}}{}}{{{d{{Dl{{d{Cn}}{d{Cn}}}}}}{d{Cn}}}{{Bb{{Al{c}}Dn}}}E`}{{{d{{Df{f}}}}}{{Bb{{Dd{c}}Dn}}}E`}{{{d{Cl}}}B`}``{{{d{Bj}}{d{jEb}}{d{j{Al{Dh}}}}{d{{Df{f}}}}C`}{{Bb{{Ef{Ed}}}}}}`{{{d{Eb}}{d{Dh}}EhEjElC`}{{Bb{{Ef{Ed}}}}}}`{{{d{Cj}}c}AbBf}{{{d{Cl}}c}AbBf}`{{{d{Bl}}}{{En{D`{Al{D`}}}}}}{{{d{Bn}}}{{En{D`{Al{D`}}}}}}{{{d{c}}}e{}{}}00{{{d{c}}}f{}}000{{{d{Cn}}}{{Ab{Bjc}}}{}}{c{{Ab{e}}}{}{}}000{{{d{Cn}}}{{Ab{Chc}}}{}}11111111{{{d{c}}}Bh{}}00000{ce{}{}}00000````````````````````````{{{d{c}}}{{d{e}}}{}{}}{{{d{jc}}}{{d{je}}}{}{}}{cc{}}3{c{{An{e}}}{}{}}{{{d{Ed}}}B`}{{{d{Ed}}}{{Bb{B`}}}}{{{d{F`}}c}{{Fb{f}}}Fd}::87``6655{{{d{Ff}}{d{Cn}}D`{d{Fh}}}{{Fj{{En{D`{Dd{c}}}}}}}{}}{{{d{Fl}}{d{Cn}}D`{d{Fh}}}{{Fj{{En{D`{Dd{c}}}}}}}{}}``66{{{Dd{f}}}{{Dd{f}}}}::66{{}Ff}{{{d{jEb}}{d{b}}{Al{f}}}{{Bb{B`}}}}????=={{{d{Fl}}{d{jFn}}D`{d{Cn}}{d{jG`}}}B`}{{{d{Fl}}{d{jGb}}}{{Fj{Gd}}}}{{{d{Fl}}}C`}`??``````>>>>>=====```{{{d{Gf}}}Gf}{{{d{Gh}}}Gh}{{{d{Gj}}}Gj}{{{d{Gl}}}Gl}{{{d{c}}{d{je}}}B`{}{}}000{{{d{c}}}B`{}}000`{{{d{Gn}}}{{d{Gf}}}}{c{{Ab{Gf}}}H`}{c{{Ab{Gh}}}H`}{c{{Ab{Gj}}}H`}{c{{Ab{Gl}}}H`}`{{{d{Gf}}{d{jCb}}}Cd}{{{d{Gh}}{d{jCb}}}Cd}{{{d{Gj}}{d{jCb}}}Cd}{{{d{Gl}}{d{jCb}}}Cd}{cc{}}0000{{{d{c}}}c{}}000```````{ce{}{}}0000{c{{An{e}}}{}{}}0000````````{{{d{c}}}e{}{}}000{c{{Ab{e}}}{}{}}000000000{{{d{c}}}Bh{}}000044444","D":"Jd","p":[[5,"Path",393],[1,"reference"],[5,"String",394],[5,"Command",395],[0,"mut"],[10,"Serializer",396],[5,"Ok",396],[5,"Error",397],[6,"Result",398],[5,"ArgMatches",399],[5,"Args",0],[8,"Error",400],[5,"Id",401],[6,"Option",402],[5,"Request",403],[1,"unit"],[8,"Result",404],[5,"JsonError",0],[10,"Serializer",405],[5,"TypeId",406],[6,"Command",54],[5,"CommandIter",54],[5,"ListOperationIter",54],[1,"bool"],[5,"Formatter",407],[8,"Result",407],[5,"Error",407],[6,"ListOperation",54],[5,"ExtendedWalletEntry",54],[5,"ExtendedWallet",54],[1,"str"],[1,"usize"],[1,"u8"],[5,"Vec",408],[1,"slice"],[5,"Wallet",409],[5,"AddressInfo",410],[5,"HashMap",411],[5,"Error",404],[10,"FromStr",412],[5,"Client",413],[10,"Output",234],[5,"Box",414],[6,"OperationType",415],[5,"Amount",416],[6,"Address",417],[1,"tuple"],[6,"Style",234],[5,"StyledObject",418],[10,"ToString",394],[5,"MassaCompleter",262],[5,"Context",419],[8,"Result",419],[5,"MyHelper",262],[5,"LineBuffer",420],[5,"Changeset",421],[5,"ValidationContext",422],[6,"ValidationResult",422],[5,"Settings",293],[5,"DefaultNode",293],[5,"ClientSettings",293],[5,"HttpSettings",293],[5,"SETTINGS",293],[10,"Deserializer",423]],"r":[],"b":[[98,"impl-Debug-for-Command"],[99,"impl-Display-for-Command"],[102,"impl-Display-for-ListOperation"],[103,"impl-Debug-for-ListOperation"],[104,"impl-Debug-for-ExtendedWalletEntry"],[105,"impl-Display-for-ExtendedWalletEntry"],[106,"impl-Display-for-ExtendedWallet"],[107,"impl-Debug-for-ExtendedWallet"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADcBIwABAAEABAAFAAwAAQAPAAMAFQACAB0AAQAhAAAAJwAAACkAAQAsAAkANwABAD0AAAA/AAAAQQArAHMADACBAAUAiQACAJIABwCbAAEAngADAKMAEQC2AAIAugAAALwAAgDAACoA8QAAAPcAAAD7AAEA/wARABMBAAAWAQ8AJwEAACkBJgBVAQoAZQEkAA=="}],\ -["massa_consensus_exports",{"t":"FFFKKOCOOCOCOOOOOOOCMOCOOOCCOCOOOOOMMMMMMMMOMOOOOOOOOMMOCOMOOFNOONNNNNNNNONNNNOONNNONONNNNNNNNNPPPPPPGGGPPPGFPPPPGPPPPPGPGPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOFFFNOONNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNOONNNNONNNNNNONNNNNNNNOONNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNKKMMMMMMMMMMMMMPGPPPPPPGPPGPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGPPNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNOOONNNOONNONNNNNNNNNNNNNNNNNNNNNNNFNOONNOOOOOONNNONNNNNOONOONNOONNNONOOOOOONNOOONNNNNNNN","n":["ConsensusBroadcasts","ConsensusChannels","ConsensusConfig","ConsensusController","ConsensusManager","block_db_prune_interval","block_graph_export","block_header_sender","block_sender","block_status","bootstrap_part_size","bootstrapable_graph","broadcast_blocks_channel_capacity","broadcast_blocks_headers_channel_capacity","broadcast_enabled","broadcast_filled_blocks_channel_capacity","broadcasts","chain_id","channel_size","channels","clone_box","controller_event_tx","controller_trait","delta_f0","end_timestamp","endorsement_count","error","events","execution_controller","export_active_block","filled_block_sender","force_keep_final_periods","force_keep_final_periods_without_ops","genesis_key","genesis_timestamp","get_best_parents","get_block_graph_status","get_block_statuses","get_blockclique_block_at_slot","get_bootstrap_part","get_cliques","get_latest_blockclique_block_at_slot","get_stats","last_start_period","mark_invalid_block","max_dependency_blocks","max_discarded_blocks","max_future_processing_blocks","max_gas_per_block","operation_validity_periods","periods_per_cycle","pool_controller","protocol_controller","register_block","register_block_header","selector_controller","settings","stats_timespan","stop","t0","thread_count","BlockGraphExport","__clone_box","active_blocks","best_parents","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","discarded_blocks","drop","fmt","from","from_ref","genesis_blocks","gi_head","init","into","into_request","latest_final_blocks_periods","layout_raw","max_cliques","pointer_metadata","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","Active","Active","Active","Active","Block","Block","BlockStatus","BlockStatusId","DiscardReason","Discarded","Discarded","Discarded","ExportBlockStatus","ExportCompiledBlock","Final","Final","Final","Header","HeaderOrBlock","Incoming","Incoming","Incoming","Invalid","Stale","Status","Storage","StorageOrBlock","WaitingForDependencies","WaitingForDependencies","WaitingForDependencies","WaitingForSlot","WaitingForSlot","WaitingForSlot","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","children","clone","clone","clone","clone","clone","clone","clone","clone","clone_block","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","deref","deref","deref","deref","deref","deref","deref","deref","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","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","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","fmt","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","get_slot","header","init","init","init","init","init","init","init","init","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","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","serialize","serialize","serialize","serialize","strip_to_block","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_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","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_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","a_block","creator","header_or_block","parents","reason","sequence_number","sequence_number","slot","storage_or_block","unsatisfied_dependencies","id","slot","storage","BootstrapableGraph","BootstrapableGraphDeserializer","BootstrapableGraphSerializer","__clone_box","block_count_deserializer","block_count_serializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","export_active_block_deserializer","export_active_block_serializer","final_blocks","fmt","from","from","from","from_ref","init","init","init","into","into","into","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","new","new","pointer_metadata","pointer_metadata","pointer_metadata","serialize","serialize","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","ConsensusBroadcasts","ConsensusChannels","__clone_box","__clone_box","block_header_sender","block_sender","borrow","borrow","borrow_mut","borrow_mut","broadcasts","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","controller_event_tx","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","execution_controller","filled_block_sender","from","from","from_ref","from_ref","init","init","into","into","into_request","into_request","layout_raw","layout_raw","pointer_metadata","pointer_metadata","pool_controller","protocol_controller","selector_controller","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","ConsensusController","ConsensusManager","clone_box","get_best_parents","get_block_graph_status","get_block_statuses","get_blockclique_block_at_slot","get_bootstrap_part","get_cliques","get_latest_blockclique_block_at_slot","get_stats","mark_invalid_block","register_block","register_block_header","stop","AmountOverflowError","ConsensusError","ContainerInconsistency","ExecutionError","FitnessOverflow","GenesisCreationError","IOError","IOError","InternalError","InvalidLedgerChange","InvalidTransition","LedgerError","LedgerError","LedgerInconsistency","MassaTimeError","MissingBlock","MissingOperation","ModelsError","ModelsError","PosCycleUnavailable","ProtocolError","SerdeError","SerdeError","SerializationError","TransactionError","TransactionError","TryFromSliceError","as_error","as_error","as_error","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","init","init","init","into","into","into","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","pointer_metadata","pointer_metadata","pointer_metadata","source","source","to_string","to_string","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","vzip","vzip","vzip","ConsensusEvent","NeedSync","Stop","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","fmt","from","from_ref","init","into","into_request","layout_raw","pointer_metadata","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","ExportActiveBlock","ExportActiveBlockDeserializer","ExportActiveBlockSerializer","__clone_box","block","block_id_deserializer","block_id_serializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","fmt","from","from","from","from_active_block","from_ref","init","init","init","into","into","into","into_request","into_request","into_request","is_final","layout_raw","layout_raw","layout_raw","new","new","parents","period_deserializer","period_serializer","pointer_metadata","pointer_metadata","pointer_metadata","sec_share_block_deserializer","sec_share_serializer","serialize","serialize","thread_count","to_active_block","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","ConsensusConfig","__clone_box","block_db_prune_interval","bootstrap_part_size","borrow","borrow_mut","broadcast_blocks_channel_capacity","broadcast_blocks_headers_channel_capacity","broadcast_enabled","broadcast_filled_blocks_channel_capacity","chain_id","channel_size","clone","clone_into","clone_to_uninit","delta_f0","deref","deref_mut","deserialize","deserialize","drop","end_timestamp","endorsement_count","fmt","force_keep_final_periods","force_keep_final_periods_without_ops","from","from_ref","genesis_key","genesis_timestamp","init","into","into_request","last_start_period","layout_raw","max_dependency_blocks","max_discarded_blocks","max_future_processing_blocks","max_gas_per_block","operation_validity_periods","periods_per_cycle","pointer_metadata","serialize","stats_timespan","t0","thread_count","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip"],"q":[[0,"massa_consensus_exports"],[61,"massa_consensus_exports::block_graph_export"],[95,"massa_consensus_exports::block_status"],[372,"massa_consensus_exports::block_status::BlockStatus"],[382,"massa_consensus_exports::block_status::HeaderOrBlock"],[385,"massa_consensus_exports::bootstrapable_graph"],[464,"massa_consensus_exports::channels"],[525,"massa_consensus_exports::controller_trait"],[540,"massa_consensus_exports::error"],[649,"massa_consensus_exports::events"],[678,"massa_consensus_exports::export_active_block"],[764,"massa_consensus_exports::settings"],[818,"alloc::boxed"],[819,"massa_models::block_id"],[820,"alloc::vec"],[821,"massa_models::slot"],[822,"core::option"],[823,"core::result"],[824,"massa_models::block"],[825,"massa_models::prehash"],[826,"massa_models::streaming_step"],[827,"massa_models::clique"],[828,"massa_models::stats"],[829,"massa_models::block_header"],[830,"massa_models::secure_share"],[831,"massa_storage"],[832,"dyn_clone::sealed"],[833,"rkyv::with"],[834,"core::fmt"],[835,"tonic::request"],[836,"core::alloc::layout"],[837,"core::any"],[838,"serde::de"],[839,"serde::ser"],[840,"nom::internal"],[841,"nom::error"],[842,"massa_serialization"],[843,"core::error"],[844,"massa_protocol_exports::error"],[845,"massa_time::error"],[846,"massa_execution_exports::error"],[847,"serde_json::error"],[848,"std::io::error"],[849,"massa_models::error"],[850,"core::array"],[851,"alloc::string"],[852,"massa_models::active_block"]],"i":[0,0,0,0,0,75,0,58,58,0,75,0,75,75,75,75,57,75,75,0,1,57,0,75,75,75,0,0,57,0,58,75,75,75,75,1,1,1,1,1,1,1,1,75,1,75,75,75,75,75,75,57,57,1,1,57,0,75,26,75,75,0,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,39,41,42,44,37,40,0,0,0,39,41,42,0,0,38,42,44,37,0,39,41,42,38,38,0,40,0,39,41,42,39,41,42,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,43,37,38,39,40,41,42,43,44,40,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,38,39,40,41,42,42,43,43,44,44,37,38,39,40,41,42,43,44,38,39,44,38,38,38,38,38,38,39,39,39,39,39,39,44,44,44,44,44,44,37,38,39,40,41,42,43,44,37,38,39,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,43,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,43,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,38,42,43,44,40,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,76,77,78,77,77,78,77,77,76,78,79,79,79,0,0,0,17,49,48,49,17,48,49,17,48,17,17,17,48,49,17,48,49,17,48,49,49,17,17,48,49,17,48,49,48,17,17,49,17,48,17,49,17,48,49,17,48,49,17,48,49,17,48,49,48,49,17,48,17,48,17,49,17,48,49,17,48,49,17,48,49,17,48,49,17,48,49,17,48,49,17,48,0,0,57,58,58,58,57,58,57,58,57,57,58,57,58,57,58,57,57,58,57,58,57,58,57,58,57,58,57,58,57,58,57,58,57,58,57,58,57,58,57,58,57,57,57,57,58,57,58,57,58,57,58,57,58,57,58,57,58,57,58,0,0,1,1,1,1,1,1,1,1,1,1,1,1,26,61,0,11,11,11,11,11,61,0,11,11,0,11,61,11,11,11,11,61,11,11,11,61,11,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,11,11,60,60,61,61,11,11,11,11,11,11,11,11,60,61,61,61,61,61,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,11,61,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,0,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,0,0,0,71,71,73,72,73,71,72,73,71,72,71,71,71,72,73,71,72,73,71,72,73,73,71,71,72,73,71,72,71,73,71,72,71,71,73,71,72,73,71,72,73,71,72,71,73,71,72,73,72,71,73,72,73,71,72,73,72,71,72,73,71,71,73,71,72,73,71,72,73,71,72,73,71,72,73,71,72,73,71,72,73,71,72,0,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75],"f":"````````````````````{{{d{b}}}{{f{b}}}}``````````````{{{d{b}}}{{n{{l{hj}}}}}}{{{d{b}}{Ab{A`}}{Ab{A`}}}{{Ah{AdAf}}}}{{{d{b}}{d{{Aj{h}}}}}{{n{Al}}}}{{{d{b}}A`}{{Ab{h}}}}{{{d{b}}{B`{{An{h}}}}{B`{A`}}}{{Ah{{l{Bb{An{h}}{B`{{An{h}}}}}}Af}}}}{{{d{b}}}{{n{Bd}}}}{{{d{b}}A`}h}{{{d{b}}}{{Ah{BfAf}}}}`{{{d{b}}h{Bj{Bhh}}}Bl}````````{{{d{b}}hA`BnC`}Bl}1```{{{d{CbCd}}}Bl}```{{{d{c}}Cf}Bl{}}``{{{d{c}}}{{d{e}}}{}{}}{{{d{Cbc}}}{{d{Cbe}}}{}{}}{{{d{Ad}}}Ad}{{{d{c}}{d{Cbe}}}Bl{}{}}{{{d{c}}}Bl{}}{Ch{{d{c}}}{}}{Ch{{d{Cbc}}}{}}{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}`{ChBl}{{{d{Ad}}{d{CbCl}}}Cn}{cc{}}{{{d{c}}}c{}}``{{}Ch}{ce{}{}}{c{{D`{e}}}{}{}}`{{}{{Ah{DbDd}}}}`{d}{{{d{c}}}e{}{}}{c{{Ah{e}}}{}{}}0{{{d{c}}}Df{}}{{{f{c}}}{{f{Dh}}}{}}{{{d{Cbc}}}{{d{CbDh}}}{}}{{{d{c}}}{{d{Dh}}}{}}9`````````````````````````````````{{{d{c}}Cf}Bl{}}0000000{{{d{c}}}{{d{e}}}{}{}}0000000{{{d{Cbc}}}{{d{Cbe}}}{}{}}0000000`{{{d{Dj}}}Dj}{{{d{Dl}}}Dl}{{{d{Dn}}}Dn}{{{d{E`}}}E`}{{{d{Eb}}}Eb}{{{d{Ed}}}Ed}{{{d{Ef}}}Ef}{{{d{Eh}}}Eh}{{{d{E`}}{d{h}}}Ej}{{{d{c}}{d{Cbe}}}Bl{}{}}0000000{{{d{c}}}Bl{}}0000000{Ch{{d{c}}}{}}0000000{Ch{{d{Cbc}}}{}}0000000{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}{c{{Ah{Dl}}}El}11111{c{{Ah{Ed}}}El}{c{{Ah{Ef}}}El}33{c{{Ah{Eh}}}El}{ChBl}0000000{{{d{Dl}}{d{Dl}}}C`}{{{d{Dn}}{d{Dn}}}C`}{{{d{Eh}}{d{Eh}}}C`}{{{d{c}}{d{e}}}C`{}{}}00000000000000000{{{d{Dj}}{d{CbCl}}}Cn}{{{d{Dl}}{d{CbCl}}}Cn}{{{d{Dn}}{d{CbCl}}}Cn}{{{d{E`}}{d{CbCl}}}Cn}{{{d{Eb}}{d{CbCl}}}Cn}{{{d{Ed}}{d{CbCl}}}Cn}{{{d{Ef}}{d{CbCl}}}Cn}{{{d{Eh}}{d{CbCl}}}Cn}{cc{}}00{{{d{Eb}}}Dn}11111{{{d{c}}}c{}}0000000{{{d{Dj}}}A`}`{{}Ch}0000000{ce{}{}}0000000{c{{D`{e}}}{}{}}0000000`{{}{{Ah{DbDd}}}}0000000{d}0000000{{{d{Dl}}c}AhEn}{{{d{Ed}}c}AhEn}{{{d{Ef}}c}AhEn}{{{d{Eh}}c}AhEn}{{{d{CbE`}}{d{h}}}Bl}{{{d{c}}}e{}{}}0000000{c{{Ah{e}}}{}{}}000000000000000{{{d{c}}}Df{}}0000000{{{f{c}}}{{f{Dh}}}{}}0000000{{{d{Cbc}}}{{d{CbDh}}}{}}0000000{{{d{c}}}{{d{Dh}}}{}}0000000>>>>>>>>````````````````{{{d{c}}Cf}Bl{}}``{{{d{c}}}{{d{e}}}{}{}}00{{{d{Cbc}}}{{d{Cbe}}}{}{}}00{{{d{Bb}}}Bb}{{{d{c}}{d{Cbe}}}Bl{}{}}{{{d{c}}}Bl{}}{{}F`}{Ch{{d{c}}}{}}00{Ch{{d{Cbc}}}{}}00{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}{{{d{Fb}}{d{{Aj{Fd}}}}}{{Ff{{d{{Aj{Fd}}}}Bbc}}}{{Fh{{d{{Aj{Fd}}}}}}{Fj{{d{{Aj{Fd}}}}}}}}{c{{Ah{Bb}}}El}22{ChBl}00```{{{d{Bb}}{d{CbCl}}}Cn}{cc{}}00{{{d{c}}}c{}}{{}Ch}00{ce{}{}}00{c{{D`{e}}}{}{}}00{{}{{Ah{DbDd}}}}00{{FlFn}Fb}>{d}00{{{d{Bb}}c}AhEn}{{{d{F`}}{d{Bb}}{d{Cb{n{Fd}}}}}{{Ah{BlG`}}}}{{{d{c}}}e{}{}}{c{{Ah{e}}}{}{}}00000{{{d{c}}}Df{}}00{{{f{c}}}{{f{Dh}}}{}}00{{{d{Cbc}}}{{d{CbDh}}}{}}00{{{d{c}}}{{d{Dh}}}{}}00<<<``{{{d{c}}Cf}Bl{}}0``{{{d{c}}}{{d{e}}}{}{}}0{{{d{Cbc}}}{{d{Cbe}}}{}{}}0`{{{d{Gb}}}Gb}{{{d{Gd}}}Gd}{{{d{c}}{d{Cbe}}}Bl{}{}}0{{{d{c}}}Bl{}}0`{Ch{{d{c}}}{}}0{Ch{{d{Cbc}}}{}}0{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}0{ChBl}0``{cc{}}0{{{d{c}}}c{}}0{{}Ch}0{ce{}{}}0{c{{D`{e}}}{}{}}0{{}{{Ah{DbDd}}}}0{d}0```{{{d{c}}}e{}{}}0{c{{Ah{e}}}{}{}}000{{{d{c}}}Df{}}0{{{f{c}}}{{f{Dh}}}{}}0{{{d{Cbc}}}{{d{CbDh}}}{}}0{{{d{c}}}{{d{Dh}}}{}}099``{{{d{b}}}{{f{b}}}}{{{d{b}}}{{n{{l{hj}}}}}}{{{d{b}}{Ab{A`}}{Ab{A`}}}{{Ah{AdAf}}}}{{{d{b}}{d{{Aj{h}}}}}{{n{Al}}}}{{{d{b}}A`}{{Ab{h}}}}{{{d{b}}{B`{{An{h}}}}{B`{A`}}}{{Ah{{l{Bb{An{h}}{B`{{An{h}}}}}}Af}}}}{{{d{b}}}{{n{Bd}}}}{{{d{b}}A`}h}{{{d{b}}}{{Ah{BfAf}}}}{{{d{b}}h{Bj{Bhh}}}Bl}{{{d{b}}hA`BnC`}Bl}1{{{d{CbCd}}}Bl}```````````````````````````{{{d{c}}}{{d{Gf}}}{}}00{{{d{c}}}{{d{e}}}{}{}}00{{{d{Cbc}}}{{d{Cbe}}}{}{}}00{Ch{{d{c}}}{}}00{Ch{{d{Cbc}}}{}}00{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}00{ChBl}00{{{d{Af}}{d{CbCl}}}Cn}0{{{d{Gh}}{d{CbCl}}}Cn}0{{{d{Gj}}{d{CbCl}}}Cn}0{GlAf}{GnAf}{cc{}}{H`Af}{GjAf}{HbAf}{HdAf}{HfAf}5{HhGj}6{HbGj}{HdGj}{HfGj}{{}Ch}00{ce{}{}}00{c{{D`{e}}}{}{}}00{{}{{Ah{DbDd}}}}00{d}00{{{d{Af}}}{{Ab{{d{Gf}}}}}}{{{d{Gj}}}{{Ab{{d{Gf}}}}}}{{{d{c}}}Hj{}}00{c{{Ah{e}}}{}{}}00000{{{d{c}}}Df{}}00{{{f{c}}}{{f{Dh}}}{}}00{{{d{Cbc}}}{{d{CbDh}}}{}}00{{{d{c}}}{{d{Dh}}}{}}00;;;```{{{d{c}}Cf}Bl{}}{{{d{c}}}{{d{e}}}{}{}}{{{d{Cbc}}}{{d{Cbe}}}{}{}}{{{d{Hl}}}Hl}{{{d{c}}{d{Cbe}}}Bl{}{}}{{{d{c}}}Bl{}}{Ch{{d{c}}}{}}{Ch{{d{Cbc}}}{}}{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}{ChBl}{{{d{Hl}}{d{CbCl}}}Cn}{cc{}}{{{d{c}}}c{}}{{}Ch}{ce{}{}}{c{{D`{e}}}{}{}}{{}{{Ah{DbDd}}}}{d}{{{d{c}}}e{}{}}{c{{Ah{e}}}{}{}}0{{{d{c}}}Df{}}{{{f{c}}}{{f{Dh}}}{}}{{{d{Cbc}}}{{d{CbDh}}}{}}{{{d{c}}}{{d{Dh}}}{}}9```{{{d{c}}Cf}Bl{}}```{{{d{c}}}{{d{e}}}{}{}}00{{{d{Cbc}}}{{d{Cbe}}}{}{}}00{{{d{Hn}}}Hn}{{{d{c}}{d{Cbe}}}Bl{}{}}{{{d{c}}}Bl{}}{{}I`}{Ch{{d{c}}}{}}00{Ch{{d{Cbc}}}{}}00{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}{{{d{Ib}}{d{{Aj{Fd}}}}}{{Ff{{d{{Aj{Fd}}}}Hnc}}}{{Fh{{d{{Aj{Fd}}}}}}{Fj{{d{{Aj{Fd}}}}}}}}{c{{Ah{Hn}}}El}22{ChBl}00{{{d{Hn}}{d{CbCl}}}Cn}{cc{}}00{{{d{Id}}{d{E`}}}Hn}{{{d{c}}}c{}}{{}Ch}00{ce{}{}}00{c{{D`{e}}}{}{}}00`{{}{{Ah{DbDd}}}}00{FlIb}?```{d}00``{{{d{Hn}}c}AhEn}{{{d{I`}}{d{Hn}}{d{Cb{n{Fd}}}}}{{Ah{BlG`}}}}`{{HnFd}{{Ah{{l{IdE`}}Af}}}}{{{d{c}}}e{}{}}{c{{Ah{e}}}{}{}}00000{{{d{c}}}Df{}}00{{{f{c}}}{{f{Dh}}}{}}00{{{d{Cbc}}}{{d{CbDh}}}{}}00{{{d{c}}}{{d{Dh}}}{}}00===`{{{d{c}}Cf}Bl{}}``{{{d{c}}}{{d{e}}}{}{}}{{{d{Cbc}}}{{d{Cbe}}}{}{}}``````{{{d{If}}}If}{{{d{c}}{d{Cbe}}}Bl{}{}}{{{d{c}}}Bl{}}`{Ch{{d{c}}}{}}{Ch{{d{Cbc}}}{}}{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}{c{{Ah{If}}}El}{ChBl}``{{{d{If}}{d{CbCl}}}Cn}``{cc{}}{{{d{c}}}c{}}``{{}Ch}{ce{}{}}{c{{D`{e}}}{}{}}`{{}{{Ah{DbDd}}}}``````{d}{{{d{If}}c}AhEn}```{{{d{c}}}e{}{}}{c{{Ah{e}}}{}{}}0{{{d{c}}}Df{}}{{{f{c}}}{{f{Dh}}}{}}{{{d{Cbc}}}{{d{CbDh}}}{}}{{{d{c}}}{{d{Dh}}}{}}:","D":"ANd","p":[[10,"ConsensusController",525],[1,"reference"],[5,"Box",818],[6,"BlockId",819],[1,"u64"],[1,"tuple"],[5,"Vec",820],[5,"Slot",821],[6,"Option",822],[5,"BlockGraphExport",61],[6,"ConsensusError",540],[6,"Result",823],[1,"slice"],[6,"BlockGraphStatus",824],[8,"PreHashSet",825],[6,"StreamingStep",826],[5,"BootstrapableGraph",385],[5,"Clique",827],[5,"ConsensusStats",828],[5,"BlockHeader",829],[5,"SecureShare",830],[1,"unit"],[5,"Storage",831],[1,"bool"],[0,"mut"],[10,"ConsensusManager",525],[5,"Private",832],[1,"usize"],[5,"With",833],[5,"Formatter",834],[8,"Result",834],[5,"Request",835],[5,"Layout",836],[5,"LayoutError",836],[5,"TypeId",837],[10,"Any",837],[6,"HeaderOrBlock",95],[6,"DiscardReason",95],[6,"BlockStatusId",95],[6,"StorageOrBlock",95],[6,"BlockStatus",95],[6,"ExportBlockStatus",95],[5,"ExportCompiledBlock",95],[6,"Status",95],[8,"SecureShareBlock",824],[10,"Deserializer",838],[10,"Serializer",839],[5,"BootstrapableGraphSerializer",385],[5,"BootstrapableGraphDeserializer",385],[1,"u8"],[8,"IResult",840],[10,"ParseError",841],[10,"ContextError",841],[5,"BlockDeserializerArgs",824],[1,"u32"],[6,"SerializeError",842],[5,"ConsensusChannels",464],[5,"ConsensusBroadcasts",464],[10,"Error",843],[6,"InternalError",540],[6,"LedgerError",540],[6,"ProtocolError",844],[6,"TimeError",845],[6,"ExecutionError",846],[5,"Error",847],[5,"Error",848],[6,"ModelsError",849],[5,"TryFromSliceError",850],[5,"String",851],[6,"ConsensusEvent",649],[5,"ExportActiveBlock",678],[5,"ExportActiveBlockSerializer",678],[5,"ExportActiveBlockDeserializer",678],[5,"ActiveBlock",852],[5,"ConsensusConfig",764],[15,"Active",372],[15,"Discarded",372],[15,"WaitingForDependencies",372],[15,"Block",382]],"r":[[0,464],[1,464],[2,764],[3,525],[4,525]],"b":[[588,"impl-Debug-for-ConsensusError"],[589,"impl-Display-for-ConsensusError"],[590,"impl-Debug-for-InternalError"],[591,"impl-Display-for-InternalError"],[592,"impl-Debug-for-LedgerError"],[593,"impl-Display-for-LedgerError"],[594,"impl-From%3CProtocolError%3E-for-ConsensusError"],[595,"impl-From%3CTimeError%3E-for-ConsensusError"],[597,"impl-From%3CExecutionError%3E-for-ConsensusError"],[598,"impl-From%3CLedgerError%3E-for-ConsensusError"],[599,"impl-From%3CError%3E-for-ConsensusError"],[600,"impl-From%3CError%3E-for-ConsensusError"],[601,"impl-From%3CModelsError%3E-for-ConsensusError"],[603,"impl-From%3CTryFromSliceError%3E-for-LedgerError"],[605,"impl-From%3CError%3E-for-LedgerError"],[606,"impl-From%3CError%3E-for-LedgerError"],[607,"impl-From%3CModelsError%3E-for-LedgerError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEACSgADAAAABwAAAAoAAAAMAAAAFAAAABcAAAAbAAEAHgAAADkAAAA/AAAAQgAHAEsAAQBOAAAAUQAAAFMAAABVAAAAVwAJAGQAAABnAAAAaQAAAHEAAgB7AAAAfgAAAIEAFwCaAAcAowBQAPcAAAD9AAcABwEHABcBBwAgARMANQFAAH0BAAB/AQIAhQETAJoBBwCjAQAApwEDAK4BBQC2AQMAuwEVANMBAQDXAQMA3AEFAOMBBwDvAQMA9QEFAP4BDwA4AhwAVgIEAFwCAABeAgUAZwIiAI0CCgCZAgEAnAIKAKoCAACsAhIAwAIGAMsCAwDSAgIA1gICANwCCQDnAhcAAQMBAAkDAgANAwQAFAMAABgDAAAbAwAAHQMAAB8DAAAmAwEAKwMHAA=="}],\ +["massa_client",{"t":"FFHNNNNNNOQCNONCNONNNNNQOONNNNOOHQOOOOCQHNCNNNNNNNNNNOPPGFFFGFPOOONNNNNNNNNNNNPPNNNNNNNNNNNNNNNNPPNNNNNNNNNNNNNNNNNNNNNNNPPPNNPHPNPNPNHNPOONNNNNNNNNNNNNNNNNONNOONNNNNPPPPPPPPPPPNNHHNPPNPHPNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPPPPPPPPPPPKPPPPPGPPPNNNNNMNNNNNNFFNNNNNNOONNHNNNNNHNNNNNNNNNONNFFFFFONNNNNNNNNNOOONNNNNNNNNNNNONNNNNONNNNNNNNNNNNNOOOOOOONNNNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNN","n":["Args","JsonError","ask_password","augment_args","augment_args_for_update","borrow","borrow","borrow_mut","borrow_mut","chain_id","client_warning","cmds","command","command","command_for_update","display","erased_serialize","error","from","from","from_arg_matches","from_arg_matches_mut","group_id","grpc_error","grpc_private_port","grpc_public_port","into","into","into_request","into_request","ip","json","main","massa_fancy_ascii_art_logo","parameters","password","private_port","public_port","repl","rpc_error","run","serialize","settings","try_from","try_from","try_into","try_into","type_id","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","vzip","wallet","Add","AllowAll","Command","CommandIter","ExtendedWallet","ExtendedWalletEntry","ListOperation","ListOperationIter","Remove","address_info","back_idx","back_idx","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buy_rolls","call_smart_contract","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","eq","equivalent","equivalent","equivalent","equivalent","erased_serialize","erased_serialize","execute_smart_contract","exit","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_str","from_str","get","get","get_addresses","get_blocks","get_datastore_entry","get_detailed_message","get_documentation","get_endorsements","get_file_as_byte_vec","get_filtered_sc_output_event","get_message","get_operations","get_serializations","get_status","get_str","help","help","help","idx","idx","into","into","into","into","into","into","into_iter","into_iter","into_request","into_request","into_request","into_request","into_request","into_request","is_pwd_needed","iter","iter","keypair","len","len","marker","marker","new","next","next","next_back","next_back","node_ban_by_id","node_ban_by_ip","node_bootstrap_blacklist","node_bootstrap_whitelist","node_get_staking_addresses","node_peers_whitelist","node_start_staking","node_stop","node_stop_staking","node_unban_by_id","node_unban_by_ip","nth","nth","parse_key_value","parse_vec","pretty_print","read_only_call","read_only_execute_smart_contract","run","sell_rolls","send_operation","send_transaction","serialize","serialize","show_keys","size_hint","size_hint","to_owned","to_owned","to_owned","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","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","wallet_add_secret_keys","wallet_generate_secret_key","wallet_get_public_key","wallet_get_secret_key","wallet_info","wallet_remove_addresses","wallet_sign","when_moon","Bad","Block","Coins","Finished","Good","Id","Output","Pending","Protocol","Secret","Separator","Signature","Style","Time","Unknown","Wallet","borrow","borrow_mut","from","into","into_request","pretty_print","stdout_json","style","try_from","try_into","type_id","vzip","MassaCompleter","MyHelper","borrow","borrow","borrow_mut","borrow_mut","complete","complete","completer","file_completer","from","from","group_parameters","into","into","into_request","into_request","new","run","try_from","try_from","try_into","try_into","type_id","type_id","update","validate","validate_while_typing","validator","vzip","vzip","ClientSettings","DefaultNode","HttpSettings","SETTINGS","Settings","__private_field","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","certificate_store","chain_id","client","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","default_node","deref","deserialize","deserialize","deserialize","deserialize","enabled","fmt","fmt","fmt","fmt","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","grpc_private_port","grpc_public_port","headers","history","history_file_path","http","id_kind","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","ip","max_concurrent_requests","max_log_length","max_request_body_size","private_port","public_port","request_timeout","timeout","to_owned","to_owned","to_owned","to_owned","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"],"q":[[0,"massa_client"],[54,"massa_client::cmds"],[234,"massa_client::display"],[262,"massa_client::repl"],[293,"massa_client::settings"],[393,"std::path"],[394,"alloc::string"],[395,"clap_builder::builder::command"],[396,"erased_serde::ser"],[397,"erased_serde::error"],[398,"core::result"],[399,"clap_builder::parser::matches::arg_matches"],[400,"clap_builder"],[401,"clap_builder::util::id"],[402,"core::option"],[403,"tonic::request"],[404,"anyhow"],[405,"serde::ser"],[406,"core::any"],[407,"core::fmt"],[408,"alloc::vec"],[409,"massa_wallet"],[410,"massa_api_exports::address"],[411,"std::collections::hash::map"],[412,"core::str::traits"],[413,"massa_sdk"],[414,"alloc::boxed"],[415,"massa_models::operation"],[416,"massa_models::amount"],[417,"massa_models::address"],[418,"console::utils"],[419,"rustyline"],[420,"rustyline::line_buffer"],[421,"rustyline::undo"],[422,"rustyline::validate"],[423,"serde::de"]],"i":[0,0,0,11,11,11,18,11,18,11,0,0,11,11,11,0,18,18,11,18,11,11,11,0,11,11,11,18,11,18,11,11,0,0,11,11,11,11,0,0,0,18,0,11,18,11,18,11,18,11,11,11,18,11,28,28,0,0,0,0,0,0,28,29,22,23,21,22,23,28,29,30,21,22,23,28,29,30,21,21,21,22,23,21,22,23,21,22,23,21,21,21,21,21,29,30,21,21,21,21,22,23,28,28,29,29,30,30,21,22,23,28,29,30,21,22,23,21,28,22,23,21,21,21,21,21,21,0,21,21,21,21,21,21,0,21,21,22,23,21,22,23,28,29,30,22,23,21,22,23,28,29,30,21,21,28,29,22,23,22,23,30,22,23,22,23,21,21,21,21,21,21,21,21,21,21,21,22,23,0,0,30,21,21,21,21,0,21,29,30,29,22,23,21,22,23,21,28,29,30,21,21,22,23,28,28,29,30,21,22,23,28,29,30,21,22,23,28,29,30,21,22,23,28,29,30,21,21,21,21,21,21,21,21,48,48,48,48,48,48,0,48,48,48,48,48,0,48,48,48,48,48,48,48,48,42,42,48,48,48,48,48,0,0,51,54,51,54,51,54,54,51,51,54,0,51,54,51,54,51,0,51,54,51,54,51,54,54,54,54,54,51,54,0,0,0,0,0,63,63,59,60,61,62,63,59,60,61,62,61,60,59,59,60,61,62,59,60,61,62,59,60,61,62,59,63,59,60,61,62,62,59,60,61,62,63,59,60,61,62,59,60,61,62,60,60,61,59,59,61,61,63,59,60,61,62,63,59,60,61,62,60,61,61,61,60,60,61,59,59,60,61,62,63,59,60,61,62,63,59,60,61,62,63,59,60,61,62,63,59,60,61,62],"f":"``{{{d{b}}}f}{hh}0{{{d{c}}}{{d{e}}}{}{}}0{{{d{jc}}}{{d{je}}}{}{}}0```{{}h}`0`{{{d{c}}{d{jl}}}{{Ab{nA`}}}{}}`{cc{}}0{{{d{Ad}}}{{Ab{AfAh}}}}{{{d{jAd}}}{{Ab{AfAh}}}}{{}{{Al{Aj}}}}```{ce{}{}}0{c{{An{e}}}{}{}}0``{{}{{Bb{B`}}}}```````{Af{{Bb{B`}}}}{{{d{Bd}}c}AbBf}`{c{{Ab{e}}}{}{}}000{{{d{c}}}Bh{}}0{{{d{jAf}}{d{Ad}}}{{Ab{B`Ah}}}}{{{d{jAf}}{d{jAd}}}{{Ab{B`Ah}}}}88`````````````{{{d{c}}}{{d{e}}}{}{}}00000{{{d{jc}}}{{d{je}}}{}{}}00000``{{{d{Bj}}}Bj}{{{d{Bl}}}Bl}{{{d{Bn}}}Bn}{{{d{c}}{d{je}}}B`{}{}}00{{{d{c}}}B`{}}00{{{d{Bj}}{d{Bj}}}C`}{{{d{c}}{d{e}}}C`{}{}}000{{{d{c}}{d{jl}}}{{Ab{nA`}}}{}}0``{{{d{Bj}}{d{jCb}}}{{Ab{B`Cd}}}}{{{d{Bj}}{d{jCb}}}Cf}{{{d{Bl}}{d{jCb}}}Cf}{{{d{Bn}}{d{jCb}}}Cf}{{{d{Ch}}{d{jCb}}}{{Ab{B`Cd}}}}{{{d{Ch}}{d{jCb}}}Cf}{{{d{Cj}}{d{jCb}}}Cf}0{{{d{Cl}}{d{jCb}}}Cf}0{cc{}}00000{{{d{c}}}c{}}00{{{d{Cn}}}{{Ab{Bjc}}}{}}{{{d{Cn}}}{{Ab{Chc}}}{}}{{{d{Bl}}D`}{{Al{Bj}}}}{{{d{Bn}}D`}{{Al{Ch}}}}```{{{d{Bj}}}{{Al{{d{Cn}}}}}}0`{{{d{b}}}{{Bb{{Dd{Db}}}}}}`1`{{{d{Bj}}}{{d{{Df{{d{Cn}}}}}}}}`{{{d{Bj}}{d{Cn}}}{{Al{{d{Cn}}}}}}{{}B`}{{{d{Bj}}}B`}```{ce{}{}}0000000{c{{An{e}}}{}{}}00000{{{d{Bj}}}C`}{{}Bl}{{}Bn}`{{{d{Bl}}}D`}{{{d{Bn}}}D`}``{{{d{Dh}}{d{{Df{Dj}}}}C`}{{Bb{Cl}}}}{{{d{jBl}}}{{Al{c}}}{}}{{{d{jBn}}}{{Al{c}}}{}}10```````````{{{d{jBl}}D`}{{Al{c}}}{}}{{{d{jBn}}D`}{{Al{c}}}{}}{{{d{{Dl{{d{Cn}}{d{Cn}}}}}}{d{Cn}}}{{Bb{{Al{c}}Dn}}}E`}{{{d{{Df{f}}}}}{{Bb{{Dd{c}}Dn}}}E`}{{{d{Cl}}}B`}``{{{d{Bj}}{d{jEb}}{d{j{Al{Dh}}}}{d{{Df{f}}}}C`}{{Bb{{Ef{Ed}}}}}}`{{{d{Eb}}{d{Dh}}EhEjElC`}{{Bb{{Ef{Ed}}}}}}`{{{d{Cj}}c}AbBf}{{{d{Cl}}c}AbBf}`{{{d{Bl}}}{{En{D`{Al{D`}}}}}}{{{d{Bn}}}{{En{D`{Al{D`}}}}}}{{{d{c}}}e{}{}}00{{{d{c}}}f{}}000{c{{Ab{e}}}{}{}}{{{d{Cn}}}{{Ab{Bjc}}}{}}11{{{d{Cn}}}{{Ab{Chc}}}{}}222222222{{{d{c}}}Bh{}}00000{ce{}{}}00000````````````````````````{{{d{c}}}{{d{e}}}{}{}}{{{d{jc}}}{{d{je}}}{}{}}{cc{}}3{c{{An{e}}}{}{}}{{{d{Ed}}}B`}{{{d{Ed}}}{{Bb{B`}}}}{{{d{F`}}c}{{Fb{f}}}Fd};;87``6655{{{d{Ff}}{d{Cn}}D`{d{Fh}}}{{Fj{{En{D`{Dd{c}}}}}}}{}}{{{d{Fl}}{d{Cn}}D`{d{Fh}}}{{Fj{{En{D`{Dd{c}}}}}}}{}}``66{{{Dd{f}}}{{Dd{f}}}}::66{{}Ff}{{{d{jEb}}{d{b}}{Al{f}}}{{Bb{B`}}}}{c{{Ab{e}}}{}{}}000>>{{{d{Fl}}{d{jFn}}D`{d{Cn}}{d{jG`}}}B`}{{{d{Fl}}{d{jGb}}}{{Fj{Gd}}}}{{{d{Fl}}}C`}`{ce{}{}}0``````{{{d{c}}}{{d{e}}}{}{}}0000{{{d{jc}}}{{d{je}}}{}{}}0000```{{{d{Gf}}}Gf}{{{d{Gh}}}Gh}{{{d{Gj}}}Gj}{{{d{Gl}}}Gl}{{{d{c}}{d{je}}}B`{}{}}000{{{d{c}}}B`{}}000`{{{d{Gn}}}{{d{Gf}}}}{c{{Ab{Gf}}}H`}{c{{Ab{Gh}}}H`}{c{{Ab{Gj}}}H`}{c{{Ab{Gl}}}H`}`{{{d{Gf}}{d{jCb}}}Cf}{{{d{Gh}}{d{jCb}}}Cf}{{{d{Gj}}{d{jCb}}}Cf}{{{d{Gl}}{d{jCb}}}Cf}{cc{}}0000{{{d{c}}}c{}}000```````{ce{}{}}0000{c{{An{e}}}{}{}}0000````````{{{d{c}}}e{}{}}000{c{{Ab{e}}}{}{}}000000000{{{d{c}}}Bh{}}000044444","D":"Jd","p":[[5,"Path",393],[1,"reference"],[5,"String",394],[5,"Command",395],[0,"mut"],[10,"Serializer",396],[5,"Ok",396],[5,"Error",397],[6,"Result",398],[5,"ArgMatches",399],[5,"Args",0],[8,"Error",400],[5,"Id",401],[6,"Option",402],[5,"Request",403],[1,"unit"],[8,"Result",404],[5,"JsonError",0],[10,"Serializer",405],[5,"TypeId",406],[6,"Command",54],[5,"CommandIter",54],[5,"ListOperationIter",54],[1,"bool"],[5,"Formatter",407],[5,"Error",407],[8,"Result",407],[6,"ListOperation",54],[5,"ExtendedWalletEntry",54],[5,"ExtendedWallet",54],[1,"str"],[1,"usize"],[1,"u8"],[5,"Vec",408],[1,"slice"],[5,"Wallet",409],[5,"AddressInfo",410],[5,"HashMap",411],[5,"Error",404],[10,"FromStr",412],[5,"Client",413],[10,"Output",234],[5,"Box",414],[6,"OperationType",415],[5,"Amount",416],[6,"Address",417],[1,"tuple"],[6,"Style",234],[5,"StyledObject",418],[10,"ToString",394],[5,"MassaCompleter",262],[5,"Context",419],[8,"Result",419],[5,"MyHelper",262],[5,"LineBuffer",420],[5,"Changeset",421],[5,"ValidationContext",422],[6,"ValidationResult",422],[5,"Settings",293],[5,"DefaultNode",293],[5,"ClientSettings",293],[5,"HttpSettings",293],[5,"SETTINGS",293],[10,"Deserializer",423]],"r":[],"b":[[98,"impl-Display-for-Command"],[99,"impl-Debug-for-Command"],[102,"impl-Display-for-ListOperation"],[103,"impl-Debug-for-ListOperation"],[104,"impl-Debug-for-ExtendedWalletEntry"],[105,"impl-Display-for-ExtendedWalletEntry"],[106,"impl-Debug-for-ExtendedWallet"],[107,"impl-Display-for-ExtendedWallet"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADcBIwABAAEABAAFAAwAAQAPAAMAFQACAB0AAQAhAAAAJwAAACkAAQAsAAkANwABAD0AAAA/AAAAQQArAHMADACBAAUAiQACAJIABwCbAAEAngADAKMAEQC2AAIAugAAALwAAgDAACoA8QAAAPcAAAD7AAEA/wARABMBAAAWAQ8AJwEAACkBJgBVAQoAZQEkAA=="}],\ +["massa_consensus_exports",{"t":"FFFKKOCOOCOCOOOOOOOCMOCOOOCCOCOOOOOMMMMMMMMOMOOOOOOOOMMOCOMOOFNOONNNNNNNNONNNNOONNNONONNNNNNNNNPPPPPPGGGPPPGFPPPPGPPPPPGPGPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOFFFNOONNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNOONNNNONNNNNNONNNNNNNNOONNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNKKMMMMMMMMMMMMMPGPPPPPPGPPGPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGPPNNNNNNNNNNNNNNNNNNNNNNNNNNFFFNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNOOONNNOONNONNNNNNNNNNNNNNNNNNNNNNNFNOONNOOOOOONNNONNNNNOONOONNOONNNONOOOOOONNOOONNNNNNNN","n":["ConsensusBroadcasts","ConsensusChannels","ConsensusConfig","ConsensusController","ConsensusManager","block_db_prune_interval","block_graph_export","block_header_sender","block_sender","block_status","bootstrap_part_size","bootstrapable_graph","broadcast_blocks_channel_capacity","broadcast_blocks_headers_channel_capacity","broadcast_enabled","broadcast_filled_blocks_channel_capacity","broadcasts","chain_id","channel_size","channels","clone_box","controller_event_tx","controller_trait","delta_f0","end_timestamp","endorsement_count","error","events","execution_controller","export_active_block","filled_block_sender","force_keep_final_periods","force_keep_final_periods_without_ops","genesis_key","genesis_timestamp","get_best_parents","get_block_graph_status","get_block_statuses","get_blockclique_block_at_slot","get_bootstrap_part","get_cliques","get_latest_blockclique_block_at_slot","get_stats","last_start_period","mark_invalid_block","max_dependency_blocks","max_discarded_blocks","max_future_processing_blocks","max_gas_per_block","operation_validity_periods","periods_per_cycle","pool_controller","protocol_controller","register_block","register_block_header","selector_controller","settings","stats_timespan","stop","t0","thread_count","BlockGraphExport","__clone_box","active_blocks","best_parents","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","discarded_blocks","drop","fmt","from","from_ref","genesis_blocks","gi_head","init","into","into_request","latest_final_blocks_periods","layout_raw","max_cliques","pointer_metadata","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","Active","Active","Active","Active","Block","Block","BlockStatus","BlockStatusId","DiscardReason","Discarded","Discarded","Discarded","ExportBlockStatus","ExportCompiledBlock","Final","Final","Final","Header","HeaderOrBlock","Incoming","Incoming","Incoming","Invalid","Stale","Status","Storage","StorageOrBlock","WaitingForDependencies","WaitingForDependencies","WaitingForDependencies","WaitingForSlot","WaitingForSlot","WaitingForSlot","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","children","clone","clone","clone","clone","clone","clone","clone","clone","clone_block","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","deref","deref","deref","deref","deref","deref","deref","deref","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","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","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","fmt","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","get_slot","header","init","init","init","init","init","init","init","init","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","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","serialize","serialize","serialize","serialize","strip_to_block","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_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","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_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","a_block","creator","header_or_block","parents","reason","sequence_number","sequence_number","slot","storage_or_block","unsatisfied_dependencies","id","slot","storage","BootstrapableGraph","BootstrapableGraphDeserializer","BootstrapableGraphSerializer","__clone_box","block_count_deserializer","block_count_serializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","export_active_block_deserializer","export_active_block_serializer","final_blocks","fmt","from","from","from","from_ref","init","init","init","into","into","into","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","new","new","pointer_metadata","pointer_metadata","pointer_metadata","serialize","serialize","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","ConsensusBroadcasts","ConsensusChannels","__clone_box","__clone_box","block_header_sender","block_sender","borrow","borrow","borrow_mut","borrow_mut","broadcasts","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","controller_event_tx","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","execution_controller","filled_block_sender","from","from","from_ref","from_ref","init","init","into","into","into_request","into_request","layout_raw","layout_raw","pointer_metadata","pointer_metadata","pool_controller","protocol_controller","selector_controller","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","ConsensusController","ConsensusManager","clone_box","get_best_parents","get_block_graph_status","get_block_statuses","get_blockclique_block_at_slot","get_bootstrap_part","get_cliques","get_latest_blockclique_block_at_slot","get_stats","mark_invalid_block","register_block","register_block_header","stop","AmountOverflowError","ConsensusError","ContainerInconsistency","ExecutionError","FitnessOverflow","GenesisCreationError","IOError","IOError","InternalError","InvalidLedgerChange","InvalidTransition","LedgerError","LedgerError","LedgerInconsistency","MassaTimeError","MissingBlock","MissingOperation","ModelsError","ModelsError","PosCycleUnavailable","ProtocolError","SerdeError","SerdeError","SerializationError","TransactionError","TransactionError","TryFromSliceError","as_error","as_error","as_error","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","init","init","init","into","into","into","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","pointer_metadata","pointer_metadata","pointer_metadata","source","source","to_string","to_string","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","vzip","vzip","vzip","ConsensusEvent","NeedSync","Stop","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","fmt","from","from_ref","init","into","into_request","layout_raw","pointer_metadata","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","ExportActiveBlock","ExportActiveBlockDeserializer","ExportActiveBlockSerializer","__clone_box","block","block_id_deserializer","block_id_serializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","fmt","from","from","from","from_active_block","from_ref","init","init","init","into","into","into","into_request","into_request","into_request","is_final","layout_raw","layout_raw","layout_raw","new","new","parents","period_deserializer","period_serializer","pointer_metadata","pointer_metadata","pointer_metadata","sec_share_block_deserializer","sec_share_serializer","serialize","serialize","thread_count","to_active_block","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","ConsensusConfig","__clone_box","block_db_prune_interval","bootstrap_part_size","borrow","borrow_mut","broadcast_blocks_channel_capacity","broadcast_blocks_headers_channel_capacity","broadcast_enabled","broadcast_filled_blocks_channel_capacity","chain_id","channel_size","clone","clone_into","clone_to_uninit","delta_f0","deref","deref_mut","deserialize","deserialize","drop","end_timestamp","endorsement_count","fmt","force_keep_final_periods","force_keep_final_periods_without_ops","from","from_ref","genesis_key","genesis_timestamp","init","into","into_request","last_start_period","layout_raw","max_dependency_blocks","max_discarded_blocks","max_future_processing_blocks","max_gas_per_block","operation_validity_periods","periods_per_cycle","pointer_metadata","serialize","stats_timespan","t0","thread_count","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip"],"q":[[0,"massa_consensus_exports"],[61,"massa_consensus_exports::block_graph_export"],[95,"massa_consensus_exports::block_status"],[372,"massa_consensus_exports::block_status::BlockStatus"],[382,"massa_consensus_exports::block_status::HeaderOrBlock"],[385,"massa_consensus_exports::bootstrapable_graph"],[464,"massa_consensus_exports::channels"],[525,"massa_consensus_exports::controller_trait"],[540,"massa_consensus_exports::error"],[649,"massa_consensus_exports::events"],[678,"massa_consensus_exports::export_active_block"],[764,"massa_consensus_exports::settings"],[818,"alloc::boxed"],[819,"massa_models::block_id"],[820,"alloc::vec"],[821,"massa_models::slot"],[822,"core::option"],[823,"core::result"],[824,"massa_models::block"],[825,"massa_models::prehash"],[826,"massa_models::streaming_step"],[827,"massa_models::clique"],[828,"massa_models::stats"],[829,"massa_models::block_header"],[830,"massa_models::secure_share"],[831,"massa_storage"],[832,"dyn_clone::sealed"],[833,"rkyv::with"],[834,"core::fmt"],[835,"tonic::request"],[836,"core::alloc::layout"],[837,"core::any"],[838,"serde::de"],[839,"serde::ser"],[840,"nom::internal"],[841,"nom::error"],[842,"massa_serialization"],[843,"core::error"],[844,"std::io::error"],[845,"massa_protocol_exports::error"],[846,"massa_time::error"],[847,"massa_execution_exports::error"],[848,"massa_models::error"],[849,"serde_json::error"],[850,"core::array"],[851,"alloc::string"],[852,"massa_models::active_block"]],"i":[0,0,0,0,0,75,0,58,58,0,75,0,75,75,75,75,57,75,75,0,1,57,0,75,75,75,0,0,57,0,58,75,75,75,75,1,1,1,1,1,1,1,1,75,1,75,75,75,75,75,75,57,57,1,1,57,0,75,26,75,75,0,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,39,41,42,44,37,40,0,0,0,39,41,42,0,0,38,42,44,37,0,39,41,42,38,38,0,40,0,39,41,42,39,41,42,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,43,37,38,39,40,41,42,43,44,40,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,38,39,40,41,42,42,43,43,44,44,37,38,39,40,41,42,43,44,38,39,44,38,38,38,38,38,38,39,39,39,39,39,39,44,44,44,44,44,44,37,38,39,40,41,42,43,44,37,38,39,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,43,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,43,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,38,42,43,44,40,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,37,38,39,40,41,42,43,44,76,77,78,77,77,78,77,77,76,78,79,79,79,0,0,0,17,49,48,49,17,48,49,17,48,17,17,17,48,49,17,48,49,17,48,49,49,17,17,48,49,17,48,49,48,17,17,49,17,48,17,49,17,48,49,17,48,49,17,48,49,17,48,49,48,49,17,48,17,48,17,49,17,48,49,17,48,49,17,48,49,17,48,49,17,48,49,17,48,49,17,48,0,0,57,58,58,58,57,58,57,58,57,57,58,57,58,57,58,57,57,58,57,58,57,58,57,58,57,58,57,58,57,58,57,58,57,58,57,58,57,58,57,58,57,57,57,57,58,57,58,57,58,57,58,57,58,57,58,57,58,57,58,0,0,1,1,1,1,1,1,1,1,1,1,1,1,26,61,0,11,11,11,11,11,61,0,11,11,0,11,61,11,11,11,11,61,11,11,11,61,11,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,11,11,60,60,61,61,11,11,11,11,11,11,11,11,60,61,61,61,61,61,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,11,61,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,11,60,61,0,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,0,0,0,71,71,73,72,73,71,72,73,71,72,71,71,71,72,73,71,72,73,71,72,73,73,71,71,72,73,71,72,71,73,71,72,71,71,73,71,72,73,71,72,73,71,72,71,73,71,72,73,72,71,73,72,73,71,72,73,72,71,72,73,71,71,73,71,72,73,71,72,73,71,72,73,71,72,73,71,72,73,71,72,73,71,72,0,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75],"f":"````````````````````{{{d{b}}}{{f{b}}}}``````````````{{{d{b}}}{{n{{l{hj}}}}}}{{{d{b}}{Ab{A`}}{Ab{A`}}}{{Ah{AdAf}}}}{{{d{b}}{d{{Aj{h}}}}}{{n{Al}}}}{{{d{b}}A`}{{Ab{h}}}}{{{d{b}}{B`{{An{h}}}}{B`{A`}}}{{Ah{{l{Bb{An{h}}{B`{{An{h}}}}}}Af}}}}{{{d{b}}}{{n{Bd}}}}{{{d{b}}A`}h}{{{d{b}}}{{Ah{BfAf}}}}`{{{d{b}}h{Bj{Bhh}}}Bl}````````{{{d{b}}hA`BnC`}Bl}1```{{{d{CbCd}}}Bl}```{{{d{c}}Cf}Bl{}}``{{{d{c}}}{{d{e}}}{}{}}{{{d{Cbc}}}{{d{Cbe}}}{}{}}{{{d{Ad}}}Ad}{{{d{c}}{d{Cbe}}}Bl{}{}}{{{d{c}}}Bl{}}{Ch{{d{c}}}{}}{Ch{{d{Cbc}}}{}}{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}`{ChBl}{{{d{Ad}}{d{CbCl}}}Cn}{cc{}}{{{d{c}}}c{}}``{{}Ch}{ce{}{}}{c{{D`{e}}}{}{}}`{{}{{Ah{DbDd}}}}`{d}{{{d{c}}}e{}{}}{c{{Ah{e}}}{}{}}0{{{d{c}}}Df{}}{{{f{c}}}{{f{Dh}}}{}}{{{d{Cbc}}}{{d{CbDh}}}{}}{{{d{c}}}{{d{Dh}}}{}}9`````````````````````````````````{{{d{c}}Cf}Bl{}}0000000{{{d{c}}}{{d{e}}}{}{}}0000000{{{d{Cbc}}}{{d{Cbe}}}{}{}}0000000`{{{d{Dj}}}Dj}{{{d{Dl}}}Dl}{{{d{Dn}}}Dn}{{{d{E`}}}E`}{{{d{Eb}}}Eb}{{{d{Ed}}}Ed}{{{d{Ef}}}Ef}{{{d{Eh}}}Eh}{{{d{E`}}{d{h}}}Ej}{{{d{c}}{d{Cbe}}}Bl{}{}}0000000{{{d{c}}}Bl{}}0000000{Ch{{d{c}}}{}}0000000{Ch{{d{Cbc}}}{}}0000000{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}{c{{Ah{Dl}}}El}11111{c{{Ah{Ed}}}El}{c{{Ah{Ef}}}El}3{c{{Ah{Eh}}}El}4{ChBl}0000000{{{d{Dl}}{d{Dl}}}C`}{{{d{Dn}}{d{Dn}}}C`}{{{d{Eh}}{d{Eh}}}C`}{{{d{c}}{d{e}}}C`{}{}}00000000000000000{{{d{Dj}}{d{CbCl}}}Cn}{{{d{Dl}}{d{CbCl}}}Cn}{{{d{Dn}}{d{CbCl}}}Cn}{{{d{E`}}{d{CbCl}}}Cn}{{{d{Eb}}{d{CbCl}}}Cn}{{{d{Ed}}{d{CbCl}}}Cn}{{{d{Ef}}{d{CbCl}}}Cn}{{{d{Eh}}{d{CbCl}}}Cn}{cc{}}00{{{d{Eb}}}Dn}11111{{{d{c}}}c{}}0000000{{{d{Dj}}}A`}`{{}Ch}0000000{ce{}{}}0000000{c{{D`{e}}}{}{}}0000000`{{}{{Ah{DbDd}}}}0000000{d}0000000{{{d{Dl}}c}AhEn}{{{d{Ed}}c}AhEn}{{{d{Ef}}c}AhEn}{{{d{Eh}}c}AhEn}{{{d{CbE`}}{d{h}}}Bl}{{{d{c}}}e{}{}}0000000{c{{Ah{e}}}{}{}}000000000000000{{{d{c}}}Df{}}0000000{{{f{c}}}{{f{Dh}}}{}}0000000{{{d{Cbc}}}{{d{CbDh}}}{}}0000000{{{d{c}}}{{d{Dh}}}{}}0000000>>>>>>>>````````````````{{{d{c}}Cf}Bl{}}``{{{d{c}}}{{d{e}}}{}{}}00{{{d{Cbc}}}{{d{Cbe}}}{}{}}00{{{d{Bb}}}Bb}{{{d{c}}{d{Cbe}}}Bl{}{}}{{{d{c}}}Bl{}}{{}F`}{Ch{{d{c}}}{}}00{Ch{{d{Cbc}}}{}}00{{{d{Fb}}{d{{Aj{Fd}}}}}{{Ff{{d{{Aj{Fd}}}}Bbc}}}{{Fh{{d{{Aj{Fd}}}}}}{Fj{{d{{Aj{Fd}}}}}}}}{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}0{c{{Ah{Bb}}}El}1{ChBl}00```{{{d{Bb}}{d{CbCl}}}Cn}{cc{}}00{{{d{c}}}c{}}{{}Ch}00{ce{}{}}00{c{{D`{e}}}{}{}}00{{}{{Ah{DbDd}}}}00{{FlFn}Fb}>{d}00{{{d{Bb}}c}AhEn}{{{d{F`}}{d{Bb}}{d{Cb{n{Fd}}}}}{{Ah{BlG`}}}}{{{d{c}}}e{}{}}{c{{Ah{e}}}{}{}}00000{{{d{c}}}Df{}}00{{{f{c}}}{{f{Dh}}}{}}00{{{d{Cbc}}}{{d{CbDh}}}{}}00{{{d{c}}}{{d{Dh}}}{}}00<<<``{{{d{c}}Cf}Bl{}}0``{{{d{c}}}{{d{e}}}{}{}}0{{{d{Cbc}}}{{d{Cbe}}}{}{}}0`{{{d{Gb}}}Gb}{{{d{Gd}}}Gd}{{{d{c}}{d{Cbe}}}Bl{}{}}0{{{d{c}}}Bl{}}0`{Ch{{d{c}}}{}}0{Ch{{d{Cbc}}}{}}0{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}0{ChBl}0``{cc{}}0{{{d{c}}}c{}}0{{}Ch}0{ce{}{}}0{c{{D`{e}}}{}{}}0{{}{{Ah{DbDd}}}}0{d}0```{{{d{c}}}e{}{}}0{c{{Ah{e}}}{}{}}000{{{d{c}}}Df{}}0{{{f{c}}}{{f{Dh}}}{}}0{{{d{Cbc}}}{{d{CbDh}}}{}}0{{{d{c}}}{{d{Dh}}}{}}099``{{{d{b}}}{{f{b}}}}{{{d{b}}}{{n{{l{hj}}}}}}{{{d{b}}{Ab{A`}}{Ab{A`}}}{{Ah{AdAf}}}}{{{d{b}}{d{{Aj{h}}}}}{{n{Al}}}}{{{d{b}}A`}{{Ab{h}}}}{{{d{b}}{B`{{An{h}}}}{B`{A`}}}{{Ah{{l{Bb{An{h}}{B`{{An{h}}}}}}Af}}}}{{{d{b}}}{{n{Bd}}}}{{{d{b}}A`}h}{{{d{b}}}{{Ah{BfAf}}}}{{{d{b}}h{Bj{Bhh}}}Bl}{{{d{b}}hA`BnC`}Bl}1{{{d{CbCd}}}Bl}```````````````````````````{{{d{c}}}{{d{Gf}}}{}}00{{{d{c}}}{{d{e}}}{}{}}00{{{d{Cbc}}}{{d{Cbe}}}{}{}}00{Ch{{d{c}}}{}}00{Ch{{d{Cbc}}}{}}00{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}00{ChBl}00{{{d{Af}}{d{CbCl}}}Cn}0{{{d{Gh}}{d{CbCl}}}Cn}0{{{d{Gj}}{d{CbCl}}}Cn}0{GjAf}{GlAf}{GnAf}{H`Af}{HbAf}{cc{}}{HdAf}{HfAf}2{HhGj}3{GlGj}{HfGj}{HdGj}{{}Ch}00{ce{}{}}00{c{{D`{e}}}{}{}}00{{}{{Ah{DbDd}}}}00{d}00{{{d{Af}}}{{Ab{{d{Gf}}}}}}{{{d{Gj}}}{{Ab{{d{Gf}}}}}}{{{d{c}}}Hj{}}00{c{{Ah{e}}}{}{}}00000{{{d{c}}}Df{}}00{{{f{c}}}{{f{Dh}}}{}}00{{{d{Cbc}}}{{d{CbDh}}}{}}00{{{d{c}}}{{d{Dh}}}{}}00;;;```{{{d{c}}Cf}Bl{}}{{{d{c}}}{{d{e}}}{}{}}{{{d{Cbc}}}{{d{Cbe}}}{}{}}{{{d{Hl}}}Hl}{{{d{c}}{d{Cbe}}}Bl{}{}}{{{d{c}}}Bl{}}{Ch{{d{c}}}{}}{Ch{{d{Cbc}}}{}}{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}{ChBl}{{{d{Hl}}{d{CbCl}}}Cn}{cc{}}{{{d{c}}}c{}}{{}Ch}{ce{}{}}{c{{D`{e}}}{}{}}{{}{{Ah{DbDd}}}}{d}{{{d{c}}}e{}{}}{c{{Ah{e}}}{}{}}0{{{d{c}}}Df{}}{{{f{c}}}{{f{Dh}}}{}}{{{d{Cbc}}}{{d{CbDh}}}{}}{{{d{c}}}{{d{Dh}}}{}}9```{{{d{c}}Cf}Bl{}}```{{{d{c}}}{{d{e}}}{}{}}00{{{d{Cbc}}}{{d{Cbe}}}{}{}}00{{{d{Hn}}}Hn}{{{d{c}}{d{Cbe}}}Bl{}{}}{{{d{c}}}Bl{}}{{}I`}{Ch{{d{c}}}{}}00{Ch{{d{Cbc}}}{}}00{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}{{{d{Ib}}{d{{Aj{Fd}}}}}{{Ff{{d{{Aj{Fd}}}}Hnc}}}{{Fh{{d{{Aj{Fd}}}}}}{Fj{{d{{Aj{Fd}}}}}}}}1{c{{Ah{Hn}}}El}2{ChBl}00{{{d{Hn}}{d{CbCl}}}Cn}{cc{}}00{{{d{Id}}{d{E`}}}Hn}{{{d{c}}}c{}}{{}Ch}00{ce{}{}}00{c{{D`{e}}}{}{}}00`{{}{{Ah{DbDd}}}}00{FlIb}?```{d}00``{{{d{Hn}}c}AhEn}{{{d{I`}}{d{Hn}}{d{Cb{n{Fd}}}}}{{Ah{BlG`}}}}`{{HnFd}{{Ah{{l{IdE`}}Af}}}}{{{d{c}}}e{}{}}{c{{Ah{e}}}{}{}}00000{{{d{c}}}Df{}}00{{{f{c}}}{{f{Dh}}}{}}00{{{d{Cbc}}}{{d{CbDh}}}{}}00{{{d{c}}}{{d{Dh}}}{}}00===`{{{d{c}}Cf}Bl{}}``{{{d{c}}}{{d{e}}}{}{}}{{{d{Cbc}}}{{d{Cbe}}}{}{}}``````{{{d{If}}}If}{{{d{c}}{d{Cbe}}}Bl{}{}}{{{d{c}}}Bl{}}`{Ch{{d{c}}}{}}{Ch{{d{Cbc}}}{}}{c{{Ah{If}}}El}{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}{ChBl}``{{{d{If}}{d{CbCl}}}Cn}``{cc{}}{{{d{c}}}c{}}``{{}Ch}{ce{}{}}{c{{D`{e}}}{}{}}`{{}{{Ah{DbDd}}}}``````{d}{{{d{If}}c}AhEn}```{{{d{c}}}e{}{}}{c{{Ah{e}}}{}{}}0{{{d{c}}}Df{}}{{{f{c}}}{{f{Dh}}}{}}{{{d{Cbc}}}{{d{CbDh}}}{}}{{{d{c}}}{{d{Dh}}}{}}:","D":"ANd","p":[[10,"ConsensusController",525],[1,"reference"],[5,"Box",818],[6,"BlockId",819],[1,"u64"],[1,"tuple"],[5,"Vec",820],[5,"Slot",821],[6,"Option",822],[5,"BlockGraphExport",61],[6,"ConsensusError",540],[6,"Result",823],[1,"slice"],[6,"BlockGraphStatus",824],[8,"PreHashSet",825],[6,"StreamingStep",826],[5,"BootstrapableGraph",385],[5,"Clique",827],[5,"ConsensusStats",828],[5,"BlockHeader",829],[5,"SecureShare",830],[1,"unit"],[5,"Storage",831],[1,"bool"],[0,"mut"],[10,"ConsensusManager",525],[5,"Private",832],[1,"usize"],[5,"With",833],[5,"Formatter",834],[8,"Result",834],[5,"Request",835],[5,"Layout",836],[5,"LayoutError",836],[5,"TypeId",837],[10,"Any",837],[6,"HeaderOrBlock",95],[6,"DiscardReason",95],[6,"BlockStatusId",95],[6,"StorageOrBlock",95],[6,"BlockStatus",95],[6,"ExportBlockStatus",95],[5,"ExportCompiledBlock",95],[6,"Status",95],[8,"SecureShareBlock",824],[10,"Deserializer",838],[10,"Serializer",839],[5,"BootstrapableGraphSerializer",385],[5,"BootstrapableGraphDeserializer",385],[1,"u8"],[8,"IResult",840],[10,"ParseError",841],[10,"ContextError",841],[5,"BlockDeserializerArgs",824],[1,"u32"],[6,"SerializeError",842],[5,"ConsensusChannels",464],[5,"ConsensusBroadcasts",464],[10,"Error",843],[6,"InternalError",540],[6,"LedgerError",540],[5,"Error",844],[6,"ProtocolError",845],[6,"TimeError",846],[6,"ExecutionError",847],[6,"ModelsError",848],[5,"Error",849],[5,"TryFromSliceError",850],[5,"String",851],[6,"ConsensusEvent",649],[5,"ExportActiveBlock",678],[5,"ExportActiveBlockSerializer",678],[5,"ExportActiveBlockDeserializer",678],[5,"ActiveBlock",852],[5,"ConsensusConfig",764],[15,"Active",372],[15,"Discarded",372],[15,"WaitingForDependencies",372],[15,"Block",382]],"r":[[0,464],[1,464],[2,764],[3,525],[4,525]],"b":[[588,"impl-Display-for-ConsensusError"],[589,"impl-Debug-for-ConsensusError"],[590,"impl-Debug-for-InternalError"],[591,"impl-Display-for-InternalError"],[592,"impl-Display-for-LedgerError"],[593,"impl-Debug-for-LedgerError"],[594,"impl-From%3CLedgerError%3E-for-ConsensusError"],[595,"impl-From%3CError%3E-for-ConsensusError"],[596,"impl-From%3CProtocolError%3E-for-ConsensusError"],[597,"impl-From%3CTimeError%3E-for-ConsensusError"],[598,"impl-From%3CExecutionError%3E-for-ConsensusError"],[600,"impl-From%3CModelsError%3E-for-ConsensusError"],[601,"impl-From%3CError%3E-for-ConsensusError"],[603,"impl-From%3CTryFromSliceError%3E-for-LedgerError"],[605,"impl-From%3CError%3E-for-LedgerError"],[606,"impl-From%3CError%3E-for-LedgerError"],[607,"impl-From%3CModelsError%3E-for-LedgerError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEACSgADAAAABwAAAAoAAAAMAAAAFAAAABcAAAAbAAEAHgAAADkAAAA/AAAAQgAHAEsAAQBOAAAAUQAAAFMAAABVAAAAVwAJAGQAAABnAAAAaQAAAHEAAgB7AAAAfgAAAIEAFwCaAAcAowBQAPcAAAD9AAcABwEHABcBBwAgARMANQFAAH0BAAB/AQIAhQESAJkBCACjAQAApwEDAK4BBQC2AQMAuwEVANMBAQDXAQMA3AEFAOMBBwDvAQMA9QEFAP4BDwA4Ah8AWQIBAFwCAABeAgUAZwIiAI0CCgCZAgEAnAIKAKoCAACsAhIAwAIGAMsCAwDSAgIA1gICANwCCQDnAhcAAQMBAAkDAgANAwQAFAMAABgDAAAbAwAAHQMAAB8DAAAmAwEAKwMHAA=="}],\ ["massa_consensus_worker",{"t":"CCCHCCGPPPNNNNNNNNNNNNNNNNNNNNNNNNNFNONNOONNNNONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNFNNONNNNNNNNNNNNNNNNNNFNONNOONCONNONNNCNNNNONNNNNNNNONNONNNNNNNNNNOCNNNNOONNNNNNNNOONOOONNOCNCOCNNNNNNNNNNNONOCOONOCNONNNNNNNCNOFNNOONNNNNNNNNONNNNNNNONNNNNNNNNNONNNNNNNNNNNONOHFNNONNNNONOONNNNONOONNNNNNNGPPPPGGPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOFNNNOONNNNNNCNNNNCNNOONONOHNNNNNNNNHPPPGNNNNNNNNNNNNNNNNNNN","n":["commands","controller","manager","start_consensus_worker","state","worker","ConsensusCommand","MarkInvalidBlock","RegisterBlock","RegisterBlockHeader","__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","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","ConsensusControllerImpl","__clone_box","bootstrap_part_size","borrow","borrow_mut","broadcast_enabled","broadcasts","clone","clone_box","clone_into","clone_to_uninit","command_sender","deref","deref_mut","deserialize","drop","from","from_ref","get_best_parents","get_block_graph_status","get_block_statuses","get_blockclique_block_at_slot","get_bootstrap_part","get_cliques","get_latest_blockclique_block_at_slot","get_stats","init","into","into_request","layout_raw","mark_invalid_block","new","pointer_metadata","register_block","register_block_header","shared_state","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","ConsensusManagerImpl","borrow","borrow_mut","consensus_thread","deref","deref_mut","deserialize","drop","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","ConsensusState","__clone_box","active_index_without_ops","add_active_blocks_after","add_block_to_graph","attack_attempts","best_parents","block_db_changed","blocks_state","blocks_state","borrow","borrow_mut","channels","check_desync","check_endorsements","check_header","clique_computation","clone","clone_into","clone_to_uninit","compute_fitness_find_blockclique","config","convert_block_header","convert_to_discard_block_header","deref","deref_mut","deserialize","detect_multistake","drop","extract_block_graph_part","final_block_stats","from","from_ref","genesis_hashes","get_active_block_and_descendants","get_all_final_blocks","get_block_status","get_block_wishlist","get_blockclique","get_blockclique_block_at_slot","get_clique_count","get_full_active_block","get_latest_blockclique_block_at_slot","get_stats","gi_head","graph","init","insert_parents_descendants","into","into_request","latest_final_blocks_periods","launch_time","layout_raw","list_earliest_blocks_of","list_final_blocks","list_latest_final_blocks_at","list_required_active_blocks","list_stale_blocks","mark_final_blocks","mark_invalid_block","massa_metrics","max_cliques","maybe_note_attack_attempt","new_final_blocks","new_stale_blocks","nonfinal_active_blocks_per_slot","notify_execution","pointer_metadata","prev_blockclique","process","process","process_commands","protocol_blocks","prune","prune","prune_active","prune_discarded","prune_nonfinal_blocks_per_slot","prune_slot_waiting","prune_stats","prune_waiting_for_dependencies","rec_process","register_block","register_block_header","remove_block","save_final_periods","slot_tick","stale_block_stats","stats","stats_desync_detection_timespan","stats_history_timespan","stats_tick","storage","tick","to_owned","to_propagate","try_from","try_get_full_active_block","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","verifications","vzip","wishlist","BlocksState","__clone_box","active_blocks","active_index","block_statuses","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","discarded_blocks","discarded_index","drop","fmt","from","from_ref","get","get_mut","incoming_blocks","incoming_index","init","into","into_request","iter","layout_raw","len","new","pointer_metadata","promote_dep_tree","sequence_counter","sequence_counter","to_owned","transition_map","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","update_indexes","vzip","waiting_for_dependencies_blocks","waiting_for_dependencies_index","waiting_for_slot_blocks","waiting_for_slot_index","compute_max_cliques","BlockInfos","borrow","borrow_mut","creator","deref","deref_mut","deserialize","drop","fitness","from","incompatibilities","inherited_incompatibilities_count","init","into","into_request","layout_raw","parents_hash_period","pointer_metadata","slot","storage","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","BlockCheckOutcome","BlockInfos","BlockStatus","Discard","Discard","EndorsementsCheckOutcome","HeaderCheckOutcome","Proceed","Proceed","WaitForDependencies","WaitForSlot","WaitForSlot","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","fmt","fmt","from","from","from","init","init","init","into","into","into","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","pointer_metadata","pointer_metadata","pointer_metadata","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","fitness","incompatibilities","inherited_incompatibilities_count","parents_hash_period","ConsensusWorker","borrow","borrow_mut","claim_parent_refs","command_receiver","config","deref","deref_mut","deserialize","drop","from","get_next_slot","init","init","into","into_request","layout_raw","main_loop","manage_command","new","next_instant","next_slot","pointer_metadata","previous_slot","run","shared_state","start_consensus_worker","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","wait_slot_or_command","create_genesis_block","Disconnected","Ended","Interrupted","WaitingStatus","borrow","borrow_mut","deref","deref_mut","deserialize","drop","from","init","into","into_request","layout_raw","pointer_metadata","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip"],"q":[[0,"massa_consensus_worker"],[6,"massa_consensus_worker::commands"],[35,"massa_consensus_worker::controller"],[79,"massa_consensus_worker::manager"],[101,"massa_consensus_worker::state"],[207,"massa_consensus_worker::state::blocks_state"],[255,"massa_consensus_worker::state::clique_computation"],[256,"massa_consensus_worker::state::process"],[283,"massa_consensus_worker::state::verifications"],[354,"massa_consensus_worker::state::verifications::HeaderCheckOutcome"],[358,"massa_consensus_worker::worker"],[393,"massa_consensus_worker::worker::init"],[394,"massa_consensus_worker::worker::main_loop"],[417,"massa_consensus_exports::settings"],[418,"massa_consensus_exports::channels"],[419,"massa_consensus_exports::bootstrapable_graph"],[420,"core::option"],[421,"massa_storage"],[422,"massa_metrics"],[423,"massa_consensus_exports::controller_trait"],[424,"alloc::boxed"],[425,"dyn_clone::sealed"],[426,"rkyv::with"],[427,"core::result"],[428,"tonic::request"],[429,"core::alloc::layout"],[430,"core::any"],[431,"massa_models::block_id"],[432,"alloc::vec"],[433,"massa_models::slot"],[434,"massa_consensus_exports::block_graph_export"],[435,"massa_consensus_exports::error"],[436,"massa_models::block"],[437,"massa_models::prehash"],[438,"massa_models::streaming_step"],[439,"massa_models::clique"],[440,"massa_models::stats"],[441,"massa_models::block_header"],[442,"massa_models::secure_share"],[443,"massa_channel::sender"],[444,"parking_lot::rwlock"],[445,"alloc::sync"],[446,"massa_consensus_exports::block_status"],[447,"massa_execution_exports::types"],[448,"std::collections::hash::map"],[449,"massa_models::active_block"],[450,"alloc::collections::btree::set"],[451,"core::fmt"],[452,"core::iter::traits::iterator"],[453,"core::ops::function"],[454,"std::time"],[455,"massa_channel::receiver"]],"i":[0,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,0,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,0,41,41,41,41,41,41,41,0,41,41,41,41,41,41,41,0,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,0,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,0,41,0,41,0,41,41,41,41,41,41,41,41,41,41,41,41,41,41,0,41,41,41,41,0,41,41,41,41,41,41,41,41,41,0,41,41,0,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,0,0,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,0,72,72,48,47,0,0,48,47,48,48,47,72,48,47,72,48,47,72,48,47,72,48,47,72,48,47,72,48,47,48,47,72,48,47,72,48,47,72,48,47,72,48,47,72,48,47,72,48,47,72,48,47,72,48,47,72,48,47,72,48,47,72,48,47,72,48,47,72,48,47,73,73,73,73,0,65,65,65,65,65,65,65,65,65,65,65,0,65,65,65,65,0,65,65,65,65,65,65,65,65,0,65,65,65,65,65,65,65,65,0,68,68,68,0,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68],"f":"```{{bd{h{f}}jl}{{Ad{{A`{n}}{A`{Ab}}}}}}``````{{{Af{c}}Ah}Aj{}}{{{Af{c}}}{{Af{e}}}{}{}}{{{Af{Alc}}}{{Af{Ale}}}{}{}}{{{Af{An}}}An}{{{Af{c}}{Af{Ale}}}Aj{}{}}{{{Af{c}}}Aj{}}{B`{{Af{c}}}{}}{B`{{Af{Alc}}}{}}{{{Af{c}}{Af{Ale}}}{{Bd{{Bb{gi}}}}}{}{}{}{}}{B`Aj}{cc{}}{{{Af{c}}}c{}}{{}B`}{ce{}{}}{c{{Bf{e}}}{}{}}{{}{{Bd{BhBj}}}}{Af}{{{Af{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{Af{c}}}Bl{}}{{{A`{c}}}{{A`{Bn}}}{}}{{{Af{Alc}}}{{Af{AlBn}}}{}}{{{Af{c}}}{{Af{Bn}}}{}}9`{{{Af{c}}Ah}Aj{}}`{{{Af{c}}}{{Af{e}}}{}{}}{{{Af{Alc}}}{{Af{Ale}}}{}{}}``{{{Af{C`}}}C`}{{{Af{C`}}}{{A`{n}}}}{{{Af{c}}{Af{Ale}}}Aj{}{}}{{{Af{c}}}Aj{}}`{B`{{Af{c}}}{}}{B`{{Af{Alc}}}{}}{{{Af{c}}{Af{Ale}}}{{Bd{{Bb{gi}}}}}{}{}{}{}}{B`Aj}{cc{}}{{{Af{c}}}c{}}{{{Af{C`}}}{{Cf{{Ad{CbCd}}}}}}{{{Af{C`}}{h{Ch}}{h{Ch}}}{{Bd{CjCl}}}}{{{Af{C`}}{Af{{Cn{Cb}}}}}{{Cf{D`}}}}{{{Af{C`}}Ch}{{h{Cb}}}}{{{Af{C`}}{Dd{{Db{Cb}}}}{Dd{Ch}}}{{Bd{{Ad{f{Db{Cb}}{Dd{{Db{Cb}}}}}}Cl}}}}{{{Af{C`}}}{{Cf{Df}}}}{{{Af{C`}}Ch}Cb}{{{Af{C`}}}{{Bd{DhCl}}}}{{}B`}{ce{}{}}{c{{Bf{e}}}{}{}}{{}{{Bd{BhBj}}}}{{{Af{C`}}Cb{Dl{DjCb}}}Aj}{{{Dn{An}}E`{Ef{{Ed{Eb}}}}CdEh}C`}{Af}{{{Af{C`}}CbChjEh}Aj}3`{{{Af{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{Af{c}}}Bl{}}{{{A`{c}}}{{A`{Bn}}}{}}{{{Af{Alc}}}{{Af{AlBn}}}{}}{{{Af{c}}}{{Af{Bn}}}{}}<`{{{Af{c}}}{{Af{e}}}{}{}}{{{Af{Alc}}}{{Af{Ale}}}{}{}}`{B`{{Af{c}}}{}}{B`{{Af{Alc}}}{}}{{{Af{c}}{Af{Ale}}}{{Bd{{Bb{gi}}}}}{}{}{}{}}{B`Aj}{cc{}}{{}B`}{ce{}{}}{c{{Bf{e}}}{}{}}{{}{{Bd{BhBj}}}}{Af}{{{Af{AlEj}}}Aj}{c{{Bd{e}}}{}{}}0{{{Af{c}}}Bl{}}{{{A`{c}}}{{A`{Bn}}}{}}{{{Af{Alc}}}{{Af{AlBn}}}{}}{{{Af{c}}}{{Af{Bn}}}{}}9`{{{Af{c}}Ah}Aj{}}`{{{Af{Eb}}{Af{Al{Db{Cb}}}}{Af{{Cn{{Ad{CbCd}}}}}}{h{Ch}}}Aj}{{{Af{AlEb}}Cb{Cf{{Ad{CbCd}}}}Ch{Db{Cb}}B`}{{Bd{AjCl}}}}``{{{Af{AlEb}}}{{Bd{AjCl}}}}``{{{Af{c}}}{{Af{e}}}{}{}}{{{Af{Alc}}}{{Af{Ale}}}{}{}}`2{{{Af{Eb}}{Af{El}}}En}{{{Af{Eb}}{Af{Cb}}{Af{El}}{h{Ch}}}F`}`{{{Af{Eb}}}Eb}{{{Af{c}}{Af{Ale}}}Aj{}{}}{{{Af{c}}}Aj{}}{{{Af{AlEb}}{Af{Cb}}}{{Bd{B`Cl}}}}`{{{Af{AlEb}}CbEl{h{Ch}}}{{h{Fb}}}}{{{Af{AlEb}}FdCbEl}Fb}{B`{{Af{c}}}{}}{B`{{Af{Alc}}}{}}{{{Af{c}}{Af{Ale}}}{{Bd{{Bb{gi}}}}}{}{}{}{}}{{{Af{AlEb}}{Af{El}}}Eh}{B`Aj}{{{Af{Eb}}{h{Ch}}{h{Ch}}}{{Bd{CjCl}}}}`{cc{}}{{{Af{c}}}c{}}`{{{Af{Eb}}{Af{Cb}}}{{Db{Cb}}}}{{{Af{Eb}}}{{Fh{Cb{Ad{ChFf}}}}}}{{{Af{Eb}}{Af{Cb}}}D`}{{{Af{Eb}}}{{Bd{{Fj{Cb{h{El}}}}Cl}}}}{{{Af{Eb}}}{{Db{Cb}}}}{{{Af{Eb}}{Af{Ch}}}{{h{Cb}}}}{{{Af{Eb}}}B`}{{{Af{Eb}}{Af{Cb}}}{{h{{Ad{{Af{Fl}}{Af{Fn}}}}}}}}{{{Af{Eb}}{Af{Ch}}}Cb}{{{Af{Eb}}}{{Bd{DhCl}}}}``{{}B`}{{{Af{AlEb}}CbCh{Cf{Cb}}}Aj}{ce{}{}}{c{{Bf{e}}}{}{}}``{{}{{Bd{BhBj}}}}{{{Af{Eb}}{Af{{Db{Cb}}}}{h{Ch}}}{{Bd{{Cf{{Ad{CbCd}}}}Cl}}}}{{{Af{Eb}}}{{Bd{{Db{Cb}}Cl}}}}{{{Af{Eb}}Ch}{{Bd{{Cf{{Ad{CbCd}}}}Cl}}}}{{{Af{Eb}}{h{Ch}}}{{Bd{{Db{Cb}}Cl}}}}{{{Af{Eb}}Cd}{{Db{Cb}}}}{{{Af{AlEb}}{Af{Cb}}{Db{Cb}}}{{Bd{AjCl}}}}{{{Af{AlEb}}{Af{Cb}}El}Aj}``{{{Af{AlEb}}{Af{Fd}}{Af{Cb}}}Aj}```{{{Af{AlEb}}{Fh{ChCb}}}Aj}{Af}``{{{Af{AlEb}}Cb{h{Ch}}}{{Bd{{G`{{Ad{ChCb}}}}Cl}}}}```{{{Af{AlEb}}}{{Bd{AjCl}}}}{{{Af{AlEb}}}{{Bd{{Fj{CbFl}}Cl}}}}1{{{Af{AlEb}}}Aj}022{{{Af{AlEb}}{G`{{Ad{ChCb}}}}{h{Ch}}}{{Bd{AjCl}}}}{{{Af{AlEb}}CbCh{h{Ch}}jEh}{{Bd{AjCl}}}}{{{Af{AlEb}}CbEl{h{Ch}}}{{Bd{AjCl}}}}{{{Af{AlEb}}{Af{Cb}}{Af{Cb}}}Aj}`{{{Af{AlEb}}Ch}{{Bd{AjCl}}}}````7``{{{Af{c}}}e{}{}}`{c{{Bd{e}}}{}{}}{{{Af{Eb}}{Af{Cb}}}{{Bd{{Ad{{Af{Fl}}{Af{Fn}}}}Cl}}}}1{{{Af{c}}}Bl{}}{{{A`{c}}}{{A`{Bn}}}{}}{{{Af{Alc}}}{{Af{AlBn}}}{}}{{{Af{c}}}{{Af{Bn}}}{}}`{ce{}{}}``{{{Af{c}}Ah}Aj{}}{{{Af{Gb}}}{{Af{{Db{Cb}}}}}}``{{{Af{c}}}{{Af{e}}}{}{}}{{{Af{Alc}}}{{Af{Ale}}}{}{}}{{{Af{Gb}}}Gb}{{{Af{c}}{Af{Ale}}}Aj{}{}}{{{Af{c}}}Aj{}}{B`{{Af{c}}}{}}{B`{{Af{Alc}}}{}}{{{Af{c}}{Af{Ale}}}{{Bd{{Bb{gi}}}}}{}{}{}{}}8`{B`Aj}{{{Af{Gb}}{Af{AlGd}}}Gf}{cc{}}{{{Af{c}}}c{}}{{{Af{Gb}}{Af{Cb}}}{{h{{Af{Fb}}}}}}{{{Af{AlGb}}{Af{Cb}}}{{h{{Af{AlFb}}}}}}>`{{}B`}{ce{}{}}{c{{Bf{e}}}{}{}}{{{Af{Gb}}}{{`{{Gj{}{{Gh{{Ad{{Af{Cb}}{Af{Fb}}}}}}}}}}}}{{}{{Bd{BhBj}}}}{{{Af{Gb}}}B`}{{}Gb}{Af}{{{Af{AlGb}}Cb}Aj}{{{Af{Gb}}}Cd}`{{{Af{c}}}e{}{}}{{{Af{AlGb}}{Af{Cb}}c}Aj{{Gn{{h{Fb}}{Af{Al{Fj{CbFb}}}}}{{Gl{{h{Fb}}}}}}}}{c{{Bd{e}}}{}{}}0{{{Af{c}}}Bl{}}{{{A`{c}}}{{A`{Bn}}}{}}{{{Af{Alc}}}{{Af{AlBn}}}{}}{{{Af{c}}}{{Af{Bn}}}{}}{{{Af{AlGb}}{Af{Cb}}{h{{Af{H`}}}}{h{{Af{H`}}}}}Aj}{ce{}{}}{{{Af{Gb}}}{{Af{{Db{Cb}}}}}}`0`{{{Af{{Fj{Cb{Db{Cb}}}}}}}{{Cf{{Db{Cb}}}}}}`{{{Af{c}}}{{Af{e}}}{}{}}{{{Af{Alc}}}{{Af{Ale}}}{}{}}`{B`{{Af{c}}}{}}{B`{{Af{Alc}}}{}}{{{Af{c}}{Af{Ale}}}{{Bd{{Bb{gi}}}}}{}{}{}{}}{B`Aj}`{cc{}}``{{}B`}:{c{{Bf{e}}}{}{}}{{}{{Bd{BhBj}}}}`{Af}``{c{{Bd{e}}}{}{}}0{{{Af{c}}}Bl{}}{{{A`{c}}}{{A`{Bn}}}{}}{{{Af{Alc}}}{{Af{AlBn}}}{}}{{{Af{c}}}{{Af{Bn}}}{}}{ce{}{}}````````````{{{Af{c}}}{{Af{e}}}{}{}}00{{{Af{Alc}}}{{Af{Ale}}}{}{}}00{B`{{Af{c}}}{}}00{B`{{Af{Alc}}}{}}00{{{Af{c}}{Af{Ale}}}{{Bd{{Bb{gi}}}}}{}{}{}{}}00{B`Aj}00{{{Af{F`}}{Af{AlGd}}}Gf}{{{Af{En}}{Af{AlGd}}}Gf}{cc{}}00{{}B`}00:::{c{{Bf{e}}}{}{}}00{{}{{Bd{BhBj}}}}00{Af}00{c{{Bd{e}}}{}{}}00000{{{Af{c}}}Bl{}}00{{{A`{c}}}{{A`{Bn}}}{}}00{{{Af{Alc}}}{{Af{AlBn}}}{}}00{{{Af{c}}}{{Af{Bn}}}{}}00{ce{}{}}00`````{{{Af{c}}}{{Af{e}}}{}{}}{{{Af{Alc}}}{{Af{Ale}}}{}{}}{{{Af{AlHb}}}{{Bd{AjCl}}}}``{B`{{Af{c}}}{}}{B`{{Af{Alc}}}{}}{{{Af{c}}{Af{Ale}}}{{Bd{{Bb{gi}}}}}{}{}{}{}}{B`Aj}{cc{}}{{{Af{Hb}}{h{Ch}}}{{Ad{ChHd}}}}`{{}B`}:{c{{Bf{e}}}{}{}}{{}{{Bd{BhBj}}}}`{{{Af{AlHb}}An}{{Bd{AjCl}}}}{{b{Hf{An}}{Ef{{Ed{Eb}}}}{h{f}}j}{{Bd{HbCl}}}}``{Af}`{{{Af{AlHb}}}Aj}`{{bd{h{f}}jl}{{Ad{{A`{n}}{A`{Ab}}}}}}{c{{Bd{e}}}{}{}}0{{{Af{c}}}Bl{}}{{{A`{c}}}{{A`{Bn}}}{}}{{{Af{Alc}}}{{Af{AlBn}}}{}}{{{Af{c}}}{{Af{Bn}}}{}}{ce{}{}}{{{Af{AlHb}}Hd}Hh}{{{Af{b}}Hj}{{Bd{HlCl}}}}````{{{Af{c}}}{{Af{e}}}{}{}}{{{Af{Alc}}}{{Af{Ale}}}{}{}}{B`{{Af{c}}}{}}{B`{{Af{Alc}}}{}}{{{Af{c}}{Af{Ale}}}{{Bd{{Bb{gi}}}}}{}{}{}{}}{B`Aj}{cc{}}{{}B`}:{c{{Bf{e}}}{}{}}{{}{{Bd{BhBj}}}}{Af}{c{{Bd{e}}}{}{}}0{{{Af{c}}}Bl{}}{{{A`{c}}}{{A`{Bn}}}{}}{{{Af{Alc}}}{{Af{AlBn}}}{}}{{{Af{c}}}{{Af{Bn}}}{}}{ce{}{}}","D":"ABj","p":[[5,"ConsensusConfig",417],[5,"ConsensusChannels",418],[5,"BootstrapableGraph",419],[6,"Option",420],[5,"Storage",421],[5,"MassaMetrics",422],[10,"ConsensusController",423],[5,"Box",424],[10,"ConsensusManager",423],[1,"tuple"],[1,"reference"],[5,"Private",425],[1,"unit"],[0,"mut"],[6,"ConsensusCommand",6],[1,"usize"],[5,"With",426],[6,"Result",427],[5,"Request",428],[5,"Layout",429],[5,"LayoutError",429],[5,"TypeId",430],[10,"Any",430],[5,"ConsensusControllerImpl",35],[6,"BlockId",431],[1,"u64"],[5,"Vec",432],[5,"Slot",433],[5,"BlockGraphExport",434],[6,"ConsensusError",435],[1,"slice"],[6,"BlockGraphStatus",436],[8,"PreHashSet",437],[6,"StreamingStep",438],[5,"Clique",439],[5,"ConsensusStats",440],[5,"BlockHeader",441],[5,"SecureShare",442],[5,"MassaSender",443],[5,"ConsensusBroadcasts",418],[5,"ConsensusState",101],[8,"RwLock",444],[5,"Arc",445],[1,"bool"],[5,"ConsensusManagerImpl",79],[8,"SecuredHeader",441],[6,"EndorsementsCheckOutcome",283],[6,"HeaderCheckOutcome",283],[6,"BlockStatus",446],[6,"DiscardReason",446],[5,"ExecutionBlockMetadata",447],[5,"HashMap",448],[8,"PreHashMap",437],[5,"ActiveBlock",449],[6,"StorageOrBlock",446],[5,"BTreeSet",450],[5,"BlocksState",207],[5,"Formatter",451],[8,"Result",451],[17,"Item"],[10,"Iterator",452],[17,"Output"],[10,"FnOnce",453],[6,"BlockStatusId",446],[5,"ConsensusWorker",358],[5,"Instant",454],[5,"MassaReceiver",455],[6,"WaitingStatus",394],[1,"u8"],[8,"SecureShareBlock",436],[5,"BlockInfos",256],[6,"BlockCheckOutcome",283],[15,"Proceed",354]],"r":[[3,358]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAwBPgABAAIABQAPABYAAQAZAAoAJQAOADUAAAA+AAAAQAAXAFkAAABbAAwAbgAAAHAAAQB3AAMAfgAFAIYAAACKAAAAjgAAAJMAAgCXAAAAmgAAAJwAAACfAAEAqQAAAKsAAACtAAAArwAAALIAAAC0AAAAtgAAALoAAAC+AAAAwwABAMYAAADIAAYA0AABANUABwDfAAEA4gAAAOcAAADpAAAA6wAAAO4AAADyAAAA9AAHAAIBAQAFAQMADQEAAA8BAQASAQAAFQEJACgBEwA/AQIARQEdAGgBAQBtAQMAcwEBAHYBAgB9AQAAggEGAIsBCQCWAQAAmAEJAA=="}],\ ["massa_db_exports",{"t":"SSSSSSSSSPISSSSSSSSSSSSSPPPPPSSSISSSSSSSSFKGGGSPPSSSSSPIPFPSIMOCCCMMCMMMMMMMOOOOMOOMMMMCOOMMSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSPPPKGGPIPMNNNNMMMNNMMMMMNNNNMMMMMMNNNNNNNNMMIIFINNONNNNNNNNNONNNNONPPPGPPPNNNNNNNNNNNNFNNNNNNNNNNOOOOOONNNNN","n":["ASYNC_POOL_PREFIX","CF_ERROR","CHANGE_ID_DESER_ERROR","CHANGE_ID_KEY","CHANGE_ID_SER_ERROR","CRUD_ERROR","CYCLE_HISTORY_DESER_ERROR","CYCLE_HISTORY_PREFIX","CYCLE_HISTORY_SER_ERROR","CacheMissError","DBBatch","DEFERRED_CALLS_PREFIX","DEFERRED_CALL_DESER_ERROR","DEFERRED_CALL_SER_ERROR","DEFERRED_CREDITS_DESER_ERROR","DEFERRED_CREDITS_PREFIX","DEFERRED_CREDITS_SER_ERROR","EXECUTED_DENUNCIATIONS_INDEX_DESER_ERROR","EXECUTED_DENUNCIATIONS_INDEX_SER_ERROR","EXECUTED_DENUNCIATIONS_PREFIX","EXECUTED_OPS_ID_DESER_ERROR","EXECUTED_OPS_ID_SER_ERROR","EXECUTED_OPS_PREFIX","EXECUTION_TRAIL_HASH_PREFIX","End","Forward","From","HashError","InvalidChangeID","KEY_DESER_ERROR","KEY_LEN_SER_ERROR","KEY_SER_ERROR","Key","LEDGER_PREFIX","MESSAGE_DESER_ERROR","MESSAGE_ID_DESER_ERROR","MESSAGE_ID_SER_ERROR","MESSAGE_SER_ERROR","METADATA_CF","MIP_STORE_PREFIX","MIP_STORE_STATS_PREFIX","MassaDBConfig","MassaDBController","MassaDBError","MassaDirection","MassaIteratorMode","OPEN_ERROR","Reverse","RocksDBError","STATE_CF","STATE_HASH_BYTES_LEN","STATE_HASH_ERROR","STATE_HASH_INITIAL_BYTES","STATE_HASH_KEY","SerializeError","ShareableMassaDBController","Start","StreamBatch","TimeError","VERSIONING_CF","Value","backup_db","change_id","constants","controller","db_batch","delete_key","delete_prefix","error","flush","get_batch_to_stream","get_cf","get_change_id","get_versioning_batch_to_stream","get_xof_db_hash","iterator_cf","max_final_state_elements_size","max_history_length","max_ledger_backups","max_versioning_elements_size","multi_get_cf","new_elements","path","prefix_iterator_cf","put_or_update_entry_value","reset","set_initial_change_id","settings","thread_count","updates_on_previous_elements","write_batch","write_batch_bootstrap_client","ASYNC_POOL_PREFIX","CF_ERROR","CHANGE_ID_DESER_ERROR","CHANGE_ID_KEY","CHANGE_ID_SER_ERROR","CRUD_ERROR","CYCLE_HISTORY_DESER_ERROR","CYCLE_HISTORY_PREFIX","CYCLE_HISTORY_SER_ERROR","DEFERRED_CALLS_PREFIX","DEFERRED_CALL_DESER_ERROR","DEFERRED_CALL_SER_ERROR","DEFERRED_CREDITS_DESER_ERROR","DEFERRED_CREDITS_PREFIX","DEFERRED_CREDITS_SER_ERROR","EXECUTED_DENUNCIATIONS_INDEX_DESER_ERROR","EXECUTED_DENUNCIATIONS_INDEX_SER_ERROR","EXECUTED_DENUNCIATIONS_PREFIX","EXECUTED_OPS_ID_DESER_ERROR","EXECUTED_OPS_ID_SER_ERROR","EXECUTED_OPS_PREFIX","EXECUTION_TRAIL_HASH_PREFIX","KEY_DESER_ERROR","KEY_LEN_SER_ERROR","KEY_SER_ERROR","LEDGER_PREFIX","MESSAGE_DESER_ERROR","MESSAGE_ID_DESER_ERROR","MESSAGE_ID_SER_ERROR","MESSAGE_SER_ERROR","METADATA_CF","MIP_STORE_PREFIX","MIP_STORE_STATS_PREFIX","OPEN_ERROR","STATE_CF","STATE_HASH_BYTES_LEN","STATE_HASH_ERROR","STATE_HASH_INITIAL_BYTES","STATE_HASH_KEY","VERSIONING_CF","End","Forward","From","MassaDBController","MassaDirection","MassaIteratorMode","Reverse","ShareableMassaDBController","Start","backup_db","borrow","borrow","borrow_mut","borrow_mut","delete_key","delete_prefix","flush","from","from","get_batch_to_stream","get_cf","get_change_id","get_versioning_batch_to_stream","get_xof_db_hash","into","into","into_request","into_request","iterator_cf","multi_get_cf","prefix_iterator_cf","put_or_update_entry_value","reset","set_initial_change_id","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","write_batch","write_batch_bootstrap_client","DBBatch","Key","StreamBatch","Value","borrow","borrow_mut","change_id","clone","clone_into","clone_to_uninit","fmt","from","from_ref","into","into_request","is_empty","new_elements","to_owned","try_from","try_into","type_id","updates_on_previous_elements","vzip","CacheMissError","HashError","InvalidChangeID","MassaDBError","RocksDBError","SerializeError","TimeError","borrow","borrow_mut","fmt","fmt","from","into","into_request","to_string","try_from","try_into","type_id","vzip","MassaDBConfig","borrow","borrow_mut","clone","clone_into","clone_to_uninit","fmt","from","from_ref","into","into_request","max_final_state_elements_size","max_history_length","max_ledger_backups","max_versioning_elements_size","path","thread_count","to_owned","try_from","try_into","type_id","vzip"],"q":[[0,"massa_db_exports"],[92,"massa_db_exports::constants"],[132,"massa_db_exports::controller"],[176,"massa_db_exports::db_batch"],[199,"massa_db_exports::error"],[218,"massa_db_exports::settings"],[240,"massa_models::slot"],[241,"std::path"],[242,"alloc::vec"],[243,"core::option"],[244,"core::result"],[245,"massa_models::streaming_step"],[246,"massa_models::error"],[247,"massa_hash::hash_xof"],[248,"core::iter::traits::iterator"],[249,"alloc::boxed"],[250,"tonic::request"],[251,"core::any"],[252,"core::clone"],[253,"core::cmp"],[254,"core::fmt"],[255,"alloc::string"]],"i":[0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,38,20,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,12,0,0,0,0,0,12,0,20,0,12,0,0,1,15,0,0,0,1,1,0,1,1,1,1,1,1,1,37,37,37,37,1,15,37,1,1,1,1,0,37,15,1,1,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,20,38,20,0,0,0,38,0,20,1,20,38,20,38,1,1,1,20,38,1,1,1,1,1,20,38,20,38,1,1,1,1,1,1,20,38,20,38,20,38,20,38,1,1,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,12,12,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37],"f":"`````````````````````````````````````````````````````````````{{{d{b}}f}h}````{{{d{b}}{d{jl}}{A`{n}}}Ab}{{{d{jb}}{d{Ad}}{d{Ad}}{Af{f}}}Ab}`{{{d{b}}}{{Aj{AbAh}}}}{{{d{b}}{d{{Al{{A`{n}}}}}}{Af{f}}}{{Aj{{An{f}}Ah}}}}{{{d{b}}{d{Ad}}B`}{{Aj{{Af{Bb}}Ah}}}}{{{d{b}}}{{Aj{fBd}}}}2{{{d{b}}}Bf}{{{d{b}}{d{Ad}}Bh}{{Bl{Bj}}}}````{{{d{b}}{A`{{Bn{{d{Ad}}B`}}}}}{{A`{{Aj{{Af{Bb}}Ah}}}}}}``{{{d{b}}{d{Ad}}{d{{C`{n}}}}}{{Bl{Bj}}}}{{{d{b}}{d{jl}}{A`{n}}{d{{C`{n}}}}}Ab}{{{d{jb}}f}Ab}{{{d{b}}f}Ab}```{{{d{jb}}ll{Af{f}}}Ab}{{{d{jb}}{An{f}}{An{f}}}{{Aj{{Bn{{Al{B`}}{Al{B`}}}}Ah}}}}`````````````````````````````````````````````````?{{{d{c}}}{{d{e}}}{}{}}0{{{d{jc}}}{{d{je}}}{}{}}0{{{d{b}}{d{jl}}{A`{n}}}Ab}{{{d{jb}}{d{Ad}}{d{Ad}}{Af{f}}}Ab}{{{d{b}}}{{Aj{AbAh}}}}{cc{}}0{{{d{b}}{d{{Al{{A`{n}}}}}}{Af{f}}}{{Aj{{An{f}}Ah}}}}{{{d{b}}{d{Ad}}B`}{{Aj{{Af{Bb}}Ah}}}}{{{d{b}}}{{Aj{fBd}}}}2{{{d{b}}}Bf}{ce{}{}}0{c{{Cb{e}}}{}{}}0{{{d{b}}{d{Ad}}Bh}{{Bl{Bj}}}}{{{d{b}}{A`{{Bn{{d{Ad}}B`}}}}}{{A`{{Aj{{Af{Bb}}Ah}}}}}}{{{d{b}}{d{Ad}}{d{{C`{n}}}}}{{Bl{Bj}}}}{{{d{b}}{d{jl}}{A`{n}}{d{{C`{n}}}}}Ab}{{{d{jb}}f}Ab}{{{d{b}}f}Ab}{c{{Aj{e}}}{}{}}000{{{d{c}}}Cd{}}099{{{d{jb}}ll{Af{f}}}Ab}{{{d{jb}}{An{f}}{An{f}}}{{Aj{{Bn{{Al{B`}}{Al{B`}}}}Ah}}}}````{{{d{c}}}{{d{e}}}{}{}}{{{d{jc}}}{{d{je}}}{}{}}`{{{d{{An{c}}}}}{{An{c}}}{CfChCjClCnCfD`}}{{{d{c}}{d{je}}}Ab{}{}}{{{d{c}}}Ab{}}{{{d{{An{c}}}}{d{jDb}}}Dd{D`ChCjClCnCfD`}}{cc{}}{{{d{c}}}c{}}{ce{}{}}{c{{Cb{e}}}{}{}}{{{d{{An{c}}}}}Df{ChCjClCnCfD`}}`{{{d{c}}}e{}{}}??>`3```````;:{{{d{Ah}}{d{jDb}}}Dd}0643{{{d{c}}}Dh{}}{c{{Aj{e}}}{}{}}0{{{d{c}}}Cd{}}7`?>{{{d{Dj}}}Dj}=<{{{d{Dj}}{d{jDb}}}Dd};:98``````63329","D":"Kd","p":[[10,"MassaDBController",132],[1,"reference"],[5,"Slot",240],[5,"PathBuf",241],[0,"mut"],[8,"DBBatch",176],[1,"u8"],[5,"Vec",242],[1,"unit"],[1,"str"],[6,"Option",243],[6,"MassaDBError",199],[6,"Result",244],[6,"StreamingStep",245],[5,"StreamBatch",176],[8,"Key",176],[8,"Value",176],[6,"ModelsError",246],[5,"HashXof",247],[6,"MassaIteratorMode",132],[10,"Iterator",248],[5,"Box",249],[1,"tuple"],[1,"slice"],[5,"Request",250],[5,"TypeId",251],[10,"Clone",252],[10,"PartialOrd",253],[10,"Ord",253],[10,"PartialEq",253],[10,"Eq",253],[10,"Debug",254],[5,"Formatter",254],[8,"Result",254],[1,"bool"],[5,"String",255],[5,"MassaDBConfig",218],[6,"MassaDirection",132]],"r":[[0,92],[1,92],[2,92],[3,92],[4,92],[5,92],[6,92],[7,92],[8,92],[10,176],[11,92],[12,92],[13,92],[14,92],[15,92],[16,92],[17,92],[18,92],[19,92],[20,92],[21,92],[22,92],[23,92],[29,92],[30,92],[31,92],[32,176],[33,92],[34,92],[35,92],[36,92],[37,92],[38,92],[39,92],[40,92],[41,218],[42,132],[43,199],[44,132],[45,132],[46,92],[49,92],[50,92],[51,92],[52,92],[53,92],[55,132],[57,176],[59,92],[60,176]],"b":[[208,"impl-Display-for-MassaDBError"],[209,"impl-Debug-for-MassaDBError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJYAGwAAAAkADAAPAB4ACwAvAAEAMgAEADgAAQA8AAEAQAACAFgAAABdACoAiwACAI8AAwCfAAEApwAHALIAAAC0AAIAuAADAL0AAAC/AAAAwgADAMcAAADPAAMA1QAFANwABQDjAAAA5QAAAOwABAA="}],\ ["massa_db_worker",{"t":"IFOOOOOOOOOOOOOOCIFNNNOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["MassaDB","RawMassaDB","change_history","change_history","change_history_versioning","change_history_versioning","change_id_deserializer","change_id_deserializer","change_id_serializer","change_id_serializer","config","config","current_batch","current_batch","db","db","massa_db","MassaDB","RawMassaDB","backup_db","borrow","borrow_mut","change_history","change_history","change_history_versioning","change_history_versioning","change_id_deserializer","change_id_deserializer","change_id_serializer","change_id_serializer","config","config","current_batch","current_batch","db","db","default_db_opts","delete_key","delete_prefix","flush","fmt","from","get_batch_to_stream","get_batch_to_stream","get_cf","get_change_id","get_change_id","get_versioning_batch_to_stream","get_versioning_batch_to_stream","get_xof_db_hash","get_xof_db_hash","get_xof_db_hash_opt","into","into_request","iterator_cf","multi_get_cf","new","new_with_options","prefix_iterator_cf","put_or_update_entry_value","reset","set_change_id_to_batch","set_initial_change_id","set_initial_change_id","try_from","try_into","type_id","vzip","write_batch","write_batch_bootstrap_client","write_batch_bootstrap_client","write_changes"],"q":[[0,"massa_db_worker"],[17,"massa_db_worker::massa_db"],[72,"massa_models::slot"],[73,"std::path"],[74,"rocksdb::db_options"],[75,"massa_db_exports::db_batch"],[76,"alloc::vec"],[77,"core::option"],[78,"massa_db_exports::error"],[79,"core::result"],[80,"core::fmt"],[81,"core::cmp"],[82,"core::clone"],[83,"massa_serialization"],[84,"massa_models::streaming_step"],[85,"massa_models::error"],[86,"massa_hash::hash_xof"],[87,"tonic::request"],[88,"massa_db_exports::controller"],[89,"core::iter::traits::iterator"],[90,"alloc::boxed"],[91,"massa_db_exports::settings"],[92,"rocksdb"],[93,"core::any"],[94,"alloc::collections::btree::map"]],"i":[0,0,44,4,44,4,44,4,44,4,44,4,44,4,44,4,0,0,0,4,4,4,44,4,44,4,44,4,44,4,44,4,44,4,44,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4],"f":"```````````````````{{{j{{h{bdf}}}}b}l}{{{j{c}}}{{j{e}}}{}{}}{{{j{nc}}}{{j{ne}}}{}{}}``````````````{{}A`}{{{j{{h{bdf}}}}{j{nAb}}{Af{Ad}}}Ah}{{{j{n{h{bdf}}}}{j{Aj}}{j{Aj}}{Al{b}}}Ah}{{{j{{h{bdf}}}}}{{B`{AhAn}}}}{{{j{{h{ceg}}}}{j{nBb}}}Bd{BfBhBjBlBnC`}{{Cb{c}}}{{Cd{c}}}}{cc{}}{{{j{{h{ceg}}}}{j{{Cf{{Af{Ad}}}}}}{Al{c}}}{{B`{{Ch{c}}An}}}{BfBhBjBlBnC`}{{Cb{c}}}{{Cd{c}}}}{{{j{{h{bdf}}}}{j{{Cf{{Af{Ad}}}}}}{Al{b}}}{{B`{{Ch{b}}An}}}}{{{j{{h{bdf}}}}{j{Aj}}Cj}{{B`{{Al{Cl}}An}}}}{{{j{{h{bdf}}}}}{{B`{bCn}}}}{{{j{{h{ceg}}}}}{{B`{cCn}}}{BfBhBjBlBnC`}{{Cb{c}}}{{Cd{c}}}}43{{{j{{h{ceg}}}}}D`{BfBhBjBlBnC`}{{Cb{c}}}{{Cd{c}}}}{{{j{{h{bdf}}}}}D`}{{{j{{h{ceg}}}}}{{Al{D`}}}{BfBhBjBlBnC`}{{Cb{c}}}{{Cd{c}}}}{ce{}{}}{c{{Db{e}}}{}{}}{{{j{{h{bdf}}}}{j{Aj}}Dd}{{Dh{Df}}}}{{{j{{h{bdf}}}}{Af{{Dj{{j{Aj}}Cj}}}}}{{Af{{B`{{Al{Cl}}An}}}}}}{Dl{{h{bdf}}}}{{DlA`}{{B`{{h{bdf}}Dn}}}}{{{j{{h{bdf}}}}{j{Aj}}{j{{E`{Ad}}}}}{{Dh{Df}}}}{{{j{{h{bdf}}}}{j{nAb}}{Af{Ad}}{j{{E`{Ad}}}}}Ah}{{{j{n{h{bdf}}}}b}Ah}{{{j{{h{ceg}}}}c}Ah{BfBhBjBlBnC`}{{Cb{c}}}{{Cd{c}}}}0{{{j{{h{bdf}}}}b}Ah}{c{{B`{e}}}{}{}}0{{{j{c}}}Eb{}}<{{{j{n{h{bdf}}}}AbAb{Al{b}}}Ah}{{{j{n{h{ceg}}}}{Ch{c}}{Ch{c}}}{{B`{{Dj{{Cf{Cj}}{Cf{Cj}}}}An}}}{BfBhBjBlBnC`}{{Cb{c}}}{{Cd{c}}}}{{{j{n{h{bdf}}}}{Ch{b}}{Ch{b}}}{{B`{{Dj{{Cf{Cj}}{Cf{Cj}}}}An}}}}{{{j{n{h{ceg}}}}{Ed{Cj{Al{Cl}}}}{Ed{Cj{Al{Cl}}}}{Al{c}}Ef}{{B`{AhAn}}}{BfBhBjBlBnC`}{{Cb{c}}}{{Cd{c}}}}","D":"Gl","p":[[5,"Slot",72],[5,"SlotSerializer",72],[5,"SlotDeserializer",72],[5,"RawMassaDB",17],[1,"reference"],[5,"PathBuf",73],[0,"mut"],[5,"Options",74],[8,"DBBatch",75],[1,"u8"],[5,"Vec",76],[1,"unit"],[1,"str"],[6,"Option",77],[6,"MassaDBError",78],[6,"Result",79],[5,"Formatter",80],[8,"Result",80],[10,"PartialOrd",81],[10,"Ord",81],[10,"PartialEq",81],[10,"Eq",81],[10,"Clone",82],[10,"Debug",80],[10,"Serializer",83],[10,"Deserializer",83],[6,"StreamingStep",84],[5,"StreamBatch",75],[8,"Key",75],[8,"Value",75],[6,"ModelsError",85],[5,"HashXof",86],[5,"Request",87],[6,"MassaIteratorMode",88],[10,"Iterator",89],[5,"Box",90],[1,"tuple"],[5,"MassaDBConfig",91],[5,"Error",92],[1,"slice"],[5,"TypeId",93],[5,"BTreeMap",94],[1,"bool"],[8,"MassaDB",17]],"r":[[0,17],[1,17]],"b":[[42,"impl-RawMassaDB%3CChangeID,+ChangeIDSerializer,+ChangeIDDeserializer%3E"],[43,"impl-MassaDBController-for-RawMassaDB%3CSlot,+SlotSerializer,+SlotDeserializer%3E"],[45,"impl-MassaDBController-for-RawMassaDB%3CSlot,+SlotSerializer,+SlotDeserializer%3E"],[46,"impl-RawMassaDB%3CChangeID,+ChangeIDSerializer,+ChangeIDDeserializer%3E"],[47,"impl-RawMassaDB%3CChangeID,+ChangeIDSerializer,+ChangeIDDeserializer%3E"],[48,"impl-MassaDBController-for-RawMassaDB%3CSlot,+SlotSerializer,+SlotDeserializer%3E"],[49,"impl-RawMassaDB%3CChangeID,+ChangeIDSerializer,+ChangeIDDeserializer%3E"],[50,"impl-MassaDBController-for-RawMassaDB%3CSlot,+SlotSerializer,+SlotDeserializer%3E"],[62,"impl-RawMassaDB%3CChangeID,+ChangeIDSerializer,+ChangeIDDeserializer%3E"],[63,"impl-MassaDBController-for-RawMassaDB%3CSlot,+SlotSerializer,+SlotDeserializer%3E"],[69,"impl-RawMassaDB%3CChangeID,+ChangeIDSerializer,+ChangeIDDeserializer%3E"],[70,"impl-MassaDBController-for-RawMassaDB%3CSlot,+SlotSerializer,+SlotDeserializer%3E"]],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAoAEAAAABEAFQAWACUAKQAtADYAQQBCAEMARAA="}],\ ["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_module_cache::error"],[1131,"massa_hash::error"],[1132,"massa_models::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{ClGb}}}}{{{Af{HdFh}}}Hf}{HdHh}{{BhHj}Hl}{{HnI`}{{Af{IbGb}}}}``{{{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,"CacheError",1130],[6,"MassaHashError",1131],[6,"ModelsError",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%3CCacheError%3E-for-ExecutionError"],[397,"impl-From%3CMassaHashError%3E-for-ExecutionError"],[398,"impl-From%3CModelsError%3E-for-ExecutionError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFQCQwAYAAAAQQAAAFoAAgBnAAMAeAADAH0AAwCJAAEAjgAHAKQAAQCoAAEArgAAALkAAQC9AAEAwgACAMwAAQDUAAAA1wABANwABADiAAAA5AABAOgAAwDuAAAA8wABAAEBAAANAQcAFwEFAB4BAQAzAQkAPgEBAEEBAgBFAQcAcQEZAIwBAwCRAQMAlwEYALMBAgC3AQcAwQEAAMMBAADGAQAAyAECAM0BAADPAQgA2gEBAN8BAQDlAQMA7gEGAPkBBwAFAgEACQIBAA8CAQATAgEAFgIBAC0CAQA3Ag8AgwIJAJMCIQC9Ah0A4QJDACwDCQBHAwkAUwMQAHUDEACIAxAAnwMQALQDAQC9A4AA"}],\ +["massa_execution_worker",{"t":"CCCCCCCCCCCCCCHCCCPFPPGPPPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNONONNNNNNONOOOOOOOONNNNNONNNNNNNNNNONNONOOOONNOOHNNNNNNNNNNNNNNNNNNHNNNNNNNNNNOOONOONNONONOONNNNNNOOOOOOOOONNNNNNNNNNNNNOONNNNNNNNNFFFNONNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNNNNNNNONNNNONONONNNNNNNNNNNNNNNNNNNNNNNNIIFOONNNNOOQONNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNOOONNNOONNNNNNNNOFFFFFGPPOOOONNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNNONNNNNNOONNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNHHNNNNNNNNNNNNNNNNNNNNNNNNOOQNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNOOONNNNNNNNNNNNNNFFNNNNNNNNNOOONNNNNNNNONNNNNNNNNNNNNNNNNOOOONNNNNNONONNNNNNNNNNNNNNNNFONNNNNNNONNNNNNNNHNONNONNNNNNNNNNNNFSONNNNNOONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNFONNNNNNOONNNNNNNNNNNNNNNNNNNFONNNNNNOONNNNNNNNNNNNNNNNNNNFOONNNNNNNNNNONNNNNNNNNNNNOOONNNNNONNNNNNNNNFONONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNOOONNNNNNNNNNNNONNNNNNNFFKNNNNONNNNNNNNONNNNNNNNNNOONNNNMNNOONNNNNNNNNNNNNNMNNFNNNNNNNONNONNNNNNOOOHNNNNNNNNN","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","cur_execution_version","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"],[403,"massa_execution_worker::execution_info"],[556,"massa_execution_worker::interface_impl"],[695,"massa_execution_worker::request_queue"],[752,"massa_execution_worker::slot_sequencer"],[821,"massa_execution_worker::speculative_async_pool"],[857,"massa_execution_worker::speculative_deferred_calls"],[900,"massa_execution_worker::speculative_executed_denunciations"],[929,"massa_execution_worker::speculative_executed_ops"],[958,"massa_execution_worker::speculative_ledger"],[1002,"massa_execution_worker::speculative_roll_state"],[1041,"massa_execution_worker::stats"],[1071,"massa_execution_worker::storage_backend"],[1126,"massa_execution_worker::worker"],[1157,"massa_execution_exports::settings"],[1158,"massa_final_state::controller_trait"],[1159,"parking_lot::rwlock"],[1160,"alloc::sync"],[1161,"massa_pos_exports::controller_traits"],[1162,"alloc::boxed"],[1163,"massa_versioning::versioning"],[1164,"massa_execution_exports::channels"],[1165,"massa_wallet"],[1166,"massa_metrics"],[1167,"massa_event_cache::controller"],[1168,"massa_execution_exports::controller_traits"],[1169,"rkyv::with"],[1170,"core::result"],[1171,"massa_models::address"],[1172,"alloc::vec"],[1173,"massa_models::amount"],[1174,"massa_models::bytecode"],[1175,"massa_models::denunciation"],[1176,"massa_models::operation"],[1177,"massa_async_pool::message"],[1178,"massa_models::types"],[1179,"core::option"],[1180,"core::ops::range"],[1181,"core::fmt"],[1182,"massa_models::slot"],[1183,"massa_pos_exports::deferred_credits"],[1184,"massa_hash::hash"],[1185,"tonic::request"],[1186,"core::alloc::layout"],[1187,"core::any"],[1188,"massa_models::block_id"],[1189,"massa_module_cache::controller"],[1190,"massa_execution_exports::error"],[1191,"alloc::string"],[1192,"massa_models::deferred_calls"],[1193,"massa_deferred_calls::call"],[1194,"massa_deferred_calls"],[1195,"massa_models::output_event"],[1196,"alloc::collections::btree::map"],[1197,"massa_sc_runtime::types"],[1198,"alloc::collections::btree::set"],[1199,"rand_xoshiro::xoshiro256plusplus"],[1200,"massa_execution_exports::types"],[1201,"dyn_clone::sealed"],[1202,"massa_models::execution"],[1203,"massa_models::stats"],[1204,"std::collections::hash::map"],[1205,"massa_models::prehash"],[1206,"massa_proto_rs::massa::model::v1"],[1207,"anyhow"],[1208,"massa_sc_runtime::execution"],[1209,"massa_time"],[1210,"parking_lot::mutex"],[1211,"massa_channel::sender"],[1212,"core::ops::function"],[1213,"massa_async_pool::changes"],[1214,"massa_ledger_exports::ledger_changes"],[1215,"massa_deferred_calls::registry_changes"],[1216,"massa_deferred_calls::config"],[1217,"massa_executed_ops::denunciations_changes"],[1218,"massa_executed_ops::ops_changes"],[1219,"core::clone"],[1220,"massa_pos_exports::cycle_info"],[1221,"massa_pos_exports::pos_changes"],[1222,"num_rational"],[1223,"std::path"],[1224,"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,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{B`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}{{}Bd}{{{An{B`Nd}}{Jb{EfFf}}{Jb{EfFf}}{Jf{FfJd}}}Bj}1{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",1157],[10,"FinalStateController",1158],[8,"RwLock",1159],[5,"Arc",1160],[10,"SelectorController",1161],[5,"Box",1162],[5,"MipStore",1163],[5,"ExecutionChannels",1164],[5,"Wallet",1165],[5,"MassaMetrics",1166],[10,"EventCacheController",1167],[10,"ExecutionManager",1168],[10,"ExecutionController",1168],[1,"tuple"],[1,"reference"],[0,"mut"],[5,"ActiveHistory",18],[1,"usize"],[5,"With",1169],[6,"Result",1170],[1,"unit"],[6,"Address",1171],[1,"u8"],[1,"slice"],[5,"Vec",1172],[6,"HistorySearchResult",18],[5,"Amount",1173],[5,"Bytecode",1174],[6,"DenunciationIndex",1175],[6,"OperationId",1176],[8,"AsyncMessageId",1177],[5,"AsyncMessageUpdate",1177],[1,"u32"],[5,"AsyncMessage",1177],[6,"SetUpdateOrDelete",1178],[1,"u64"],[6,"Option",1179],[5,"Range",1180],[1,"bool"],[6,"SlotIndexPosition",18],[5,"Formatter",1181],[8,"Result",1181],[5,"Slot",1182],[5,"DeferredCredits",1183],[5,"Hash",1184],[5,"Request",1185],[5,"Layout",1186],[5,"LayoutError",1186],[5,"TypeId",1187],[10,"Any",1187],[6,"BlockId",1188],[5,"ModuleCache",1189],[5,"ExecutionContext",101],[6,"ExecutionError",1190],[5,"String",1191],[6,"DeferredCallId",1192],[5,"DeferredCall",1193],[5,"DeferredSlotCalls",1194],[5,"SCOutputEvent",1195],[5,"ExecutionAddressCycleInfo",1171],[6,"Bound",1180],[5,"BTreeMap",1196],[5,"CondomLimits",1197],[5,"BTreeSet",1198],[5,"ExecutionContextSnapshot",101],[5,"Xoshiro256PlusPlus",1199],[5,"ExecutionStackElement",1200],[5,"ExecutedBlockInfo",1200],[5,"ExecutionOutput",1200],[5,"Private",1201],[5,"ExecutionControllerImpl",236],[5,"ReadOnlyExecutionRequest",1200],[5,"ReadOnlyExecutionOutput",1200],[5,"ExecutionInputData",236],[5,"ExecutionAddressInfo",1200],[5,"EventFilter",1202],[5,"ExecutionStats",1203],[5,"ExecutionQueryRequest",1200],[5,"ExecutionQueryResponse",1200],[5,"ExecutionManagerImpl",236],[5,"HashMap",1204],[5,"ExecutionBlockMetadata",1200],[8,"PreHashMap",1205],[5,"ExecutionState",328],[5,"AsyncMessageExecutionResult",403],[6,"OperationType",1176],[5,"DeferredCallExecutionResult",403],[6,"Denunciation",1175],[5,"DenunciationResult",403],[8,"SecureShareOperation",1176],[8,"PreHashSet",1205],[5,"ExecutionQueryCycleInfos",1200],[5,"ExecutionInfo",403],[5,"ExecutionInfoForSlot",403],[5,"InterfaceImpl",556],[5,"NativeAmount",1206],[8,"Result",1207],[1,"str"],[5,"NativeTime",1206],[10,"Interface",1197],[6,"ComparisonResult",1206],[6,"AddressCategory",1206],[5,"Slot",1206],[6,"RuntimeModule",1208],[1,"array"],[5,"MassaTime",1209],[8,"Mutex",1210],[1,"i64"],[1,"f64"],[5,"RequestWithResponseSender",695],[5,"RequestQueue",695],[10,"Debug",1181],[5,"MassaSender",1211],[5,"SlotSequencer",752],[5,"SlotInfo",752],[17,"Output"],[10,"Fn",1212],[5,"SpeculativeAsyncPool",821],[5,"AsyncPoolChanges",1213],[5,"AsyncMessageInfo",1177],[5,"AsyncMessageTrigger",1177],[5,"LedgerChanges",1214],[5,"SpeculativeDeferredCallRegistry",857],[1,"u128"],[5,"DeferredCallRegistryChanges",1215],[5,"DeferredCallsConfig",1216],[5,"SpeculativeExecutedDenunciations",900],[8,"ExecutedDenunciationsChanges",1217],[5,"SpeculativeExecutedOps",929],[8,"ExecutedOpsChanges",1218],[5,"SpeculativeLedger",958],[5,"StorageCostsConstants",1157],[5,"SpeculativeRollState",1002],[10,"RangeBounds",1180],[10,"Clone",1219],[5,"ProductionStats",1220],[5,"PoSChanges",1221],[5,"Ratio",1222],[5,"ExecutionStatsCounter",1041],[5,"PathBuf",1223],[5,"FileStorageBackend",1071],[5,"RocksDBStorageBackend",1071],[10,"StorageBackend",1071],[5,"ExecutionThread",1126],[5,"Condvar",1224],[6,"OperationInfo",403]],"r":[[14,1126]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJUCnAABAAAABQAAAA4AAAATAAAAGQAAABsAAAAdABIAOAAAAEEAAgBHAAgAUQAUAG0AAwCAAAEAhQAHAKsAAQCyAAEAtgABAL4AAQDKAAEA1gAAANgAAwDeAAMA5AAFAOsAAQDwAAAA8gAGAPoADQALAQAADwEAABgBAgAgAQUAKAECADEBEwBGAQMATAEBAFABAwBVAQYAXwEAAGkBBABvAQAAdAEAAH8BAACBAQEAhAEBAIcBAACJAQcAkgEDAJcBBACdAQAAnwEMAK0BAgCxARwA1AEGAOEBFgD5AQEA/QEvAC4CAAA0AgMAOQIBADwCBwBFAgUATwIAAFQCAgBYAgAAXwIAAGICAABkAgAAcgIAAHkCAAB7AgEAhQIBAIgCAACKAgIAkwIAAKYCAACpAgAArQICALMCBAC6AgMAwQIHAMoCAQDOAgEA0gIBANcCAQDcAgEA4wINAPMCBAD5AgIA/wIHAAgDAAALAwAAEQMAABMDAAAWAwEAHQMBACADAQAmAwwANAMLAEEDAABDAwAARQMAAEkDAQBMAwEAUwMJAF4DAQBiAwcAawMEAHEDAQB0AwEAdwMBAHwDAAB+AwYAhwMFAJEDAACUAwAAlgMAAJgDAACbAwYApAMFAK4DAACxAwAAswMAALUDAAC4AwYAwgMBAMcDAwDVAwAA1wMBAN0DAADkAwYA7wMFAP0DAAD/AwEAAgQAAAcEAQAMBAMAEQQAABMEBQAeBAAAIAQBACMEAAApBAYAMwQNAEMEAQBHBAUATwQBAFIEEQBlBAEAaAQFAG8EAABxBAEAdAQBAHgEAAB7BAAAfQQFAIQEAAA="}],\ ["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":"PFFKGPPPPPFFFOOOOOMCOCOOOOOOOOOCOOOOOOMOOOOCMOMMMMMMMMMMMMMMMMMOOMOOOOOOOOCOOOOOOOOOOOMMMMCOOFONNNNNOOOOONNNOOONNOOOOOOOONNNNNKMMMMMMMMMMMMMMMMMMMMMMMMMPGPPPPPNNNNNNNNNNNNNNNFNNONNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNONNNNNNNNHFFFOOONNNNNNNNNOONNOOONNOOOOONNNNNNNNNNNOOONNOOOOONNNNNNNNNNNNNNN","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","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"],[294,"core::result"],[295,"massa_models::operation"],[296,"massa_models::slot"],[297,"massa_async_pool::pool"],[298,"massa_db_exports::controller"],[299,"massa_deferred_calls"],[300,"massa_executed_ops::executed_denunciations"],[301,"massa_hash::hash"],[302,"core::option"],[303,"massa_ledger_exports::controller"],[304,"alloc::boxed"],[305,"massa_versioning::versioning"],[306,"alloc::vec"],[307,"massa_pos_exports::pos_final_state"],[308,"massa_db_exports::db_batch"],[309,"core::fmt"],[310,"tonic::request"],[311,"core::any"],[312,"core::error"],[313,"alloc::string"],[314,"anyhow"],[315,"massa_pos_exports::controller_traits"],[316,"massa_async_pool::message"],[317,"nom::internal"],[318,"nom::error"],[319,"serde::de"],[320,"massa_deferred_calls::config"],[321,"massa_serialization"],[322,"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,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}{Cnj}{cc{}}{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{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":"AEh","p":[[0,"mut"],[10,"FinalStateController",126],[1,"reference"],[1,"unit"],[6,"FinalStateError",152],[6,"Result",294],[6,"OperationId",295],[1,"bool"],[5,"Slot",296],[5,"StateChanges",229],[5,"AsyncPool",297],[8,"ShareableMassaDBController",298],[5,"DeferredCallRegistry",299],[5,"ExecutedDenunciations",300],[5,"Hash",301],[6,"Option",302],[1,"u64"],[10,"LedgerController",303],[5,"Box",304],[5,"MipStore",305],[1,"slice"],[5,"Vec",306],[5,"PoSFinalState",307],[8,"DBBatch",308],[5,"FinalStateConfig",93],[5,"Formatter",309],[8,"Result",309],[5,"Request",310],[5,"TypeId",311],[6,"IsConsistentWithShutdownPeriodError",305],[6,"ExtendFromDbError",305],[10,"Error",312],[5,"String",313],[5,"FinalState",174],[8,"Result",314],[10,"SelectorController",315],[8,"AsyncMessageId",316],[5,"StateChangesSerializer",229],[5,"StateChangesDeserializer",229],[1,"u8"],[8,"IResult",317],[10,"ParseError",318],[10,"ContextError",318],[10,"Deserializer",319],[1,"u16"],[1,"u32"],[5,"DeferredCallsConfig",320],[6,"SerializeError",321],[10,"Serializer",322]],"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%3CIsConsistentWithShutdownPeriodError%3E-for-FinalStateError"],[164,"impl-From%3CExtendFromDbError%3E-for-FinalStateError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHoAHwAQAAEAFgAAABgAAQAbAAEAKQABAEgAAQBLAAAATwABAFMAAQBgAAQAagAAAGwAAABxAAAAegAEAKAABQCoAAYAsAAAALMAAgC7AAAAvQAAAL8AEADUAAEA3QAIAOoADgD6AAMAAQECAAcBAAALAQIADwEBABMBAQAWARAA"}],\ -["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_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,"IsConsistentWithShutdownPeriodError",306],[6,"ExtendFromDbError",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%3CIsConsistentWithShutdownPeriodError%3E-for-FinalStateError"],[165,"impl-From%3CExtendFromDbError%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_wallet::error"],[890,"tonic_reflection::server"],[891,"massa_protocol_exports::error"],[892,"massa_hash::error"],[893,"massa_signature::error"],[894,"massa_execution_exports::error"],[895,"massa_time::error"],[896,"massa_consensus_exports::error"],[897,"massa_versioning::versioning_factory"],[898,"massa_models::error"],[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{c{{n{Cd}}}Cj}{{{b{c}}{b{he}}}{{n{{Af{gi}}}}}{}{}{}{}}0{c{{n{Cf}}}Cj}{c{{n{Ch}}}Cj}2`{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{Cnl}{D`l}{Dbl}{Ddl}{Dfl}{Dhl}{Djl}{cc{}}{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,"WalletError",889],[6,"Error",890],[6,"ProtocolError",891],[6,"MassaHashError",892],[6,"MassaSignatureError",893],[6,"ExecutionError",894],[6,"TimeError",895],[6,"ConsensusError",896],[6,"FactoryError",897],[6,"ModelsError",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-Display-for-GrpcError"],[299,"impl-Debug-for-GrpcError"],[300,"impl-From%3CWalletError%3E-for-GrpcError"],[301,"impl-From%3CError%3E-for-GrpcError"],[302,"impl-From%3CProtocolError%3E-for-GrpcError"],[303,"impl-From%3CMassaHashError%3E-for-GrpcError"],[304,"impl-From%3CMassaSignatureError%3E-for-GrpcError"],[305,"impl-From%3CExecutionError%3E-for-GrpcError"],[306,"impl-From%3CTimeError%3E-for-GrpcError"],[308,"impl-From%3CConsensusError%3E-for-GrpcError"],[309,"impl-From%3CFactoryError%3E-for-GrpcError"],[310,"impl-From%3CModelsError%3E-for-GrpcError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEwCTgABAAEABAACAAgABQAPAAgAGQAPACoAFABAAAIARgAFAE0AAgBRAAIAVwAIAGUAAABnABcAhAACAIoABQCVAAgAnwALAKwAAgC2AAIAvAACAMQAAgDMAAIA0QACAPAAAgD+ABcAJAEPADUBAwA6AQEAPQEJAFABAABiAQAAZAEAAG0BAQB2AQUAfQEFAIYBCwCZAQIApAEAAKkBAQCwAQIAtgECALoBAgDJAQIA3wEAAOUBAADoAQEA6wEIAPYBCAABAgIADwIAABECDAAfAgIAIwIBACYCCwAzAgkAPgIBAEECAQBEAgkATwIMAF0CAgBhAgEAZAILAHECBwB6AgEAfQIBAIACCgCMAgoAmAIBAJsCAQCeAgAAoAINAK8CRQD2AgYAAwMMABYDDAAkAzwAZgMAAGkDAAA="}],\ ["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{c{{Bd{e}}}{}{}}{Ab{{Bd{Cb{Dh{Cb}}}}}}111111{c{{Bd{Cb{Dh{Cb}}}}}{}}2222222{{{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-Display-for-LedgerError"],[125,"impl-Debug-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_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_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}}}}B`c}}}{{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}}}}Ahc}}}{{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}}}}}}}}{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{An}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bb}}{b{Aj}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bb}}{b{Al}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bb}}{b{B`}}{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{Hb}}{b{Ch}}{b{{Bl{Bj}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Ff}}c}jAd}{{{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}{{{b{Id}}}{{b{Hf}}}}1{{{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{}}00000000{{{b{Mh}}}Od}1{OhOf}2{DlOf}3{{{b{Nd}}}Mj}{{{b{Mh}}}Mj}5{{{b{Mj}}}Ob}6666{{{b{Hn}}}Nd}{{{b{Oj}}}Nd}8{{{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}}}{}{}}0000000{{{F`{{b{Hn}}{b{Hn}}}}}{{j{Mhc}}}{}}{{{F`{{b{Oj}}{b{Oj}}}}}{{j{Mhc}}}{}}2{{{F`{{b{Nd}}{b{Nd}}}}}{{j{Mhc}}}{}}{Ef{{j{Od{On{Od}}}}}}444{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{AAbCf}{OhCf}{DlCf}{cc{}}{{{b{Cl}}}Cf}{AAdCf}{{{AAh{{AAf{{b{{Bl{Bj}}}}}}}}}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}}}}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{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{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`AHb}Gj}{{{b{{Gf{ce}}}}{b{dn}}}A`{AH`AHbAHl}{GjAHl}}{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":"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],[6,"TimeError",3779],[5,"Error",3761],[6,"Err",3760],[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%3CUserAddressV0%3E-for-AddressDeserializer"],[138,"impl-Deserializer%3CUserAddress%3E-for-AddressDeserializer"],[139,"impl-Deserializer%3CAddress%3E-for-AddressDeserializer"],[140,"impl-Deserializer%3CSCAddressV0%3E-for-AddressDeserializer"],[141,"impl-Deserializer%3CSCAddress%3E-for-AddressDeserializer"],[168,"impl-Debug-for-Address"],[169,"impl-Display-for-Address"],[246,"impl-Serializer%3CUserAddress%3E-for-AddressSerializer"],[247,"impl-Serializer%3CSCAddress%3E-for-AddressSerializer"],[248,"impl-Serializer%3CSCAddressV0%3E-for-AddressSerializer"],[249,"impl-Serializer%3CUserAddressV0%3E-for-AddressSerializer"],[250,"impl-Serializer%3CAddress%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-SecureShareContent-for-Block"],[503,"impl-Serialize-for-Block"],[574,"impl-Display-for-BlockHeader"],[575,"impl-Debug-for-BlockHeader"],[669,"impl-Deserializer%3CBlockIdV0%3E-for-BlockIdDeserializer"],[670,"impl-Deserializer%3CBlockId%3E-for-BlockIdDeserializer"],[681,"impl-Debug-for-BlockId"],[682,"impl-Display-for-BlockId"],[720,"impl-Serializer%3CBlockIdV0%3E-for-BlockIdSerializer"],[721,"impl-Serializer%3CBlockId%3E-for-BlockIdSerializer"],[902,"impl-Debug-for-PubkeySig"],[903,"impl-Display-for-PubkeySig"],[990,"impl-Debug-for-CompactConfig"],[991,"impl-Display-for-CompactConfig"],[1294,"impl-Debug-for-DeferredCallId"],[1295,"impl-Display-for-DeferredCallId"],[1485,"impl-Display-for-DenunciationError"],[1486,"impl-Debug-for-DenunciationError"],[1503,"impl-From%3CMassaSignatureError%3E-for-DenunciationError"],[1505,"impl-From%3CSerializeError%3E-for-DenunciationError"],[1507,"impl-From%3C%26DenunciationPrecursor%3E-for-DenunciationIndex"],[1508,"impl-From%3C%26Denunciation%3E-for-DenunciationIndex"],[1515,"impl-From%3C%26SecureShare%3CBlockHeader,+BlockId%3E%3E-for-DenunciationPrecursor"],[1516,"impl-From%3C%26SecureShare%3CEndorsement,+EndorsementId%3E%3E-for-DenunciationPrecursor"],[1668,"impl-TryFrom%3C(%26SecureShare%3CBlockHeader,+BlockId%3E,+%26SecureShare%3CBlockHeader,+BlockId%3E)%3E-for-Denunciation"],[1669,"impl-TryFrom%3C(%26SecureShare%3CEndorsement,+EndorsementId%3E,+%26SecureShare%3CEndorsement,+EndorsementId%3E)%3E-for-Denunciation"],[1671,"impl-TryFrom%3C(%26DenunciationPrecursor,+%26DenunciationPrecursor)%3E-for-Denunciation"],[1806,"impl-Deserializer%3CEndorsementIdV0%3E-for-EndorsementIdDeserializer"],[1807,"impl-Deserializer%3CEndorsementId%3E-for-EndorsementIdDeserializer"],[1830,"impl-Display-for-EndorsementId"],[1831,"impl-Debug-for-EndorsementId"],[1833,"impl-Display-for-Endorsement"],[1834,"impl-Debug-for-Endorsement"],[1985,"impl-Debug-for-ModelsError"],[1986,"impl-Display-for-ModelsError"],[1987,"impl-From%3CMassaHashError%3E-for-ModelsError"],[1988,"impl-From%3CMassaSignatureError%3E-for-ModelsError"],[1989,"impl-From%3CSerializeError%3E-for-ModelsError"],[1991,"impl-From%3C%26str%3E-for-ModelsError"],[1992,"impl-From%3CTimeError%3E-for-ModelsError"],[1993,"impl-From%3CErr%3CError%3C%26%5Bu8%5D%3E%3E%3E-for-ModelsError"],[2205,"impl-Debug-for-NodeId"],[2206,"impl-Display-for-NodeId"],[2377,"impl-Deserializer%3COperationIdV0%3E-for-OperationIdDeserializer"],[2378,"impl-Deserializer%3COperationId%3E-for-OperationIdDeserializer"],[2411,"impl-Debug-for-OperationId"],[2412,"impl-Display-for-OperationId"],[2413,"impl-Display-for-OperationIdV0"],[2414,"impl-Debug-for-OperationIdV0"],[2415,"impl-Display-for-OperationPrefixId"],[2416,"impl-Debug-for-OperationPrefixId"],[2417,"impl-Display-for-OperationPrefixIdV0"],[2418,"impl-Debug-for-OperationPrefixIdV0"],[2420,"impl-Debug-for-Operation"],[2421,"impl-Display-for-Operation"],[2422,"impl-Display-for-OperationType"],[2423,"impl-Debug-for-OperationType"],[2560,"impl-Serializer%3COperationIdV0%3E-for-OperationIdSerializer"],[2561,"impl-Serializer%3COperationId%3E-for-OperationIdSerializer"],[2720,"impl-Display-for-SCOutputEvent"],[2721,"impl-Debug-for-SCOutputEvent"],[2722,"impl-Debug-for-EventExecutionContext"],[2723,"impl-Display-for-EventExecutionContext"],[2932,"impl-Display-for-SecureShare%3CT,+ID%3E"],[2933,"impl-Debug-for-SecureShare%3CT,+ID%3E"],[2939,"impl-SecureShare%3CBlock,+BlockId%3E"],[2940,"impl-SecureShare%3CBlockHeader,+BlockId%3E"],[3266,"impl-Debug-for-Slot"],[3267,"impl-Display-for-Slot"],[3268,"impl-Display-for-IndexedSlot"],[3269,"impl-Debug-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-Display-for-PoolStats"],[3384,"impl-Debug-for-PoolStats"],[3704,"impl-Debug-for-Version"],[3705,"impl-Display-for-Version"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACAKCgEiAAEAJQACACoAAAAsAAAALgAAADAAAAA0AAAANgAFAEAAAABCAAAARAAEAEoAAABMAAEATwA2AIcAKAC9AA8A0gAFAOAABwDtABcACgEoADgBAAA7AQcASgELAFcBAgBbAQgAawEDAHMBAwB6AQAAfgEAAIIBAgCGARMAqgELALgBBQDCAQAAxAEDAMkBCADYAQEA3QEBAOYBBQDxAQIA9wEDAP4BGgAfAg0AMgIDADgCBQA/AgIARgIAAEgCAABOAgUAWAIBAFwCAABgAgMAZQITAHoCAAB+Ai4AsQIDALYCAAC5AgMAvwICAMYCBADNAh0A7wISAAUDAAAJAwIADgMSACQDAQAnAwwANQMAADcDAgA9AwAAQQMCAEcDAABJAwwAYwMYAH0DBACDAwUAjgMEAJoDBACjAwQAqgMZAMcDAADVAwYA3QMAAN8DAQDiAwAA5QMAAOoDAADtAwUAeQQXAJ4EHQDABAQAywQDANIEDQDiBAIA5wQqABgFBgAgBQEAJgUDAC0FGgBJBQAAVQUAAFgFAgBcBQAAYgVHAKwFKADeBQAA4AUAAOIFAADkBQEA5wUAAOwFAQDvBQgA+QUFAAEGAQAFBgUADgYAABEGCQAcBgIAMQYRAFEGBABYBgcAYgYHAGwGYwDTBgEA2wYBAN4GAQDjBiUADQcDABMHAwAYBxQANgcDADsHBwBFBwIAUQcJAF4HAABhBwEAZAcCAGoHAABsBwIAcActAL0HCQDIBwMAzQcHANYHBgDfBwAA4QcAAOMHAADoBwAA6gcEAPgHBQADCBEAFwgFAB4ICwAtCAUAPAgCAEkICABUCAMAXwgBAGIIAABkCAAAZggmAI4IAACQCA8AoQgAAKMIAAClCAAApwgAAKkICACzCAAAtQgAALoIAAC+CAEAwwgAAMYIAQDOCAAA0ggAANQIAADXCAAA2QhYADYJCgBGCQcATwkZAGoJAABsCQwAjgkJAJkJAgCdCQUAqAkFAK8JAADGCRcA5gkAAO0JCQD5CQAA/QkIAAkKbACGCgMAiwoHAJUKDwCnCgEArAoBALEKAACzCgEAtgoLAMgKAgDNCgAAzwoFAOEKCwDvCgcA+QoEAP8KAwAECwcAEgsDAB0LBQAsCwMAMgsdAFULBQBcCwYAagsBAG0LAQBwCwYAegsBAIgLAwCQCwAAkgsBAJoLDACpCwIAuwtKABMMCwArDBIASgwJAFUMLwCGDAEAigwOAJ4MKADIDAAAzQwEANQMAQDYDAEA3wwDAOwMAADuDAQA+AwWABYNBwAfDQwAMg0HAD4NAgBGDQMATQ0DAFUNFgByDREAhQ0AAIkNAACNDQIAkg0TALQNAQC3DQEAug0BAL4NAgDCDTMA/w0KABMORABbDh8Afw4DAIgOAwCNDgEAkQ4YAA=="}],\ +["massa_module_cache",{"t":"CCCCCQQCFNNONNNNNOOONNNNOONONNNNNNNFINNONNNNNNONNNNNNNONNNNNNNNNNNNNGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSSSFSSSSNNONNNNONNNNNNNOOONNNNNNONNNNNNNFINNONNNNNNNNNNNNNNNNNNNNNNNPPPPPPPGGFGFPPNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNN","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","reset","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","reset","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","reset","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"],[68,"massa_module_cache::error"],[101,"massa_module_cache::hd_cache"],[142,"massa_module_cache::lru_cache"],[170,"massa_module_cache::types"],[313,"rkyv::with"],[314,"core::result"],[315,"tonic::request"],[316,"core::alloc::layout"],[317,"core::any"],[318,"alloc::boxed"],[319,"massa_hash::hash"],[320,"massa_sc_runtime::types"],[321,"massa_sc_runtime::execution"],[322,"alloc::string"],[323,"dyn_clone::sealed"],[324,"core::error"],[325,"core::fmt"],[326,"anyhow"],[327,"core::option"],[328,"std::path"],[329,"nom::internal"],[330,"nom::error"],[331,"alloc::vec"],[332,"massa_serialization"],[333,"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,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,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,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}}}l}{{{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}}}{}}{ce{}{}}```{{{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{cc{}}{ChBj}{{{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{dCj}}}l}{{{b{Cj}}B`Bf}l}{{{b{Cj}}B`Bn}l}2`{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}}}l}{{{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",313],[6,"Result",314],[1,"unit"],[5,"Request",315],[5,"Layout",316],[5,"LayoutError",316],[5,"TypeId",317],[5,"Box",318],[10,"Any",317],[5,"ModuleCache",35],[1,"u8"],[1,"slice"],[5,"Hash",319],[5,"CondomLimits",320],[6,"ModuleInfo",170],[1,"u64"],[6,"RuntimeModule",321],[6,"CacheError",68],[5,"ModuleCacheConfig",8],[5,"String",322],[5,"Private",323],[10,"Error",324],[5,"Formatter",325],[8,"Result",325],[5,"Error",326],[5,"HDCache",101],[5,"GasCosts",320],[6,"Option",327],[5,"PathBuf",328],[5,"LRUCache",142],[1,"u32"],[5,"ModuleMetadataSerializer",170],[5,"ModuleMetadataDeserializer",170],[6,"ModuleMetadata",170],[8,"IResult",329],[10,"ParseError",330],[10,"ContextError",330],[1,"bool"],[6,"ModuleMetadataId",170],[5,"Vec",331],[6,"SerializeError",332],[5,"TryFromPrimitiveError",333]],"r":[],"b":[[82,"impl-Debug-for-CacheError"],[83,"impl-Display-for-CacheError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAPMAHQABAAQACAADAA0AAwAVAAAAFwABABsAAAAdAAYAJgABACoAAwAwAAAAMgABADkAAQA+AAYASAAMAFYAAgBaABYAcgADAHkAAAB8AAEAggABAIgABgCRAAYAmgAAAJ0AAQCgAAEApAANALcAOAD1AAYAAQE4AA=="}],\ +["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```````{Ah{{d{c}}}{}}{{{d{Hh}}}{{d{Gh}}}}11111111111111111{Ah{{d{fc}}}{}}00000000000000000{{{d{c}}{d{fe}}}{{Al{{Aj{gi}}}}}{}{}{}{}}0{c{{Al{Fh}}}Hj}{c{{Al{Fj}}}Hj}2{c{{Al{Fl}}}Hj}3{c{{Al{Fn}}}Hj}4{c{{Al{G`}}}Hj}55{c{{Al{Gb}}}Hj}{c{{Al{Gd}}}Hj}77{c{{Al{Gf}}}Hj}8{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}{{{d{c}}{d{fe}}}{{Al{{Aj{gi}}}}}{}{}{}{}}{c{{Al{Hf}}}Hj}```{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"}],\ -["massa_pos_exports",{"t":"PPFFFFFFFPPFFPFPPPPFFFFFGIFFFFPFFKKOOOOOOOOOOOOOOOOMOQQCOCOOOOOOCOOOOOCOOOQQOOOOCMOQQOMMMOOOOOOOOOOOOOCCQQQQQQOOOOOOOOOQQOQQQQOOOOOCOOMOOOOOOOOOOOOOOMFNNNNNONNNONNOOOOONNNNNFKKNNNMNNONNNNNMNNNMMMNNOMNNNNNMFFFFFFFFFOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNFFFFFOOOONNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOOOONNNNNPPPPPPPPPGIPNNNNNNNNNNNNNNNNNFFFOOONNNNNNNNNNNOOONNNNNNNNNNNNNNNNNOOOOOONNNNNNNNNNNNONNNSSSSSFSSNNNHNNNNONNONOOOOONNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNOONNNNNFNNONNNNONNNONNOONONNNNN","n":["ChannelDown","ContainerInconsistency","CreditsDeserializer","CreditsSerializer","CycleHistoryDeserializer","CycleHistorySerializer","CycleInfo","CycleInfoDeserializer","CycleInfoSerializer","CycleUnavailable","CycleUnfinished","DeferredCredits","DeferredCreditsDeserializer","DeferredCreditsFileLoadingError","DeferredCreditsSerializer","Err","InvalidRollDistribution","Ok","OverflowError","PoSChanges","PoSChangesDeserializer","PoSChangesSerializer","PoSConfig","PoSFinalState","PosError","PosResult","ProductionStats","ProductionStatsDeserializer","ProductionStatsSerializer","RollsDeserializer","RollsFileLoadingError","Selection","SelectorConfig","SelectorController","SelectorManager","address_deserializer","address_deserializer","address_deserializer","address_ser","address_ser","address_ser","address_serializer","amount_deserializer","amount_ser","bit_vec_deserializer","bit_vec_serializer","bitvec_deser","bitvec_ser","block_failure_count","block_success_count","channel_size","clone_box","complete","complete_key","complete_key","config","config","controller_traits","credit_deserializer","credits","credits_ser","cycle","cycle_history_cache","cycle_history_length","cycle_info","cycle_info_deserializer","cycle_info_deserializer","cycle_info_serializer","cycle_info_serializer","db","deferred_credits","deferred_credits","deferred_credits_deserializer","deferred_credits_deserializer","deferred_credits_key","deferred_credits_key","deferred_credits_serializer","deferred_credits_serializer","endorsement_count","endorsements","error","feed_cycle","final_state_hash_snapshot","final_state_hash_snapshot_key","final_state_hash_snapshot_key","genesis_address","get_available_selections_in_range","get_producer","get_selection","initial_deferred_credits_path","initial_rolls","initial_seeds","length_deserializer","length_deserializer","max_credit_length","max_draw_cache","max_production_stats_length","max_rolls_length","opt_hash_deser","opt_hash_ser","periods_per_cycle","periods_per_cycle","pos_changes","pos_final_state","prod_stats_fail_key","prod_stats_fail_key","prod_stats_prefix","prod_stats_prefix","prod_stats_success_key","prod_stats_success_key","producer","production_stats","production_stats","production_stats_deser","production_stats_deserializer","production_stats_ser","production_stats_serializer","rng_seed","rng_seed_cache","rng_seed_key","rng_seed_key","roll_changes","roll_count_key","roll_count_key","roll_count_prefix","roll_count_prefix","roll_counts","rolls_deser","rolls_deserializer","seed_bits","selector","settings","slot_deserializer","slot_ser","stop","thread_count","thread_count","u64_deser","u64_deserializer","u64_deserializer","u64_deserializer","u64_deserializer","u64_deserializer","u64_ser","u64_ser","u64_ser","u64_ser","u64_serializer","u64_serializer","wait_for_draws","PoSConfig","borrow","borrow_mut","clone","clone_into","clone_to_uninit","cycle_history_length","fmt","from","from_ref","initial_deferred_credits_path","into","into_request","max_credit_length","max_production_stats_length","max_rolls_length","periods_per_cycle","thread_count","to_owned","try_from","try_into","type_id","vzip","Selection","SelectorController","SelectorManager","borrow","borrow_mut","clone","clone_box","clone_into","clone_to_uninit","endorsements","eq","equivalent","equivalent","equivalent","equivalent","feed_cycle","fmt","from","from_ref","get_available_selections_in_range","get_producer","get_selection","into","into_request","producer","stop","to_owned","try_from","try_into","type_id","vzip","wait_for_draws","CycleHistoryDeserializer","CycleHistorySerializer","CycleInfo","CycleInfoDeserializer","CycleInfoSerializer","ProductionStats","ProductionStatsDeserializer","ProductionStatsSerializer","RollsDeserializer","address_deserializer","address_deserializer","address_ser","address_ser","bitvec_deser","bitvec_ser","block_failure_count","block_success_count","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","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","complete","cycle","cycle_info_deserializer","cycle_info_serializer","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","extend","final_state_hash_snapshot","fmt","fmt","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","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_satisfying","length_deserializer","length_deserializer","new","new","new","new","new","new","new","new","opt_hash_deser","opt_hash_ser","production_stats","production_stats_deser","production_stats_ser","rng_seed","roll_counts","rolls_deser","serialize","serialize","serialize","serialize","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_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","u64_deser","u64_deserializer","u64_deserializer","u64_deserializer","u64_ser","u64_ser","u64_serializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","CreditsDeserializer","CreditsSerializer","DeferredCredits","DeferredCreditsDeserializer","DeferredCreditsSerializer","address_deserializer","address_ser","amount_deserializer","amount_ser","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","credit_deserializer","credits","credits_ser","default","default","default","deserialize","deserialize","deserialize","extend","fmt","for_each","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","get_address_credits_for_slot","get_slot_range","insert","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","is_empty","new","new","new","new","new","remove_zeros","serialize","serialize","serialize","slot_deserializer","slot_ser","to_owned","to_owned","to_owned","to_owned","to_owned","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","u64_deserializer","u64_deserializer","u64_ser","u64_ser","vzip","vzip","vzip","vzip","vzip","ChannelDown","ContainerInconsistency","CycleUnavailable","CycleUnfinished","DeferredCreditsFileLoadingError","Err","InvalidRollDistribution","Ok","OverflowError","PosError","PosResult","RollsFileLoadingError","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","PoSChanges","PoSChangesDeserializer","PoSChangesSerializer","address_serializer","bit_vec_deserializer","bit_vec_serializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","default","default","deferred_credits","deferred_credits_deserializer","deferred_credits_serializer","deserialize","deserialize","extend","fmt","from","from","from","from_ref","into","into","into","into_request","into_request","into_request","is_empty","new","new","production_stats","production_stats_deserializer","production_stats_serializer","roll_changes","rolls_deserializer","seed_bits","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","u64_serializer","vzip","vzip","vzip","COMPLETE_IDENT","FINAL_STATE_HASH_SNAPSHOT_IDENT","PROD_STATS_FAIL_IDENT","PROD_STATS_IDENT","PROD_STATS_SUCCESS_IDENT","PoSFinalState","RNG_SEED_IDENT","ROLL_COUNT_IDENT","apply_changes_to_batch","borrow","borrow_mut","buf_to_array_ctr","clone","clone_into","clone_to_uninit","compute_initial_draws","config","create_initial_cycle","create_new_cycle_from_last","cycle_history_cache","cycle_history_cycle_prefix","cycle_info_deserializer","cycle_info_serializer","db","deferred_credits_deserializer","deferred_credits_serializer","delete_cycle_info","feed_cycle_state_hash","feed_selector","from","from_ref","get_address_active_rolls","get_address_credits_for_slot","get_all_active_rolls","get_all_production_stats","get_all_production_stats_private","get_all_roll_counts","get_cycle_history_cycles","get_cycle_history_final_state_hash_snapshot","get_cycle_history_rng_seed","get_cycle_index","get_cycle_info","get_deferred_credits_range","get_production_stats_for_address","get_rolls_for","initial_rolls","initial_seeds","into","into_request","is_cycle_complete","is_cycle_history_key_value_valid","is_deferred_credits_key_value_valid","load_initial_deferred_credits","new","put_cycle_history_address_entry","put_cycle_history_complete","put_cycle_history_final_state_hash_snapshot","put_cycle_history_rng_seed","put_deferred_credits_entry","put_new_cycle_info","recompute_pos_state_caches","reset","rng_seed_cache","selector","to_owned","try_from","try_into","type_id","vzip","SelectorConfig","borrow","borrow_mut","channel_size","clone","clone_into","clone_to_uninit","deserialize","endorsement_count","fmt","from","from_ref","genesis_address","into","into_request","max_draw_cache","periods_per_cycle","serialize","thread_count","to_owned","try_from","try_into","type_id","vzip"],"q":[[0,"massa_pos_exports"],[150,"massa_pos_exports::config"],[173,"massa_pos_exports::controller_traits"],[205,"massa_pos_exports::cycle_info"],[406,"massa_pos_exports::deferred_credits"],[516,"massa_pos_exports::error"],[545,"massa_pos_exports::pos_changes"],[604,"massa_pos_exports::pos_final_state"],[673,"massa_pos_exports::settings"],[697,"alloc::boxed"],[698,"massa_models::address"],[699,"alloc::collections::btree::map"],[700,"massa_hash::hash"],[701,"massa_models::slot"],[702,"core::ops::range"],[703,"massa_models::prehash"],[704,"core::option"],[705,"core::fmt"],[706,"tonic::request"],[707,"core::result"],[708,"core::any"],[709,"nom::internal"],[710,"nom::error"],[711,"serde::de"],[712,"alloc::vec"],[713,"num_rational"],[714,"bitvec::vec"],[715,"massa_serialization"],[716,"serde::ser"],[717,"alloc::collections::vec_deque"],[718,"massa_models::amount"],[719,"core::ops::function"],[720,"alloc::string"],[721,"massa_db_exports::db_batch"],[722,"massa_hash::hash_xof"],[723,"std::path"],[724,"massa_db_exports::controller"]],"i":[55,55,0,0,0,0,0,0,0,55,55,0,0,55,0,9,55,9,55,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,29,30,51,25,28,50,58,51,50,59,58,26,25,27,27,70,1,24,0,0,0,60,0,49,47,48,24,60,17,0,32,60,31,60,60,0,57,59,60,0,0,58,60,70,14,0,1,24,0,0,70,1,1,1,17,60,60,29,30,17,70,17,17,26,25,17,70,0,0,0,0,0,0,0,0,14,24,57,26,59,25,58,24,60,0,0,57,0,0,0,0,24,26,59,57,60,0,49,48,16,17,70,26,29,30,32,49,51,25,28,48,50,58,31,1,0,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,0,0,0,14,14,14,1,14,14,14,14,14,14,14,14,1,14,14,14,1,1,1,14,14,14,16,14,14,14,14,14,1,0,0,0,0,0,0,0,0,0,29,30,25,28,26,25,27,27,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,24,25,26,27,27,28,29,30,31,32,24,24,32,31,25,27,28,31,26,27,29,30,32,24,27,24,24,24,24,27,27,27,27,27,24,24,27,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,27,29,30,24,25,26,28,29,30,31,32,26,25,24,26,25,24,24,26,25,27,28,31,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,26,29,30,32,25,28,31,24,25,26,27,28,29,30,31,32,0,0,0,0,0,51,50,51,50,47,48,49,50,51,47,48,49,50,51,47,48,49,50,51,47,48,49,50,51,47,48,49,50,51,49,47,48,47,48,50,47,49,51,47,47,47,47,48,49,50,51,47,48,49,50,51,47,47,47,47,48,49,50,51,47,48,49,50,51,47,47,48,49,50,51,47,47,48,50,49,48,47,48,49,50,51,47,48,49,50,51,47,48,49,50,51,47,48,49,50,51,49,51,48,50,47,48,49,50,51,55,55,55,55,55,9,55,9,55,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,0,0,0,58,59,58,58,59,57,58,59,57,57,57,57,58,57,57,59,58,59,57,57,57,58,59,57,57,58,59,57,58,59,57,57,58,59,57,59,58,57,59,57,58,57,57,58,59,57,58,59,57,58,59,57,58,58,59,57,0,0,0,0,0,0,0,0,60,60,60,0,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,0,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70],"f":"```````````````````````````````````````````````````{{{d{b}}}{{f{b}}}}`````````````````````````````{{{d{b}}h{l{jh}}n}{{Ab{A`}}}}````{{{d{b}}{Af{Ad}}{Aj{{d{{Ah{j}}}}}}}{{Ab{{l{AdAl}}}}}}{{{d{b}}Ad}{{Ab{j}}}}{{{d{b}}Ad}{{Ab{Al}}}}`````````````````````````````````````````````{{{d{AnB`}}}A`}``````````````{{{d{b}}h}{{Ab{h}}}}`{{{d{c}}}{{d{e}}}{}{}}{{{d{Anc}}}{{d{Ane}}}{}{}}{{{d{Bb}}}Bb}{{{d{c}}{d{Ane}}}A`{}{}}{{{d{c}}}A`{}}`{{{d{Bb}}{d{AnBd}}}Bf}{cc{}}{{{d{c}}}c{}}`{ce{}{}}{c{{Bh{e}}}{}{}}`````{{{d{c}}}e{}{}}{c{{Bj{e}}}{}{}}0{{{d{c}}}Bl{}}4```<;{{{d{Al}}}Al}{{{d{b}}}{{f{b}}}};:`{{{d{Al}}{d{Al}}}Bn}{{{d{c}}{d{e}}}Bn{}{}}000{{{d{b}}h{l{jh}}n}{{Ab{A`}}}}{{{d{Al}}{d{AnBd}}}Bf}<;{{{d{b}}{Af{Ad}}{Aj{{d{{Ah{j}}}}}}}{{Ab{{l{AdAl}}}}}}{{{d{b}}Ad}{{Ab{j}}}}{{{d{b}}Ad}{{Ab{Al}}}}=<`{{{d{AnB`}}}A`}<;;:>{{{d{b}}h}{{Ab{h}}}}`````````````````{{{d{c}}}{{d{e}}}{}{}}00000000{{{d{Anc}}}{{d{Ane}}}{}{}}00000000{{{d{C`}}}C`}{{{d{Cb}}}Cb}{{{d{Cd}}}Cd}{{{d{Cf}}}Cf}{{{d{Ch}}}Ch}{{{d{Cj}}}Cj}{{{d{Cl}}}Cl}{{{d{Cn}}}Cn}{{{d{D`}}}D`}{{{d{c}}{d{Ane}}}A`{}{}}00000000{{{d{c}}}A`{}}000000000````{{}Cb}{{}Cf}{{}Ch}{{}Cn}{{{d{Cd}}{d{{Dd{Db}}}}}{{Df{{d{{Dd{Db}}}}C`c}}}{{Dh{{d{{Dd{Db}}}}}}{Dj{{d{{Dd{Db}}}}}}}}{c{{Bj{Cf}}}Dl}{{{d{Cj}}{d{{Dd{Db}}}}}{{Df{{d{{Dd{Db}}}}{Dn{jCf}}c}}}{{Dh{{d{{Dd{Db}}}}}}{Dj{{d{{Dd{Db}}}}}}}}{{{d{Cl}}{d{{Dd{Db}}}}}{{Df{{d{{Dd{Db}}}}{Eb{{E`{jh}}}}c}}}{{Dh{{d{{Dd{Db}}}}}}{Dj{{d{{Dd{Db}}}}}}}}{{{d{D`}}{d{{Dd{Db}}}}}{{Df{{d{{Dd{Db}}}}{Eb{C`}}c}}}{{Dh{{d{{Dd{Db}}}}}}{Dj{{d{{Dd{Db}}}}}}}}{{{d{C`}}{d{C`}}}Bn}{{{d{Cf}}{d{Cf}}}Bn}{{{d{c}}{d{e}}}Bn{}{}}0000000{{{d{AnCf}}{d{Cf}}}A`}`{{{d{C`}}{d{AnBd}}}Bf}{{{d{Cf}}{d{AnBd}}}Bf}{cc{}}00000000{{{d{c}}}c{}}00000000{ce{}{}}00000000{c{{Bh{e}}}{}{}}00000000{{{d{Cf}}{d{{Ed{h}}}}}Bn}``{{hBn{l{jh}}{Ef{Db}}{Dn{jCf}}}C`}{{}Cb}{{hh}Cd}{{}Ch}{hCj}{hCl}{{}Cn}{{hhh}D`}````````{{{d{Cb}}{d{C`}}{d{An{Eb{Db}}}}}{{Bj{A`Eh}}}}{{{d{Cf}}c}BjEj}{{{d{Ch}}{d{{Dn{jCf}}}}{d{An{Eb{Db}}}}}{{Bj{A`Eh}}}}{{{d{Cn}}{d{{El{C`}}}}{d{An{Eb{Db}}}}}{{Bj{A`Eh}}}}{{{d{c}}}e{}{}}00000000{c{{Bj{e}}}{}{}}00000000000000000{{{d{c}}}Bl{}}00000000```````{ce{}{}}00000000`````````{{{d{c}}}{{d{e}}}{}{}}0000{{{d{Anc}}}{{d{Ane}}}{}{}}0000{{{d{En}}}En}{{{d{F`}}}F`}{{{d{Fb}}}Fb}{{{d{Fd}}}Fd}{{{d{Ff}}}Ff}{{{d{c}}{d{Ane}}}A`{}{}}0000{{{d{c}}}A`{}}0000```{{}En}{{}F`}{{}Fd}{c{{Bj{En}}}Dl}{{{d{Fb}}{d{{Dd{Db}}}}}{{Df{{d{{Dd{Db}}}}Enc}}}{{Dh{{d{{Dd{Db}}}}}}{Dj{{d{{Dd{Db}}}}}}}}{{{d{Ff}}{d{{Dd{Db}}}}}{{Df{{d{{Dd{Db}}}}{Dn{jFh}}c}}}{{Dh{{d{{Dd{Db}}}}}}{Dj{{d{{Dd{Db}}}}}}}}{{{d{AnEn}}En}A`}{{{d{En}}{d{AnBd}}}Bf}{{{d{AnEn}}c}A`{{Fj{{d{Ad}}{d{j}}{d{AnFh}}}}}}{cc{}}0000{{{d{c}}}c{}}0000{{{d{En}}{d{j}}{d{Ad}}}{{Aj{Fh}}}}{{{d{En}}c}En{{Fl{Ad}}}}{{{d{AnEn}}AdjFh}{{Aj{Fh}}}}{ce{}{}}0000{c{{Bh{e}}}{}{}}0000{{{d{En}}}Bn}{{}En}{{}F`}{{Dbh}Fb}{{}Fd}{hFf}{{{d{AnEn}}}A`}{{{d{En}}c}BjEj}{{{d{F`}}{d{En}}{d{An{Eb{Db}}}}}{{Bj{A`Eh}}}}{{{d{Fd}}{d{{Dn{jFh}}}}{d{An{Eb{Db}}}}}{{Bj{A`Eh}}}}``{{{d{c}}}e{}{}}0000{c{{Bj{e}}}{}{}}000000000{{{d{c}}}Bl{}}0000````>>>>>````````````{{{d{c}}}{{d{e}}}{}{}}{{{d{Anc}}}{{d{Ane}}}{}{}}{{{d{Fn}}}Fn}{{{d{c}}{d{Ane}}}A`{}{}}{{{d{c}}}A`{}}{{{d{Fn}}{d{AnBd}}}Bf}0{cc{}}{{{d{c}}}c{}}{ce{}{}}{c{{Bh{e}}}{}{}}<{{{d{c}}}G`{}}<<;2``````:::999{{{d{Gb}}}Gb}87{{}Gd}{{}Gb}```{{{d{Gf}}{d{{Dd{Db}}}}}{{Df{{d{{Dd{Db}}}}Gbc}}}{{Dh{{d{{Dd{Db}}}}}}{Dj{{d{{Dd{Db}}}}}}}}{c{{Bj{Gb}}}Dl}{{{d{AnGb}}Gb}A`}{{{d{Gb}}{d{AnBd}}}Bf};;;:999888{{{d{Gb}}}Bn}6{{Dbhhh}Gf}``````{{{d{Gd}}{d{Gb}}{d{An{Eb{Db}}}}}{{Bj{A`Eh}}}}{{{d{Gb}}c}BjEj}{{{d{c}}}e{}{}}{c{{Bj{e}}}{}{}}00000{{{d{c}}}Bl{}}00`{ce{}{}}00````````{{{d{AnGh}}GbAdBn{d{AnGj}}}{{Ab{A`}}}}{{{d{c}}}{{d{e}}}{}{}}{{{d{Anc}}}{{d{Ane}}}{}{}}{{{d{{Dd{Db}}}}e}{{Aj{{E`{{d{{Dd{Db}}}}c}}}}}{}{{H`{{d{{Gl{Db}}}}}{{Gn{c}}}}}}{{{d{Gh}}}Gh}{{{d{c}}{d{Ane}}}A`{}{}}{{{d{c}}}A`{}}{{{d{AnGh}}}{{Ab{A`}}}}`{{{d{AnGh}}{d{AnGj}}}A`}{{{d{AnGh}}{d{C`}}AdAd{d{AnGj}}}{{Bj{A`Fn}}}}`{{{d{Gh}}h}{{Eb{Db}}}}`````{{{d{AnGh}}h{d{AnGj}}}A`}{{{d{Gh}}hHb}A`}{{{d{Gh}}h}{{Ab{A`}}}}{cc{}}{{{d{c}}}c{}}{{{d{Gh}}{d{j}}h}{{Aj{h}}}}{{{d{Gh}}{d{j}}{d{Ad}}}{{Aj{Fh}}}}{{{d{Gh}}h}{{l{jh}}}}{{{d{Gh}}h}{{Aj{{Dn{jCf}}}}}}{{{d{Gh}}h}{{Dn{jCf}}}}2{{{d{Gh}}}{{Eb{{E`{hBn}}}}}}{{{d{Gh}}h}{{Aj{Hb}}}}{{{d{Gh}}h}{{Aj{{Ef{Db}}}}}}{{{d{Gh}}h}{{Aj{Hd}}}}{{{d{Gh}}h}{{Aj{C`}}}}{{{d{Gh}}c{Aj{{d{j}}}}}En{{Fl{Ad}}}}{{{d{Gh}}h{d{j}}}{{Aj{Cf}}}}{{{d{Gh}}{d{j}}}h}``{ce{}{}}{c{{Bh{e}}}{}{}}{{{d{Gh}}h}{{Aj{Bn}}}}{{{d{Gh}}{d{{Dd{Db}}}}{d{{Dd{Db}}}}}Bn}0{{{d{AnGh}}{d{AnGj}}}{{Bj{A`Fn}}}}{{Bb{d{Hf}}{d{Hh}}{f{b}}Hj}{{Bj{GhFn}}}}{{{d{Gh}}h{d{j}}{Aj{{d{h}}}}{Aj{{d{Cf}}}}{d{AnGj}}}A`}{{{d{AnGh}}hBn{d{AnGj}}}A`}{{{d{Gh}}h{Aj{Hb}}{d{AnGj}}}A`}{{{d{AnGh}}h{Ef{Db}}{d{AnGj}}}A`}{{{d{Gh}}{d{Ad}}{d{j}}{d{Fh}}{d{AnGj}}}A`}{{{d{AnGh}}{d{C`}}{d{AnGj}}}A`}{{{d{AnGh}}}A`}0``{{{d{c}}}e{}{}}{c{{Bj{e}}}{}{}}0{{{d{c}}}Bl{}}?`{{{d{c}}}{{d{e}}}{}{}}{{{d{Anc}}}{{d{Ane}}}{}{}}`{{{d{Hl}}}Hl}{{{d{c}}{d{Ane}}}A`{}{}}{{{d{c}}}A`{}}{c{{Bj{Hl}}}Dl}`{{{d{Hl}}{d{AnBd}}}Bf}{cc{}}{{{d{c}}}c{}}`{ce{}{}}{c{{Bh{e}}}{}{}}``{{{d{Hl}}c}BjEj}`>==<2","D":"BCn","p":[[10,"SelectorController",173],[1,"reference"],[5,"Box",697],[1,"u64"],[6,"Address",698],[5,"BTreeMap",699],[5,"Hash",700],[1,"unit"],[8,"PosResult",516],[5,"Slot",701],[5,"RangeInclusive",702],[8,"PreHashSet",703],[6,"Option",704],[5,"Selection",173],[0,"mut"],[10,"SelectorManager",173],[5,"PoSConfig",150],[5,"Formatter",705],[8,"Result",705],[5,"Request",706],[6,"Result",707],[5,"TypeId",708],[1,"bool"],[5,"CycleInfo",205],[5,"CycleInfoSerializer",205],[5,"CycleInfoDeserializer",205],[5,"ProductionStats",205],[5,"ProductionStatsSerializer",205],[5,"ProductionStatsDeserializer",205],[5,"RollsDeserializer",205],[5,"CycleHistorySerializer",205],[5,"CycleHistoryDeserializer",205],[1,"u8"],[1,"slice"],[8,"IResult",709],[10,"ParseError",710],[10,"ContextError",710],[10,"Deserializer",711],[8,"PreHashMap",703],[1,"tuple"],[5,"Vec",712],[5,"Ratio",713],[5,"BitVec",714],[6,"SerializeError",715],[10,"Serializer",716],[5,"VecDeque",717],[5,"DeferredCredits",406],[5,"DeferredCreditsSerializer",406],[5,"DeferredCreditsDeserializer",406],[5,"CreditsSerializer",406],[5,"CreditsDeserializer",406],[5,"Amount",718],[10,"FnMut",719],[10,"RangeBounds",702],[6,"PosError",516],[5,"String",720],[5,"PoSChanges",545],[5,"PoSChangesSerializer",545],[5,"PoSChangesDeserializer",545],[5,"PoSFinalState",604],[8,"DBBatch",721],[1,"array"],[17,"Output"],[10,"Fn",719],[5,"HashXof",722],[1,"usize"],[1,"str"],[5,"PathBuf",723],[8,"ShareableMassaDBController",724],[5,"SelectorConfig",673]],"r":[[2,406],[3,406],[4,205],[5,205],[6,205],[7,205],[8,205],[11,406],[12,406],[14,406],[19,545],[20,545],[21,545],[22,150],[23,604],[24,516],[25,516],[26,205],[27,205],[28,205],[29,205],[31,173],[32,673],[33,173],[34,173]],"b":[[533,"impl-Debug-for-PosError"],[534,"impl-Display-for-PosError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJoBRAAkAAwAOAAAADsAAAA9AAAAQQABAEQAAABHAAAASQAAAE0AAABRAAAAXQABAGMAAQBnAAEAcgADAIAAAQCEAAIAigALAJgABACeAAAAoAAAAKMAAACpAAQAsQACALUAAQC4AAQAvgAAAMAAAADFAAAAyAAEANcABQDfAC0ADwEUACYBAQAxAQgAQwEIAE0BAQBXAQEAWgEBAF4BOACcAR0AuwEGAMMBAADKAQQA1wEEAOMBIQARAgYAGQIAABsCBgAlAg0ANAIDADkCAAA9AgAAQQICAEgCAQBLAgAATQIUAGMCAQBmAgUAewIAAI0CAACdAgQAowIBAKYCAwCrAgAArQIAALACAACzAgAAtQIEAA=="}],\ +["massa_pos_exports",{"t":"PPFFFFFFFPPFFPFPPPPFFFFFGIFFFFPFFKKOOOOOOOOOOOOOOOOMOQQCOCOOOOOOCOOOOOCOOOQQOOOOCMOQQOMMMOOOOOOOOOOOOOCCQQQQQQOOOOOOOOOQQOQQQQOOOOOCOOMOOOOOOOOOOOOOOMFNNNNNONNNONNOOOOONNNNNFKKNNNMNNONNNNNMNNNMMMNNOMNNNNNMFFFFFFFFFOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNFFFFFOOOONNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOOOONNNNNPPPPPPPPPGIPNNNNNNNNNNNNNNNNNFFFOOONNNNNNNNNNNOOONNNNNNNNNNNNNNNNNOOOOOONNNNNNNNNNNNONNNSSSSSFSSNNNHNNNNONNONOOOOONNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNOONNNNNFNNONNNNONNNONNOONONNNNN","n":["ChannelDown","ContainerInconsistency","CreditsDeserializer","CreditsSerializer","CycleHistoryDeserializer","CycleHistorySerializer","CycleInfo","CycleInfoDeserializer","CycleInfoSerializer","CycleUnavailable","CycleUnfinished","DeferredCredits","DeferredCreditsDeserializer","DeferredCreditsFileLoadingError","DeferredCreditsSerializer","Err","InvalidRollDistribution","Ok","OverflowError","PoSChanges","PoSChangesDeserializer","PoSChangesSerializer","PoSConfig","PoSFinalState","PosError","PosResult","ProductionStats","ProductionStatsDeserializer","ProductionStatsSerializer","RollsDeserializer","RollsFileLoadingError","Selection","SelectorConfig","SelectorController","SelectorManager","address_deserializer","address_deserializer","address_deserializer","address_ser","address_ser","address_ser","address_serializer","amount_deserializer","amount_ser","bit_vec_deserializer","bit_vec_serializer","bitvec_deser","bitvec_ser","block_failure_count","block_success_count","channel_size","clone_box","complete","complete_key","complete_key","config","config","controller_traits","credit_deserializer","credits","credits_ser","cycle","cycle_history_cache","cycle_history_length","cycle_info","cycle_info_deserializer","cycle_info_deserializer","cycle_info_serializer","cycle_info_serializer","db","deferred_credits","deferred_credits","deferred_credits_deserializer","deferred_credits_deserializer","deferred_credits_key","deferred_credits_key","deferred_credits_serializer","deferred_credits_serializer","endorsement_count","endorsements","error","feed_cycle","final_state_hash_snapshot","final_state_hash_snapshot_key","final_state_hash_snapshot_key","genesis_address","get_available_selections_in_range","get_producer","get_selection","initial_deferred_credits_path","initial_rolls","initial_seeds","length_deserializer","length_deserializer","max_credit_length","max_draw_cache","max_production_stats_length","max_rolls_length","opt_hash_deser","opt_hash_ser","periods_per_cycle","periods_per_cycle","pos_changes","pos_final_state","prod_stats_fail_key","prod_stats_fail_key","prod_stats_prefix","prod_stats_prefix","prod_stats_success_key","prod_stats_success_key","producer","production_stats","production_stats","production_stats_deser","production_stats_deserializer","production_stats_ser","production_stats_serializer","rng_seed","rng_seed_cache","rng_seed_key","rng_seed_key","roll_changes","roll_count_key","roll_count_key","roll_count_prefix","roll_count_prefix","roll_counts","rolls_deser","rolls_deserializer","seed_bits","selector","settings","slot_deserializer","slot_ser","stop","thread_count","thread_count","u64_deser","u64_deserializer","u64_deserializer","u64_deserializer","u64_deserializer","u64_deserializer","u64_ser","u64_ser","u64_ser","u64_ser","u64_serializer","u64_serializer","wait_for_draws","PoSConfig","borrow","borrow_mut","clone","clone_into","clone_to_uninit","cycle_history_length","fmt","from","from_ref","initial_deferred_credits_path","into","into_request","max_credit_length","max_production_stats_length","max_rolls_length","periods_per_cycle","thread_count","to_owned","try_from","try_into","type_id","vzip","Selection","SelectorController","SelectorManager","borrow","borrow_mut","clone","clone_box","clone_into","clone_to_uninit","endorsements","eq","equivalent","equivalent","equivalent","equivalent","feed_cycle","fmt","from","from_ref","get_available_selections_in_range","get_producer","get_selection","into","into_request","producer","stop","to_owned","try_from","try_into","type_id","vzip","wait_for_draws","CycleHistoryDeserializer","CycleHistorySerializer","CycleInfo","CycleInfoDeserializer","CycleInfoSerializer","ProductionStats","ProductionStatsDeserializer","ProductionStatsSerializer","RollsDeserializer","address_deserializer","address_deserializer","address_ser","address_ser","bitvec_deser","bitvec_ser","block_failure_count","block_success_count","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","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","complete","cycle","cycle_info_deserializer","cycle_info_serializer","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","extend","final_state_hash_snapshot","fmt","fmt","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","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_satisfying","length_deserializer","length_deserializer","new","new","new","new","new","new","new","new","opt_hash_deser","opt_hash_ser","production_stats","production_stats_deser","production_stats_ser","rng_seed","roll_counts","rolls_deser","serialize","serialize","serialize","serialize","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_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","u64_deser","u64_deserializer","u64_deserializer","u64_deserializer","u64_ser","u64_ser","u64_serializer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","CreditsDeserializer","CreditsSerializer","DeferredCredits","DeferredCreditsDeserializer","DeferredCreditsSerializer","address_deserializer","address_ser","amount_deserializer","amount_ser","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","credit_deserializer","credits","credits_ser","default","default","default","deserialize","deserialize","deserialize","extend","fmt","for_each","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","get_address_credits_for_slot","get_slot_range","insert","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","is_empty","new","new","new","new","new","remove_zeros","serialize","serialize","serialize","slot_deserializer","slot_ser","to_owned","to_owned","to_owned","to_owned","to_owned","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","u64_deserializer","u64_deserializer","u64_ser","u64_ser","vzip","vzip","vzip","vzip","vzip","ChannelDown","ContainerInconsistency","CycleUnavailable","CycleUnfinished","DeferredCreditsFileLoadingError","Err","InvalidRollDistribution","Ok","OverflowError","PosError","PosResult","RollsFileLoadingError","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","PoSChanges","PoSChangesDeserializer","PoSChangesSerializer","address_serializer","bit_vec_deserializer","bit_vec_serializer","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","default","default","deferred_credits","deferred_credits_deserializer","deferred_credits_serializer","deserialize","deserialize","extend","fmt","from","from","from","from_ref","into","into","into","into_request","into_request","into_request","is_empty","new","new","production_stats","production_stats_deserializer","production_stats_serializer","roll_changes","rolls_deserializer","seed_bits","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","u64_serializer","vzip","vzip","vzip","COMPLETE_IDENT","FINAL_STATE_HASH_SNAPSHOT_IDENT","PROD_STATS_FAIL_IDENT","PROD_STATS_IDENT","PROD_STATS_SUCCESS_IDENT","PoSFinalState","RNG_SEED_IDENT","ROLL_COUNT_IDENT","apply_changes_to_batch","borrow","borrow_mut","buf_to_array_ctr","clone","clone_into","clone_to_uninit","compute_initial_draws","config","create_initial_cycle","create_new_cycle_from_last","cycle_history_cache","cycle_history_cycle_prefix","cycle_info_deserializer","cycle_info_serializer","db","deferred_credits_deserializer","deferred_credits_serializer","delete_cycle_info","feed_cycle_state_hash","feed_selector","from","from_ref","get_address_active_rolls","get_address_credits_for_slot","get_all_active_rolls","get_all_production_stats","get_all_production_stats_private","get_all_roll_counts","get_cycle_history_cycles","get_cycle_history_final_state_hash_snapshot","get_cycle_history_rng_seed","get_cycle_index","get_cycle_info","get_deferred_credits_range","get_production_stats_for_address","get_rolls_for","initial_rolls","initial_seeds","into","into_request","is_cycle_complete","is_cycle_history_key_value_valid","is_deferred_credits_key_value_valid","load_initial_deferred_credits","new","put_cycle_history_address_entry","put_cycle_history_complete","put_cycle_history_final_state_hash_snapshot","put_cycle_history_rng_seed","put_deferred_credits_entry","put_new_cycle_info","recompute_pos_state_caches","reset","rng_seed_cache","selector","to_owned","try_from","try_into","type_id","vzip","SelectorConfig","borrow","borrow_mut","channel_size","clone","clone_into","clone_to_uninit","deserialize","endorsement_count","fmt","from","from_ref","genesis_address","into","into_request","max_draw_cache","periods_per_cycle","serialize","thread_count","to_owned","try_from","try_into","type_id","vzip"],"q":[[0,"massa_pos_exports"],[150,"massa_pos_exports::config"],[173,"massa_pos_exports::controller_traits"],[205,"massa_pos_exports::cycle_info"],[406,"massa_pos_exports::deferred_credits"],[516,"massa_pos_exports::error"],[545,"massa_pos_exports::pos_changes"],[604,"massa_pos_exports::pos_final_state"],[673,"massa_pos_exports::settings"],[697,"alloc::boxed"],[698,"massa_models::address"],[699,"alloc::collections::btree::map"],[700,"massa_hash::hash"],[701,"massa_models::slot"],[702,"core::ops::range"],[703,"massa_models::prehash"],[704,"core::option"],[705,"core::fmt"],[706,"tonic::request"],[707,"core::result"],[708,"core::any"],[709,"nom::internal"],[710,"nom::error"],[711,"serde::de"],[712,"alloc::vec"],[713,"num_rational"],[714,"bitvec::vec"],[715,"massa_serialization"],[716,"serde::ser"],[717,"alloc::collections::vec_deque"],[718,"massa_models::amount"],[719,"core::ops::function"],[720,"alloc::string"],[721,"massa_db_exports::db_batch"],[722,"massa_hash::hash_xof"],[723,"std::path"],[724,"massa_db_exports::controller"]],"i":[55,55,0,0,0,0,0,0,0,55,55,0,0,55,0,9,55,9,55,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,29,30,51,25,28,50,58,51,50,59,58,26,25,27,27,70,1,24,0,0,0,60,0,49,47,48,24,60,17,0,32,60,31,60,60,0,57,59,60,0,0,58,60,70,14,0,1,24,0,0,70,1,1,1,17,60,60,29,30,17,70,17,17,26,25,17,70,0,0,0,0,0,0,0,0,14,24,57,26,59,25,58,24,60,0,0,57,0,0,0,0,24,26,59,57,60,0,49,48,16,17,70,26,29,30,32,49,51,25,28,48,50,58,31,1,0,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,0,0,0,14,14,14,1,14,14,14,14,14,14,14,14,1,14,14,14,1,1,1,14,14,14,16,14,14,14,14,14,1,0,0,0,0,0,0,0,0,0,29,30,25,28,26,25,27,27,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,24,25,26,27,27,28,29,30,31,32,24,24,32,31,25,27,28,31,26,27,29,30,32,24,27,24,24,24,24,27,27,27,27,27,24,24,27,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,27,29,30,24,25,26,28,29,30,31,32,26,25,24,26,25,24,24,26,25,27,28,31,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,26,29,30,32,25,28,31,24,25,26,27,28,29,30,31,32,0,0,0,0,0,51,50,51,50,47,48,49,50,51,47,48,49,50,51,47,48,49,50,51,47,48,49,50,51,47,48,49,50,51,49,47,48,47,48,50,47,49,51,47,47,47,47,48,49,50,51,47,48,49,50,51,47,47,47,47,48,49,50,51,47,48,49,50,51,47,47,48,49,50,51,47,47,48,50,49,48,47,48,49,50,51,47,48,49,50,51,47,48,49,50,51,47,48,49,50,51,49,51,48,50,47,48,49,50,51,55,55,55,55,55,9,55,9,55,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,0,0,0,58,59,58,58,59,57,58,59,57,57,57,57,58,57,57,59,58,59,57,57,57,58,59,57,57,58,59,57,58,59,57,57,58,59,57,59,58,57,59,57,58,57,57,58,59,57,58,59,57,58,59,57,58,58,59,57,0,0,0,0,0,0,0,0,60,60,60,0,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,0,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70],"f":"```````````````````````````````````````````````````{{{d{b}}}{{f{b}}}}`````````````````````````````{{{d{b}}h{l{jh}}n}{{Ab{A`}}}}````{{{d{b}}{Af{Ad}}{Aj{{d{{Ah{j}}}}}}}{{Ab{{l{AdAl}}}}}}{{{d{b}}Ad}{{Ab{j}}}}{{{d{b}}Ad}{{Ab{Al}}}}`````````````````````````````````````````````{{{d{AnB`}}}A`}``````````````{{{d{b}}h}{{Ab{h}}}}`{{{d{c}}}{{d{e}}}{}{}}{{{d{Anc}}}{{d{Ane}}}{}{}}{{{d{Bb}}}Bb}{{{d{c}}{d{Ane}}}A`{}{}}{{{d{c}}}A`{}}`{{{d{Bb}}{d{AnBd}}}Bf}{cc{}}{{{d{c}}}c{}}`{ce{}{}}{c{{Bh{e}}}{}{}}`````{{{d{c}}}e{}{}}{c{{Bj{e}}}{}{}}0{{{d{c}}}Bl{}}4```<;{{{d{Al}}}Al}{{{d{b}}}{{f{b}}}};:`{{{d{Al}}{d{Al}}}Bn}{{{d{c}}{d{e}}}Bn{}{}}000{{{d{b}}h{l{jh}}n}{{Ab{A`}}}}{{{d{Al}}{d{AnBd}}}Bf}<;{{{d{b}}{Af{Ad}}{Aj{{d{{Ah{j}}}}}}}{{Ab{{l{AdAl}}}}}}{{{d{b}}Ad}{{Ab{j}}}}{{{d{b}}Ad}{{Ab{Al}}}}=<`{{{d{AnB`}}}A`}<;;:>{{{d{b}}h}{{Ab{h}}}}`````````````````{{{d{c}}}{{d{e}}}{}{}}00000000{{{d{Anc}}}{{d{Ane}}}{}{}}00000000{{{d{C`}}}C`}{{{d{Cb}}}Cb}{{{d{Cd}}}Cd}{{{d{Cf}}}Cf}{{{d{Ch}}}Ch}{{{d{Cj}}}Cj}{{{d{Cl}}}Cl}{{{d{Cn}}}Cn}{{{d{D`}}}D`}{{{d{c}}{d{Ane}}}A`{}{}}00000000{{{d{c}}}A`{}}000000000````{{}Cb}{{}Cf}{{}Ch}{{}Cn}{{{d{Cd}}{d{{Dd{Db}}}}}{{Df{{d{{Dd{Db}}}}C`c}}}{{Dh{{d{{Dd{Db}}}}}}{Dj{{d{{Dd{Db}}}}}}}}{c{{Bj{Cf}}}Dl}{{{d{Cj}}{d{{Dd{Db}}}}}{{Df{{d{{Dd{Db}}}}{Dn{jCf}}c}}}{{Dh{{d{{Dd{Db}}}}}}{Dj{{d{{Dd{Db}}}}}}}}{{{d{Cl}}{d{{Dd{Db}}}}}{{Df{{d{{Dd{Db}}}}{Eb{{E`{jh}}}}c}}}{{Dh{{d{{Dd{Db}}}}}}{Dj{{d{{Dd{Db}}}}}}}}{{{d{D`}}{d{{Dd{Db}}}}}{{Df{{d{{Dd{Db}}}}{Eb{C`}}c}}}{{Dh{{d{{Dd{Db}}}}}}{Dj{{d{{Dd{Db}}}}}}}}{{{d{C`}}{d{C`}}}Bn}{{{d{Cf}}{d{Cf}}}Bn}{{{d{c}}{d{e}}}Bn{}{}}0000000{{{d{AnCf}}{d{Cf}}}A`}`{{{d{C`}}{d{AnBd}}}Bf}{{{d{Cf}}{d{AnBd}}}Bf}{cc{}}00000000{{{d{c}}}c{}}00000000{ce{}{}}00000000{c{{Bh{e}}}{}{}}00000000{{{d{Cf}}{d{{Ed{h}}}}}Bn}``{{hBn{l{jh}}{Ef{Db}}{Dn{jCf}}}C`}{{}Cb}{{hh}Cd}{{}Ch}{hCj}{hCl}{{}Cn}{{hhh}D`}````````{{{d{Cb}}{d{C`}}{d{An{Eb{Db}}}}}{{Bj{A`Eh}}}}{{{d{Cf}}c}BjEj}{{{d{Ch}}{d{{Dn{jCf}}}}{d{An{Eb{Db}}}}}{{Bj{A`Eh}}}}{{{d{Cn}}{d{{El{C`}}}}{d{An{Eb{Db}}}}}{{Bj{A`Eh}}}}{{{d{c}}}e{}{}}00000000{c{{Bj{e}}}{}{}}00000000000000000{{{d{c}}}Bl{}}00000000```````{ce{}{}}00000000`````````{{{d{c}}}{{d{e}}}{}{}}0000{{{d{Anc}}}{{d{Ane}}}{}{}}0000{{{d{En}}}En}{{{d{F`}}}F`}{{{d{Fb}}}Fb}{{{d{Fd}}}Fd}{{{d{Ff}}}Ff}{{{d{c}}{d{Ane}}}A`{}{}}0000{{{d{c}}}A`{}}0000```{{}En}{{}F`}{{}Fd}{c{{Bj{En}}}Dl}{{{d{Fb}}{d{{Dd{Db}}}}}{{Df{{d{{Dd{Db}}}}Enc}}}{{Dh{{d{{Dd{Db}}}}}}{Dj{{d{{Dd{Db}}}}}}}}{{{d{Ff}}{d{{Dd{Db}}}}}{{Df{{d{{Dd{Db}}}}{Dn{jFh}}c}}}{{Dh{{d{{Dd{Db}}}}}}{Dj{{d{{Dd{Db}}}}}}}}{{{d{AnEn}}En}A`}{{{d{En}}{d{AnBd}}}Bf}{{{d{AnEn}}c}A`{{Fj{{d{Ad}}{d{j}}{d{AnFh}}}}}}{cc{}}0000{{{d{c}}}c{}}0000{{{d{En}}{d{j}}{d{Ad}}}{{Aj{Fh}}}}{{{d{En}}c}En{{Fl{Ad}}}}{{{d{AnEn}}AdjFh}{{Aj{Fh}}}}{ce{}{}}0000{c{{Bh{e}}}{}{}}0000{{{d{En}}}Bn}{{}En}{{}F`}{{Dbh}Fb}{{}Fd}{hFf}{{{d{AnEn}}}A`}{{{d{En}}c}BjEj}{{{d{F`}}{d{En}}{d{An{Eb{Db}}}}}{{Bj{A`Eh}}}}{{{d{Fd}}{d{{Dn{jFh}}}}{d{An{Eb{Db}}}}}{{Bj{A`Eh}}}}``{{{d{c}}}e{}{}}0000{c{{Bj{e}}}{}{}}000000000{{{d{c}}}Bl{}}0000````>>>>>````````````{{{d{c}}}{{d{e}}}{}{}}{{{d{Anc}}}{{d{Ane}}}{}{}}{{{d{Fn}}}Fn}{{{d{c}}{d{Ane}}}A`{}{}}{{{d{c}}}A`{}}{{{d{Fn}}{d{AnBd}}}Bf}0{cc{}}{{{d{c}}}c{}}{ce{}{}}{c{{Bh{e}}}{}{}}<{{{d{c}}}G`{}}<<;2``````:::999{{{d{Gb}}}Gb}87{{}Gd}{{}Gb}```{{{d{Gf}}{d{{Dd{Db}}}}}{{Df{{d{{Dd{Db}}}}Gbc}}}{{Dh{{d{{Dd{Db}}}}}}{Dj{{d{{Dd{Db}}}}}}}}{c{{Bj{Gb}}}Dl}{{{d{AnGb}}Gb}A`}{{{d{Gb}}{d{AnBd}}}Bf};;;:999888{{{d{Gb}}}Bn}6{{Dbhhh}Gf}``````{{{d{Gd}}{d{Gb}}{d{An{Eb{Db}}}}}{{Bj{A`Eh}}}}{{{d{Gb}}c}BjEj}{{{d{c}}}e{}{}}{c{{Bj{e}}}{}{}}00000{{{d{c}}}Bl{}}00`{ce{}{}}00````````{{{d{AnGh}}GbAdBn{d{AnGj}}}{{Ab{A`}}}}{{{d{c}}}{{d{e}}}{}{}}{{{d{Anc}}}{{d{Ane}}}{}{}}{{{d{{Dd{Db}}}}e}{{Aj{{E`{{d{{Dd{Db}}}}c}}}}}{}{{H`{{d{{Gl{Db}}}}}{{Gn{c}}}}}}{{{d{Gh}}}Gh}{{{d{c}}{d{Ane}}}A`{}{}}{{{d{c}}}A`{}}{{{d{AnGh}}}{{Ab{A`}}}}`{{{d{AnGh}}{d{AnGj}}}A`}{{{d{AnGh}}{d{C`}}AdAd{d{AnGj}}}{{Bj{A`Fn}}}}`{{{d{Gh}}h}{{Eb{Db}}}}`````{{{d{AnGh}}h{d{AnGj}}}A`}{{{d{Gh}}hHb}A`}{{{d{Gh}}h}{{Ab{A`}}}}{cc{}}{{{d{c}}}c{}}{{{d{Gh}}{d{j}}h}{{Aj{h}}}}{{{d{Gh}}{d{j}}{d{Ad}}}{{Aj{Fh}}}}{{{d{Gh}}h}{{l{jh}}}}{{{d{Gh}}h}{{Aj{{Dn{jCf}}}}}}{{{d{Gh}}h}{{Dn{jCf}}}}2{{{d{Gh}}}{{Eb{{E`{hBn}}}}}}{{{d{Gh}}h}{{Aj{Hb}}}}{{{d{Gh}}h}{{Aj{{Ef{Db}}}}}}{{{d{Gh}}h}{{Aj{Hd}}}}{{{d{Gh}}h}{{Aj{C`}}}}{{{d{Gh}}c{Aj{{d{j}}}}}En{{Fl{Ad}}}}{{{d{Gh}}h{d{j}}}{{Aj{Cf}}}}{{{d{Gh}}{d{j}}}h}``{ce{}{}}{c{{Bh{e}}}{}{}}{{{d{Gh}}h}{{Aj{Bn}}}}{{{d{Gh}}{d{{Dd{Db}}}}{d{{Dd{Db}}}}}Bn}0{{{d{AnGh}}{d{AnGj}}}{{Bj{A`Fn}}}}{{Bb{d{Hf}}{d{Hh}}{f{b}}Hj}{{Bj{GhFn}}}}{{{d{Gh}}h{d{j}}{Aj{{d{h}}}}{Aj{{d{Cf}}}}{d{AnGj}}}A`}{{{d{AnGh}}hBn{d{AnGj}}}A`}{{{d{Gh}}h{Aj{Hb}}{d{AnGj}}}A`}{{{d{AnGh}}h{Ef{Db}}{d{AnGj}}}A`}{{{d{Gh}}{d{Ad}}{d{j}}{d{Fh}}{d{AnGj}}}A`}{{{d{AnGh}}{d{C`}}{d{AnGj}}}A`}{{{d{AnGh}}}A`}0``{{{d{c}}}e{}{}}{c{{Bj{e}}}{}{}}0{{{d{c}}}Bl{}}?`{{{d{c}}}{{d{e}}}{}{}}{{{d{Anc}}}{{d{Ane}}}{}{}}`{{{d{Hl}}}Hl}{{{d{c}}{d{Ane}}}A`{}{}}{{{d{c}}}A`{}}{c{{Bj{Hl}}}Dl}`{{{d{Hl}}{d{AnBd}}}Bf}{cc{}}{{{d{c}}}c{}}`{ce{}{}}{c{{Bh{e}}}{}{}}``{{{d{Hl}}c}BjEj}`>==<2","D":"BCn","p":[[10,"SelectorController",173],[1,"reference"],[5,"Box",697],[1,"u64"],[6,"Address",698],[5,"BTreeMap",699],[5,"Hash",700],[1,"unit"],[8,"PosResult",516],[5,"Slot",701],[5,"RangeInclusive",702],[8,"PreHashSet",703],[6,"Option",704],[5,"Selection",173],[0,"mut"],[10,"SelectorManager",173],[5,"PoSConfig",150],[5,"Formatter",705],[8,"Result",705],[5,"Request",706],[6,"Result",707],[5,"TypeId",708],[1,"bool"],[5,"CycleInfo",205],[5,"CycleInfoSerializer",205],[5,"CycleInfoDeserializer",205],[5,"ProductionStats",205],[5,"ProductionStatsSerializer",205],[5,"ProductionStatsDeserializer",205],[5,"RollsDeserializer",205],[5,"CycleHistorySerializer",205],[5,"CycleHistoryDeserializer",205],[1,"u8"],[1,"slice"],[8,"IResult",709],[10,"ParseError",710],[10,"ContextError",710],[10,"Deserializer",711],[8,"PreHashMap",703],[1,"tuple"],[5,"Vec",712],[5,"Ratio",713],[5,"BitVec",714],[6,"SerializeError",715],[10,"Serializer",716],[5,"VecDeque",717],[5,"DeferredCredits",406],[5,"DeferredCreditsSerializer",406],[5,"DeferredCreditsDeserializer",406],[5,"CreditsSerializer",406],[5,"CreditsDeserializer",406],[5,"Amount",718],[10,"FnMut",719],[10,"RangeBounds",702],[6,"PosError",516],[5,"String",720],[5,"PoSChanges",545],[5,"PoSChangesSerializer",545],[5,"PoSChangesDeserializer",545],[5,"PoSFinalState",604],[8,"DBBatch",721],[1,"array"],[17,"Output"],[10,"Fn",719],[5,"HashXof",722],[1,"usize"],[1,"str"],[5,"PathBuf",723],[8,"ShareableMassaDBController",724],[5,"SelectorConfig",673]],"r":[[2,406],[3,406],[4,205],[5,205],[6,205],[7,205],[8,205],[11,406],[12,406],[14,406],[19,545],[20,545],[21,545],[22,150],[23,604],[24,516],[25,516],[26,205],[27,205],[28,205],[29,205],[31,173],[32,673],[33,173],[34,173]],"b":[[533,"impl-Display-for-PosError"],[534,"impl-Debug-for-PosError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJoBRAAkAAwAOAAAADsAAAA9AAAAQQABAEQAAABHAAAASQAAAE0AAABRAAAAXQABAGMAAQBnAAEAcgADAIAAAQCEAAIAigALAJgABACeAAAAoAAAAKMAAACpAAQAsQACALUAAQC4AAQAvgAAAMAAAADFAAAAyAAEANcABQDfAC0ADwEUACYBAQAxAQgAQwEIAE0BAQBXAQEAWgEBAF4BOACcAR0AuwEGAMMBAADKAQQA1wEEAOMBIQARAgYAGQIAABsCBgAlAg0ANAIDADkCAAA9AgAAQQICAEgCAQBLAgAATQIUAGMCAQBmAgUAewIAAI0CAACdAgQAowIBAKYCAwCrAgAArQIAALACAACzAgAAtQIEAA=="}],\ ["massa_pos_worker",{"t":"GFFIPFPNNNNNNNNOCONCONNNNNNNNNNNNNNNNNONHNNNNNNNNNNNNNNNNNCOOOFFNNNNONNNNNNNNNNNOONNNNONOONNNNNNNNNNHFNNOONONNNNNHNNNN","n":["Command","CycleDraws","DrawCache","DrawCachePtr","DrawInput","RwLockCondvar","Stop","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","condvar","controller","cycle","default","draw","draws","fmt","fmt","from","from","from","from","get","get_available_cycles_range","get_cycle_index","into","into","into","into","into_request","into_request","into_request","into_request","mutex","notify_all","start_selector_worker","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","wait","worker","cycle","lookback_rolls","lookback_seed","SelectorControllerImpl","SelectorManagerImpl","borrow","borrow","borrow_mut","borrow_mut","cache","clone","clone_box","clone_into","clone_to_uninit","feed_cycle","from","from","from_ref","get_available_selections_in_range","get_producer","get_selection","input_mpsc","input_mpsc","into","into","into_request","into_request","periods_per_cycle","stop","thread_count","thread_handle","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","wait_for_draws","perform_draws","SelectorThread","borrow","borrow_mut","cache","cfg","from","input_mpsc","into","into_request","process_draws_result","run","spawn","start_selector_worker","try_from","try_into","type_id","vzip"],"q":[[0,"massa_pos_worker"],[59,"massa_pos_worker::Command"],[62,"massa_pos_worker::controller"],[100,"massa_pos_worker::draw"],[101,"massa_pos_worker::worker"],[118,"core::fmt"],[119,"core::option"],[120,"core::ops::range"],[121,"tonic::request"],[122,"massa_pos_exports::settings"],[123,"massa_pos_exports::controller_traits"],[124,"alloc::boxed"],[125,"massa_pos_exports::error"],[126,"core::result"],[127,"core::any"],[128,"parking_lot::rwlock"],[129,"massa_models::address"],[130,"alloc::collections::btree::map"],[131,"massa_hash::hash"],[132,"massa_models::slot"],[133,"massa_models::prehash"],[134,"std::sync::mpsc"],[135,"alloc::sync"],[136,"std::thread"]],"i":[0,0,0,0,32,0,32,32,4,7,3,32,4,7,3,3,0,7,3,0,7,4,7,32,4,7,3,4,4,4,32,4,7,3,32,4,7,3,3,3,0,32,4,7,3,32,4,7,3,32,4,7,3,32,4,7,3,3,0,37,37,37,0,0,30,23,30,23,23,23,23,23,23,23,30,23,23,23,23,23,30,23,30,23,30,23,23,30,23,30,23,30,23,30,23,30,23,30,23,23,0,0,31,31,31,31,31,31,31,31,31,31,31,0,31,31,31,31],"f":"```````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000```{{}f}``{{{b{h}}{b{dj}}}l}{{{b{n}}{b{dj}}}l}{cc{}}000{{{b{h}}A`}{{Ab{{b{n}}}}}}{{{b{h}}}{{Ab{{Ad{A`}}}}}}{{{b{h}}A`}{{Ab{Af}}}}{ce{}{}}000{c{{Ah{e}}}{}{}}000`{{{b{f}}}Aj}{Al{{Bf{{Bd{{B`{An}}{B`{Bb}}}}}}}}{c{{Bh{e}}}{}{}}0000000{{{b{c}}}Bj{}}0005555{{{b{f}}{b{d{Bl{c}}}}}Aj{}}``````??>>`{{{b{Bn}}}Bn}{{{b{Bn}}}{{B`{Bb}}}}{{{b{c}}{b{de}}}Aj{}{}}{{{b{c}}}Aj{}}{{{b{Bn}}A`{Cb{C`A`}}Cd}{{Bf{Aj}}}}??{{{b{c}}}c{}}{{{b{Bn}}{Ad{Cf}}{Ab{{b{{Ch{C`}}}}}}}{{Bf{{Cb{CfCj}}}}}}{{{b{Bn}}Cf}{{Bf{C`}}}}{{{b{Bn}}Cf}{{Bf{Cj}}}}``??>>`{{{b{dCl}}}Aj}``{{{b{c}}}e{}{}}====<<{ce{}{}}0{{{b{Bn}}A`}{{Bf{A`}}}}{{{b{Al}}A`{Cb{C`A`}}Cd}{{Bf{n}}}}`{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}``{cc{}}`5{c{{Ah{e}}}{}{}}{{{b{Cn}}A`{Bf{n}}}{{Bf{Aj}}}}{Cn{{Bf{Aj}}}}{{{Db{D`}}{Df{{Bd{f{Dd{{Bf{h}}}}}}}}Al}{{Dh{{Bf{Aj}}}}}}{Al{{Bf{{Bd{{B`{An}}{B`{Bb}}}}}}}}{c{{Bh{e}}}{}{}}0{{{b{c}}}Bj{}}<","D":"Fd","p":[[1,"reference"],[0,"mut"],[5,"RwLockCondvar",0],[5,"DrawCache",0],[5,"Formatter",118],[8,"Result",118],[5,"CycleDraws",0],[1,"u64"],[6,"Option",119],[5,"RangeInclusive",120],[1,"usize"],[5,"Request",121],[1,"unit"],[5,"SelectorConfig",122],[10,"SelectorManager",123],[5,"Box",124],[10,"SelectorController",123],[1,"tuple"],[8,"PosResult",125],[6,"Result",126],[5,"TypeId",127],[8,"RwLockReadGuard",128],[5,"SelectorControllerImpl",62],[6,"Address",129],[5,"BTreeMap",130],[5,"Hash",131],[5,"Slot",132],[8,"PreHashSet",133],[5,"Selection",123],[5,"SelectorManagerImpl",62],[5,"SelectorThread",101],[6,"Command",0],[5,"Receiver",134],[8,"RwLock",128],[5,"Arc",135],[5,"JoinHandle",136],[15,"DrawInput",59]],"r":[[40,101]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEQAEQAAAAAABgAAAAgACAATAAEAFgABACMABQAqABQAQQADAEYAAABIAAEATQAAAFUAAQBbAAgAZwABAGwAAABuAAAAcwADAA=="}],\ -["massa_protocol_exports",{"t":"FFFPPPPPPPPPPPPPPPFPGFPFFFPFKGKPPPPPGPPPOOOMOCNNNNOONNMNNNNNNOCOONNNNNNNONNNNNNNNNNCONNNNNNNOMNMNNNOMNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOMOOOOCOOOOOMMOOOOOMNCMMOOOOOOONNOONNNNNNOOMONNOOOOFFFFNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNOOOONNNNNNNNNNNNNNNNNONNNNKKMMMMMMMMMMMMPPPPPPPPPPPPPGPPPPPGPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNFFOOOONNNNONNNNNNNOOONNNNNNNNOONNNNNNONNONNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOONNNNNNOONN","n":["BootstrapPeers","BootstrapPeersDeserializer","BootstrapPeersSerializer","ChannelError","ContainerInconsistencyError","FactoryError","GeneralProtocolError","IN","IOError","IncompatibleNetworkVersion","InvalidBlock","InvalidIpError","InvalidOperationError","ListenerError","MissingPeersError","ModelsError","OUT","OutdatedAnnouncedNetworkVersion","PeerCategoryInfo","PeerConnectionError","PeerConnectionType","PeerData","PeerDisconnected","PeerId","PeerIdDeserializer","PeerIdSerializer","PosError","ProtocolConfig","ProtocolController","ProtocolError","ProtocolManager","Quic","SendError","SerdeError","Tcp","TimeError","TransportType","UnexpectedNodeCommandChannelClosure","UnexpectedWriterClosure","WrongSignature","allow_local_peers","ask_block_timeout","asked_operations_buffer_capacity","ban_peers","block_propagation_tick","bootstrap_peers","borrow","borrow","borrow_mut","borrow_mut","category","chain_id","clone","clone","clone_box","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","controller_channel_size","controller_trait","debug","default_category_info","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","endorsement_count","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error","event_channel_size","fmt","fmt","from","from","from_ref","from_ref","from_transport_config","genesis_timestamp","get_bootstrap_peers","get_hash","get_stats","hash","init","init","initial_peers","integrated_block","into","into","into_request","into_request","ip_addr_deserializer","ip_addr_serializer","keypair_file","last_start_period","length_deserializer","length_listeners_deserializer","listeners","listeners","max_block_propagation_time","max_blocks_kept_for_propagation","max_denunciations_in_block_header","max_endorsements_per_message","max_endorsements_propagation_time","max_in_connections","max_in_connections","max_in_connections_per_ip","max_known_blocks_size","max_known_endorsements_size","max_known_ops_size","max_message_size","max_node_known_blocks_size","max_node_known_endorsements_size","max_node_known_ops_size","max_node_wanted_blocks_size","max_op_datastore_entry_count","max_op_datastore_key_length","max_op_datastore_value_length","max_operation_storage_time","max_operations_per_block","max_operations_per_message","max_operations_propagation_time","max_ops_kept_for_propagation","max_send_wait","max_serialized_operations_size_per_block","max_simultaneous_ask_blocks_per_node","max_size_call_sc_parameter","max_size_channel_commands_connectivity","max_size_channel_commands_peer_testers","max_size_channel_commands_peers","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","max_size_function_name","max_size_listeners_per_peer","max_size_peers_announcement","max_size_value_datastore","message_timeout","notify_block_attack","operation_announcement_buffer_capacity","operation_announcement_interval","operation_batch_buffer_capacity","operation_batch_proc_period","peer_id","peer_id_deserializer","peer_id_serializer","peers_categories","port_deserializer","port_serializer","propagate_endorsements","propagate_operations","public_key","public_key_deserializer","rate_limit","read_write_limit_bytes_per_second","routable_ip","send_wishlist_delta","serialize","settings","stop","stop","t0","target_out_connections","test_oldest_peer_cooldown","tester_timeout","thread_count","thread_tester_count","timeout_connection","to_owned","to_owned","try_connection_timer","try_connection_timer_same_peer","try_from","try_from","try_into","try_into","type_id","type_id","u32_serializer","unban_everyone_timer","unban_peers","version","vzip","vzip","announced_received","local","local","received","BootstrapPeers","BootstrapPeersDeserializer","BootstrapPeersSerializer","PeerData","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","category","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","drop","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from","from_ref","from_ref","init","init","init","init","into","into","into","into","into_request","into_request","into_request","into_request","ip_addr_deserializer","ip_addr_serializer","length_deserializer","length_listeners_deserializer","listeners","new","new","peer_id_deserializer","peer_id_serializer","port_deserializer","port_serializer","serialize","serialize","serialize","to_owned","to_owned","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","ProtocolController","ProtocolManager","ban_peers","clone_box","get_bootstrap_peers","get_stats","integrated_block","notify_block_attack","propagate_endorsements","propagate_operations","send_wishlist_delta","stop","stop","unban_peers","ChannelError","CloseConnectionWithNoConnectionToClose","ContainerInconsistencyError","FactoryError","GeneralProtocolError","IOError","IncompatibleNetworkVersion","InvalidBlock","InvalidIpError","InvalidOperationError","ListenerError","MissingPeersError","ModelsError","NetworkConnectionErrorType","OutdatedAnnouncedNetworkVersion","PeerConnectionError","PeerDisconnected","PeerInfoNotFoundError","PosError","ProtocolError","SendError","SerdeError","TimeError","ToManyConnectionAttempt","ToManyConnectionFailure","UnexpectedNodeCommandChannelClosure","UnexpectedWriterClosure","WrongSignature","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","fmt","from","from","from","from","from","from","from","from","init","init","into","into","into_request","into_request","source","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","announced_received","local","local","received","PeerId","PeerIdDeserializer","PeerIdSerializer","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","compare","default","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from_public_key","from_ref","from_ref","from_ref","from_str","generate","get_hash","get_public_key","hash","init","init","init","into","into","into","into_request","into_request","into_request","new","new","partial_cmp","public_key","public_key_deserializer","serialize","serialize","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","verify_signature","vzip","vzip","vzip","PeerCategoryInfo","ProtocolConfig","allow_local_peers","ask_block_timeout","asked_operations_buffer_capacity","block_propagation_tick","borrow","borrow","borrow_mut","borrow_mut","chain_id","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","controller_channel_size","debug","default_category_info","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","endorsement_count","event_channel_size","fmt","fmt","from","from","from_ref","from_ref","genesis_timestamp","init","init","initial_peers","into","into","into_request","into_request","keypair_file","last_start_period","listeners","max_block_propagation_time","max_blocks_kept_for_propagation","max_denunciations_in_block_header","max_endorsements_per_message","max_endorsements_propagation_time","max_in_connections","max_in_connections","max_in_connections_per_ip","max_known_blocks_size","max_known_endorsements_size","max_known_ops_size","max_message_size","max_node_known_blocks_size","max_node_known_endorsements_size","max_node_known_ops_size","max_node_wanted_blocks_size","max_op_datastore_entry_count","max_op_datastore_key_length","max_op_datastore_value_length","max_operation_storage_time","max_operations_per_block","max_operations_per_message","max_operations_propagation_time","max_ops_kept_for_propagation","max_send_wait","max_serialized_operations_size_per_block","max_simultaneous_ask_blocks_per_node","max_size_call_sc_parameter","max_size_channel_commands_connectivity","max_size_channel_commands_peer_testers","max_size_channel_commands_peers","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","max_size_function_name","max_size_listeners_per_peer","max_size_peers_announcement","max_size_value_datastore","message_timeout","operation_announcement_buffer_capacity","operation_announcement_interval","operation_batch_buffer_capacity","operation_batch_proc_period","peers_categories","rate_limit","read_write_limit_bytes_per_second","routable_ip","t0","target_out_connections","test_oldest_peer_cooldown","tester_timeout","thread_count","thread_tester_count","timeout_connection","to_owned","to_owned","try_connection_timer","try_connection_timer_same_peer","try_from","try_from","try_into","try_into","type_id","type_id","unban_everyone_timer","version","vzip","vzip"],"q":[[0,"massa_protocol_exports"],[205,"massa_protocol_exports::ProtocolError"],[209,"massa_protocol_exports::bootstrap_peers"],[307,"massa_protocol_exports::controller_trait"],[321,"massa_protocol_exports::error"],[386,"massa_protocol_exports::error::ProtocolError"],[390,"massa_protocol_exports::peer_id"],[476,"massa_protocol_exports::settings"],[599,"alloc::vec"],[600,"core::result"],[601,"peernet::peer"],[602,"peernet::transports"],[603,"alloc::boxed"],[604,"serde::de"],[605,"core::fmt"],[606,"core::hash"],[607,"core::marker"],[608,"massa_models::stats"],[609,"core::net::socket_addr"],[610,"std::collections::hash::map"],[611,"massa_models::block_id"],[612,"massa_storage"],[613,"tonic::request"],[614,"massa_models::block_header"],[615,"core::option"],[616,"massa_models::prehash"],[617,"serde::ser"],[618,"core::any"],[619,"nom::internal"],[620,"nom::error"],[621,"massa_serialization"],[622,"massa_versioning::versioning_factory"],[623,"massa_models::error"],[624,"serde_json::error"],[625,"massa_time::error"],[626,"massa_pos_exports::error"],[627,"std::io::error"],[628,"core::error"],[629,"alloc::string"],[630,"core::cmp"],[631,"massa_signature::signature_impl"],[632,"massa_hash::hash"]],"i":[0,0,0,6,6,6,6,9,6,6,6,6,6,6,6,6,9,6,0,6,0,0,6,0,0,0,6,0,0,0,0,10,6,6,10,6,0,6,6,6,65,66,66,1,66,0,9,10,9,10,38,66,9,10,1,9,10,9,9,10,10,66,0,66,66,9,10,9,10,10,9,10,66,9,10,9,9,9,9,10,10,10,10,0,66,9,10,9,10,9,10,10,66,1,10,1,10,9,10,66,1,9,10,9,10,40,39,66,66,40,40,38,66,66,66,66,66,66,65,66,65,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,1,66,66,66,66,0,40,39,66,40,39,1,1,3,59,66,66,66,1,10,0,1,36,66,65,66,66,66,66,66,9,10,66,66,9,10,9,10,9,10,39,66,1,66,9,10,67,68,67,68,0,0,0,0,39,40,38,18,39,40,38,18,38,38,18,38,18,38,18,39,39,40,38,18,39,40,38,18,40,38,18,39,40,38,18,38,18,38,38,38,38,18,18,18,18,38,18,39,40,38,18,38,18,39,40,38,18,39,40,38,18,39,40,38,18,40,39,40,40,38,39,40,40,39,40,39,39,38,18,38,18,39,40,38,18,39,40,38,18,39,40,38,18,39,39,40,38,18,0,0,1,1,1,1,1,1,1,1,1,1,36,1,6,49,6,6,6,6,6,6,6,6,6,6,6,0,6,6,6,49,6,0,6,6,6,49,49,6,6,6,6,49,6,49,6,49,6,49,6,49,6,6,49,6,6,6,6,6,6,6,49,6,49,6,49,6,49,6,6,6,49,6,49,6,49,6,49,67,68,67,68,0,0,0,3,58,59,3,58,59,3,58,59,3,58,59,3,3,58,59,3,3,58,59,3,58,59,3,58,59,3,59,3,58,59,3,3,3,3,3,3,3,3,58,59,3,3,58,59,3,3,3,3,3,3,58,59,3,58,59,3,58,59,58,59,3,3,59,3,58,3,58,59,3,3,58,59,3,58,59,3,58,59,3,3,58,59,0,0,65,66,66,66,65,66,65,66,66,65,66,65,66,65,65,66,66,66,66,65,66,65,66,65,66,65,66,66,66,65,66,65,66,65,66,66,65,66,66,65,66,65,66,66,66,66,66,66,66,66,66,65,66,65,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,65,66,66,66,66,66,65,66,66,66,65,66,65,66,65,66,66,66,65,66],"f":"```````````````````````````````````````````{{{d{b}}{h{f}}}{{n{jl}}}}``{{{d{c}}}{{d{e}}}{}{}}0{{{d{A`c}}}{{d{A`e}}}{}{}}0``{{{d{Ab}}}Ab}{{{d{Ad}}}Ad}{{{d{b}}}{{Af{b}}}}{{{d{c}}{d{A`e}}}j{}{}}0{{{d{c}}}j{}}000````{Ah{{d{c}}}{}}0{Ah{{d{A`c}}}{}}0{c{{n{Ad}}}Aj}{Ahj}0`{{{d{Ab}}{d{Ab}}}Al}{{{d{Ad}}{d{Ad}}}Al}{{{d{c}}{d{e}}}Al{}{}}0000000``{{{d{Ab}}{d{A`An}}}{{n{jB`}}}}{{{d{Ad}}{d{A`An}}}{{n{jB`}}}}{cc{}}0{{{d{c}}}c{}}0{{{d{Bb}}}Ad}`{{{d{b}}}{{n{Bdl}}}}{{{d{c}}{d{e}}}Bf{BhBj}Bl}{{{d{b}}}{{n{{Cb{Bn{Cd{f{Cb{C`Ab}}}}}}l}}}}{{{d{Ad}}{d{A`c}}}jCf}{{}Ah}0`{{{d{b}}ChCj}{{n{jl}}}}{ce{}{}}0{c{{Cl{e}}}{}{}}0``````````````````````````````````````````````````````{{{d{b}}Ch}{{n{jl}}}}``````````{{{d{b}}Cj}{{n{jl}}}}0`````{{{d{b}}{Db{Ch{D`{Cn}}}}{Dd{Ch}}}{{n{jl}}}}{{{d{Ad}}c}nDf}`{{{d{A`b}}}j}{{{d{A`Dh}}}j}```````{{{d{c}}}e{}{}}0``{c{{n{e}}}{}{}}000{{{d{c}}}Dj{}}0``{{{d{b}}{h{f}}}{{n{jl}}}}`;;````````{{{d{c}}}{{d{e}}}{}{}}000{{{d{A`c}}}{{d{A`e}}}{}{}}000`{{{d{Dl}}}Dl}{{{d{Bd}}}Bd}{{{d{c}}{d{A`e}}}j{}{}}0{{{d{c}}}j{}}0{{}Dn}{Ah{{d{c}}}{}}000{Ah{{d{A`c}}}{}}000{{{d{E`}}{d{{Ed{Eb}}}}}{{Ef{{d{{Ed{Eb}}}}Bdc}}}{{Eh{{d{{Ed{Eb}}}}}}{Ej{{d{{Ed{Eb}}}}}}}}{c{{n{Dl}}}Aj}{c{{n{Bd}}}Aj}{Ahj}000{{{d{Dl}}{d{Dl}}}Al}{{{d{Bd}}{d{Bd}}}Al}{{{d{c}}{d{e}}}Al{}{}}0000000{{{d{Dl}}{d{A`An}}}El}{{{d{Bd}}{d{A`An}}}El}{cc{}}000{{{d{c}}}c{}}0{{}Ah}000{ce{}{}}000{c{{Cl{e}}}{}{}}000`````{{}Dn}{{EnEn}E`}````{{{d{Dn}}{d{Bd}}{d{A`{h{Eb}}}}}{{n{jF`}}}}{{{d{Dl}}c}nDf}{{{d{Bd}}c}nDf}{{{d{c}}}e{}{}}0{c{{n{e}}}{}{}}0000000{{{d{c}}}Dj{}}000`9999``{{{d{b}}{h{f}}}{{n{jl}}}}{{{d{b}}}{{Af{b}}}}{{{d{b}}}{{n{Bdl}}}}{{{d{b}}}{{n{{Cb{Bn{Cd{f{Cb{C`Ab}}}}}}l}}}}{{{d{b}}ChCj}{{n{jl}}}}{{{d{b}}Ch}{{n{jl}}}}{{{d{b}}Cj}{{n{jl}}}}0{{{d{b}}{Db{Ch{D`{Cn}}}}{Dd{Ch}}}{{n{jl}}}}{{{d{A`b}}}j}{{{d{A`Dh}}}j}9````````````````````````````{{{d{c}}}{{d{e}}}{}{}}0{{{d{A`c}}}{{d{A`e}}}{}{}}0{Ah{{d{c}}}{}}0{Ah{{d{A`c}}}{}}0{Ahj}0{{{d{l}}{d{A`An}}}El}0{{{d{Fb}}{d{A`An}}}El}{Fdl}{Ffl}{Fhl}{Fjl}{Fll}{Fnl}{cc{}}0{{}Ah}0{ce{}{}}0{c{{Cl{e}}}{}{}}0{{{d{l}}}{{D`{{d{G`}}}}}}{{{d{c}}}Gb{}}{c{{n{e}}}{}{}}000{{{d{c}}}Dj{}}055```````{{{d{c}}}{{d{e}}}{}{}}00{{{d{A`c}}}{{d{A`e}}}{}{}}00{{{d{f}}}f}{{{d{Gd}}}Gd}{{{d{Gf}}}Gf}{{{d{c}}{d{A`e}}}j{}{}}00{{{d{c}}}j{}}000{{{d{f}}{d{f}}}Gh}{{{d{c}}{d{e}}}Gh{}{}}{{}Gd}{{}Gf}{Ah{{d{c}}}{}}00{Ah{{d{A`c}}}{}}00{c{{n{f}}}Aj}{{{d{Gf}}{d{{Ed{Eb}}}}}{{Ef{{d{{Ed{Eb}}}}fc}}}{{Eh{{d{{Ed{Eb}}}}}}{Ej{{d{{Ed{Eb}}}}}}}}{Ahj}00{{{d{f}}{d{f}}}Al}{{{d{c}}{d{e}}}Al{}{}}000{{{d{f}}{d{A`An}}}El}0{cc{}}00{Gjf}{{{d{c}}}c{}}00{{{d{Gl}}}{{n{fc}}}{}}{{}f}{{{d{c}}{d{e}}}Bf{BhBj}Bl}{{{d{f}}}Gj}{{{d{f}}{d{A`c}}}jCf}{{}Ah}00{ce{}{}}00{c{{Cl{e}}}{}{}}00{{}Gd}{{}Gf}{{{d{f}}{d{f}}}{{D`{Gh}}}}``{{{d{f}}c}nDf}{{{d{Gd}}{d{f}}{d{A`{h{Eb}}}}}{{n{jF`}}}}{{{d{c}}}e{}{}}00{{{d{c}}}Gb{}}{c{{n{e}}}{}{}}00000{{{d{c}}}Dj{}}00{{{d{f}}{d{Gn}}{d{H`}}}{{n{jl}}}};;;``````{{{d{c}}}{{d{e}}}{}{}}0{{{d{A`c}}}{{d{A`e}}}{}{}}0`{{{d{Hb}}}Hb}{{{d{Hd}}}Hd}{{{d{c}}{d{A`e}}}j{}{}}0{{{d{c}}}j{}}00```{Ah{{d{c}}}{}}0{Ah{{d{A`c}}}{}}0{c{{n{Hb}}}Aj}{c{{n{Hd}}}Aj}{Ahj}0``{{{d{Hb}}{d{A`An}}}El}{{{d{Hd}}{d{A`An}}}El}{cc{}}0{{{d{c}}}c{}}0`{{}Ah}0`{ce{}{}}0{c{{Cl{e}}}{}{}}0````````````````````````````````````````````````````````````````{{{d{c}}}e{}{}}0``{c{{n{e}}}{}{}}000{{{d{c}}}Dj{}}0``44","D":"BAh","p":[[10,"ProtocolController",307],[1,"reference"],[5,"PeerId",390],[5,"Vec",599],[1,"unit"],[6,"ProtocolError",321],[6,"Result",600],[0,"mut"],[6,"PeerConnectionType",0,601],[6,"TransportType",0,602],[5,"Box",603],[1,"usize"],[10,"Deserializer",604],[1,"bool"],[5,"Formatter",605],[5,"Error",605],[6,"TransportConfig",602],[5,"BootstrapPeers",209],[1,"u64"],[10,"Hash",606],[10,"Sized",607],[10,"BuildHasher",606],[5,"NetworkStats",608],[6,"SocketAddr",609],[1,"tuple"],[5,"HashMap",610],[10,"Hasher",606],[6,"BlockId",611],[5,"Storage",612],[5,"Request",613],[8,"SecuredHeader",614],[6,"Option",615],[8,"PreHashMap",616],[8,"PreHashSet",616],[10,"Serializer",617],[10,"ProtocolManager",307],[5,"TypeId",618],[5,"PeerData",209],[5,"BootstrapPeersSerializer",209],[5,"BootstrapPeersDeserializer",209],[1,"u8"],[1,"slice"],[8,"IResult",619],[10,"ParseError",620],[10,"ContextError",620],[8,"Result",605],[1,"u32"],[6,"SerializeError",621],[6,"NetworkConnectionErrorType",321],[6,"FactoryError",622],[6,"ModelsError",623],[5,"Error",624],[6,"TimeError",625],[6,"PosError",626],[5,"Error",627],[10,"Error",628],[5,"String",629],[5,"PeerIdSerializer",390],[5,"PeerIdDeserializer",390],[6,"Ordering",630],[6,"PublicKey",631],[1,"str"],[5,"Hash",632],[6,"Signature",631],[5,"PeerCategoryInfo",476],[5,"ProtocolConfig",476],[15,"OutdatedAnnouncedNetworkVersion",386],[15,"IncompatibleNetworkVersion",386]],"r":[[0,209],[1,209],[2,209],[18,476],[20,601],[21,209],[23,390],[24,390],[25,390],[27,476],[28,307],[29,321],[30,307],[36,602]],"b":[[359,"impl-Display-for-ProtocolError"],[360,"impl-Debug-for-ProtocolError"],[362,"impl-From%3CFactoryError%3E-for-ProtocolError"],[363,"impl-From%3CModelsError%3E-for-ProtocolError"],[364,"impl-From%3CError%3E-for-ProtocolError"],[365,"impl-From%3CTimeError%3E-for-ProtocolError"],[366,"impl-From%3CPosError%3E-for-ProtocolError"],[367,"impl-From%3CError%3E-for-ProtocolError"],[429,"impl-Display-for-PeerId"],[430,"impl-Debug-for-PeerId"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEsBQAAAAAAACAAAABEAAAATAAAAFQAAABgAAgAdAAAAIAAAACMAAAApAAAALgAFADUAAQA4AAUAPwAAAEIABgBKAAoAVgABAFoAAQBfAAAAYQACAGgAAwBuAAIAdwAAAHkAAACCAAIApQACAKkAAQCtAAEAswABALgAAAC+AAEAwgAGAMwAAQDWACoABQEFAA8BCAAaARoAQwEAAE8BAABTAQAAWQEBAF4BEgBzAQEAdwELAIcBHAClAQoAswELAMIBBwDLARIA3wEAAOMBAwDoAQYA8gEHAPwBAQAAAgEAAwIBAAgCAQASAgAAFAIAAB0CAgBEAgAASgIBAE4CBQBWAgEA"}],\ -["massa_protocol_worker",{"t":"CCCHCCCCCHCCCGPPSNNNNNNNNNNNNNNNNNHNHNNNNNNNOFNNNNNNNNNNNNNNNNNONNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNNNNNNNNCCCCFOONNCCCNNNNNNNNNCNNCCNNNNNNNNFIONNONNNNNNNNNNONNNNNNNNNNPGPPNNNNNNNNNNNNNNNNNNNNNNNNNNOOGPPNNNNNNNNNNNNNNNNNNNNNNNNNOOGGGGFFFPPPPPPPPPGPPPPPPPPNNNOOONNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNOOOOOOOOONNOOONNNNNNNNONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOFFSOONONNNNOONNNNNNNNNNNONNNNNNNNONNNONHOONNNNNNNNNNNNNNFFSNOOONOONNNNONNNNOONNNNNNNNONNNNNNNONNNNNNNNNOONONNNNNNOOOONNOOONNOOOHOONNNNNNNNNNNNNNNNFNNCCCNNNNOONNNNNCNNCCNNNNNNNNFINNONNNNONNNNNNNONNNNNNNNNNGPPNNNNNNNNNNNNNNNNNNNNNNNNNGPNNNNNNNNNNNNNNNNNNNGFFFPPGNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOOONNNNNNNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFSONNOONNNNONNNNNNNONHNNNNNNNFSNNNOONNNNONNONNNOHONONOONOHONNNNNNNFNNCCCNNNNNNNNNCNOONCCNNNNNNNNFINNOONNNNNNNNNNNONONNNNNNNNNGPPNNNNNNNNNNNNNNNNNNNNNNNNNGPNNNNNNNNNNNNNNNNNNNNNNNNNPPGGFFFPPPPNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOOOOOOOONNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFSOONNNOONNNNNNONNNOOONNNHONNNNNNNFFSOOONNNNNOONNNNNNNNNNNNOONNNNNNHNNOOOOONNOOONHONNNNNNNNNNNNNNNFFSNCOONNNNNNNONNNNNNNNNNNNNNNNNNNNNCCNNOOOOONNNONCOONNNNNNNNNNNNNOONNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNONNNNOOONNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPGPPGFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNOONNNNNOHOOONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPFPPPIFFFGIGIPSPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNNNNONOONNNNNNONNNNNONNNONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOSFNNNNNNNONNNNNNNNNNNNNNNHFNNONNNNNNNNNNNNNNNNNNNPPPPGGFFPPPPNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNOONNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSHFOONNOHNNNNOONNNNNOOONHNNNNNNNKKFNNMNNNNNMNMMMMMMMNMNNNNNNONMMMNMNMNNNNNNNNKMMMMMMMMMMMMMMMMMMM","n":["connectivity","context","controller","create_protocol_controller","handlers","ip","manager","messages","sig_verifier","start_protocol_controller","worker","wrap_network","wrap_peer_db","ConnectivityCommand","GetStats","Stop","THREAD_NAME","__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","start_connectivity_thread","to_owned","try_connect_peer","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","responder","Context","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","from","from_ref","get_peer_id","init","into","into_request","layout_raw","our_keypair","pointer_metadata","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","ProtocolControllerImpl","__clone_box","ban_peers","borrow","borrow_mut","clone","clone_box","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","from","from_ref","get_bootstrap_peers","get_stats","init","integrated_block","into","into_request","layout_raw","new","notify_block_attack","pointer_metadata","propagate_endorsements","propagate_operations","send_wishlist_delta","sender_block_handler","sender_block_retrieval_handler","sender_connectivity_thread","sender_endorsement_handler","sender_operation_handler","sender_peer_management_thread","stop","to_owned","try_from","try_into","type_id","unban_peers","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","block_handler","endorsement_handler","operation_handler","peer_handler","BlockHandler","block_propagation_thread","block_retrieval_thread","borrow","borrow_mut","cache","commands_propagation","commands_retrieval","deref","deref_mut","deserialize","drop","from","init","into","into_request","layout_raw","messages","new","pointer_metadata","propagation","retrieval","stop","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","BlockCache","SharedBlockCache","blocks_known_by_peer","borrow","borrow_mut","checked_headers","deref","deref_mut","deserialize","drop","from","init","insert_peer_known_block","into","into_request","layout_raw","max_known_blocks_by_peer","new","pointer_metadata","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","update_cache","vzip","AttackBlockDetected","BlockHandlerPropagationCommand","IntegratedBlock","Stop","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","fmt","from","from_ref","init","into","into_request","layout_raw","pointer_metadata","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","block_id","storage","BlockHandlerRetrievalCommand","Stop","WishlistDelta","__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","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","new","remove","AskForBlockInfo","BlockInfoReply","BlockInfoType","BlockMessage","BlockMessageDeserializer","BlockMessageDeserializerArgs","BlockMessageSerializer","DataRequest","DataRequest","DataResponse","DataResponse","Header","Header","Header","Header","Header","MessageTypeId","NotFound","NotFound","OperationIds","OperationIds","OperationIds","Operations","Operations","Operations","__clone_box","__clone_box","__clone_box","block_header_deserializer","block_id_deserializer","block_id_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","chain_id","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","default","default","deref","deref","deref","deref","deref","deref","deref","deref","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","drop","drop","drop","drop","drop","drop","drop","drop","endorsement_count","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","id_deserializer","id_serializer","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","last_start_period","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","length_serializer","max_datastore_value_length","max_denunciations_in_block_header","max_function_name_length","max_op_datastore_entry_count","max_op_datastore_key_length","max_op_datastore_value_length","max_operations_per_block","max_parameters_size","new","new","operation_id_serializer","operation_ids_deserializer","operations_deserializer","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","secure_share_serializer","serialize","thread_count","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_primitive","try_from_primitive","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","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_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","block_id","block_id","block_info","block_info","BlockPropagationData","PropagationThread","THREAD_NAME","_storage","active_connections","ban_peers","block_serializer","borrow","borrow","borrow_mut","borrow_mut","cache","config","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","fmt","from","from","header","init","init","into","into","into_request","into_request","layout_raw","layout_raw","peer_cmd_sender","perform_propagations","pointer_metadata","pointer_metadata","receiver","run","start_propagation_thread","stored_for_propagation","time_added","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","BlockInfo","RetrievalThread","THREAD_NAME","__clone_box","_announcement_sender","active_connections","asked_blocks","ban_peers","block_message_serializer","block_wishlist","borrow","borrow","borrow_mut","borrow_mut","cache","check_network_version_compatibility","clone","clone_into","clone_to_uninit","config","consensus_controller","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","endorsement_cache","fmt","from","from","from_ref","fully_gathered_block","gather_missing_block_ops","get_total_operations_size","header","init","init","into","into","into_request","into_request","layout_raw","layout_raw","mark_block_as_invalid","massa_metrics","mip_store","new","next_timer_ask_block","note_header_from_peer","on_ask_for_block_info_received","on_block_full_operations_received","on_block_header_received","on_block_info_received","on_block_operation_list_received","operation_cache","operation_id_serializer","operation_ids","peer_cmd_sender","pointer_metadata","pointer_metadata","pool_controller","receiver","receiver_network","remove_asked_blocks","run","selector_controller","sender_propagation_endorsements","sender_propagation_ops","start_retrieval_thread","storage","storage","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_block_retrieval","vzip","vzip","EndorsementHandler","borrow","borrow_mut","cache","commands_propagation","commands_retrieval","deref","deref_mut","deserialize","drop","endorsement_propagation_thread","endorsement_retrieval_thread","from","init","into","into_request","layout_raw","messages","new","pointer_metadata","propagation","retrieval","stop","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","EndorsementCache","SharedEndorsementCache","borrow","borrow_mut","checked_endorsements","deref","deref_mut","deserialize","drop","endorsements_known_by_peer","from","init","insert_checked_endorsement","insert_peer_known_endorsements","into","into_request","layout_raw","max_known_endorsements_by_peer","new","pointer_metadata","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","update_cache","vzip","EndorsementHandlerPropagationCommand","PropagateEndorsements","Stop","__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","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","EndorsementHandlerRetrievalCommand","Stop","borrow","borrow_mut","deref","deref_mut","deserialize","drop","from","init","into","into_request","layout_raw","pointer_metadata","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","EndorsementMessage","EndorsementMessageDeserializer","EndorsementMessageDeserializerArgs","EndorsementMessageSerializer","Endorsements","Endorsements","MessageTypeId","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_id","clone","clone_into","clone_to_uninit","default","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","endorsement_count","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from","from","from","from_ref","id_deserializer","id_serializer","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","length_endorsements_deserializer","length_endorsements_serializer","max_length_endorsements","new","new","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","secure_share_deserializer","secure_share_serializer","serialize","thread_count","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","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","PropagationThread","THREAD_NAME","active_connections","borrow","borrow_mut","cache","config","deref","deref_mut","deserialize","drop","endorsement_serializer","from","init","into","into_request","layout_raw","pointer_metadata","propagate_endorsements","receiver","run","start_propagation_thread","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","RetrievalThread","THREAD_NAME","ban_peer","borrow","borrow_mut","cache","config","deref","deref_mut","deserialize","drop","endorsement_message_deserializer","from","init","internal_sender","into","into_request","layout_raw","metrics","note_endorsements_from_peer","peer_cmd_sender","pointer_metadata","pool_controller","process_message","receiver","receiver_ext","run","selector_controller","start_retrieval_thread","storage","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","OperationHandler","borrow","borrow_mut","cache","commands_propagation","commands_retrieval","deref","deref_mut","deserialize","drop","from","init","into","into_request","layout_raw","messages","new","operation_propagation_thread","operation_retrieval_thread","pointer_metadata","propagation","retrieval","stop","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","OperationCache","SharedOperationCache","borrow","borrow_mut","checked_operations","checked_operations_prefix","deref","deref_mut","deserialize","drop","from","init","insert_checked_operation","insert_peer_known_ops","into","into_request","layout_raw","max_known_ops_by_peer","new","ops_known_by_peer","pointer_metadata","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","update_cache","vzip","OperationHandlerPropagationCommand","PropagateOperations","Stop","__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","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","OperationHandlerRetrievalCommand","Stop","__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","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","AskForOperations","AskForOperations","MessageTypeId","OperationMessage","OperationMessageDeserializer","OperationMessageDeserializerArgs","OperationMessageSerializer","Operations","Operations","OperationsAnnouncement","OperationsAnnouncement","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_id","clone","clone_into","clone_to_uninit","default","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","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from","from","from","from_ref","id_deserializer","id_serializer","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","max_datastore_value_length","max_function_name_length","max_op_datastore_entry_count","max_op_datastore_key_length","max_op_datastore_value_length","max_operations","max_operations_prefix_ids","max_parameters_size","new","new","operation_prefix_ids_deserializer","operation_prefix_ids_serializer","operations_deserializer","operations_serializer","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","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","PropagationThread","THREAD_NAME","_massa_metrics","active_connections","announce_ops","borrow","borrow_mut","cache","config","deref","deref_mut","deserialize","drop","from","init","internal_receiver","into","into_request","layout_raw","next_batch","op_storage","operation_message_serializer","pointer_metadata","prune_propagation_storage","run","start_propagation_thread","stored_for_propagation","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","OperationBatchItem","RetrievalThread","THREAD_NAME","_massa_metrics","active_connections","asked_operations","ban_node","borrow","borrow","borrow_mut","borrow_mut","cache","config","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","from","from","init","init","instant","internal_sender","into","into","into_request","into_request","layout_raw","layout_raw","note_operations_from_peer","on_asked_operations_received","on_operations_announcements_received","op_batch_buffer","operation_message_serializer","operations_prefix_ids","peer_cmd_sender","peer_id","pointer_metadata","pointer_metadata","pool_controller","receiver","receiver_ext","run","start_retrieval_thread","storage","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_ask_operation","vzip","vzip","MassaHandshake","PeerManagementHandler","THREAD_NAME","__clone_box","announcement","announcement_deserializer","announcement_serializer","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","config","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","fallback_function","from","from","from_ref","handshake_fail","init","init","into","into","into_request","into_request","layout_raw","layout_raw","messages","models","new","new","peer_db","peer_db","peer_id_deserializer","peer_id_serializer","peer_mngt_msg_serializer","perform_handshake","pointer_metadata","pointer_metadata","sender","stop","tester","testers","thread_join","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","version_deserializer","version_serializer","vzip","vzip","Announcement","AnnouncementDeserializer","AnnouncementDeserializerArgs","AnnouncementSerializer","__clone_box","__clone_box","__clone_box","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","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","from","from","from","from","from_ref","from_ref","from_ref","hash","init","init","init","init","into","into","into","into","into_request","into_request","into_request","into_request","ip_addr_deserializer","layout_raw","layout_raw","layout_raw","layout_raw","length_listeners_deserializer","listeners","max_listeners","new","new","new","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","serialize","serialized","signature","timestamp","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","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_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","vzip","vzip","vzip","vzip","ListPeers","ListPeers","MessageTypeId","NewPeerConnected","NewPeerConnected","PeerManagementMessage","PeerManagementMessageDeserializer","PeerManagementMessageDeserializerArgs","PeerManagementMessageSerializer","__clone_box","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","default","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","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from","from","from","from_ref","from_ref","id_deserializer","id_serializer","init","init","init","init","init","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","ip_addr_deserializer","ip_addr_serializer","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","length_serializer","listener_deserializer","listeners_length_deserializer","max_listeners_per_peer","max_peers_per_announcement","new","new","peer_id_deserializer","peer_id_serializer","peers_length_deserializer","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","serialize","to_owned","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","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","Ban","Banned","ConnectionMetadata","GetBootstrapPeers","HandshakeFailed","InHandshake","InitialPeers","PeerDB","PeerInfo","PeerManagementChannel","PeerManagementCmd","PeerMessageTuple","PeerState","SharedPeerDB","Stop","THREE_DAYS_MS","Trusted","Unban","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","ban_peer","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_box","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","cmp","command_sender","compare","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","edit","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","failure","fmt","fmt","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","get_banned_peer_count","get_connection_metadata_or_default","get_known_peer_count","get_oldest_peer","get_peers","get_peers_in_test","get_peers_mut","get_rand_peers_to_send","get_tested_addresses","init","init","init","init","init","init","insert_peer_in_test","insert_tested_address","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","last_announce","last_failure","last_success","last_test_failure","last_test_success","last_try_connect","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","msg_sender","partial_cmp","peers","peers_in_test","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","random_priority","remove_peer_in_test","set_try_connect_failure_or_insert","set_try_connect_success_or_insert","set_try_connect_test_failure_or_insert","set_try_connect_test_success_or_insert","state","success","test_failure","test_success","tested_addresses","to_owned","to_owned","to_owned","to_owned","to_owned","try_connect","try_connect_history","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","unban_peer","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","responder","THREAD_NAME","Tester","borrow","borrow_mut","deref","deref_mut","deserialize","drop","from","handler","init","into","into_request","layout_raw","new","pointer_metadata","run","tcp_handshake","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","to_canonical","ProtocolManagerImpl","borrow","borrow_mut","connectivity_thread","deref","deref_mut","deserialize","drop","from","init","into","into_request","layout_raw","new","pointer_metadata","stop","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","Block","Block","Endorsement","Endorsement","Message","MessageTypeId","MessagesHandler","MessagesSerializer","Operation","Operation","PeerManagement","PeerManagement","__clone_box","__clone_box","block_message_serializer","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","endorsement_message_serializer","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from","from","from","from","from","from","from_ref","from_ref","handle","id_deserializer","id_serializer","init","init","init","init","into","into","into","into","into_request","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","layout_raw","new","operation_message_serializer","peer_management_message_serializer","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","sender_blocks","sender_endorsements","sender_operations","sender_peers","serialize","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","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_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","vzip","vzip","vzip","vzip","with_block_message_serializer","with_endorsement_message_serializer","with_operation_message_serializer","with_peer_management_message_serializer","SMALL_BATCH_LIMIT","verify_sigs_batch","ProtocolChannels","block_handler_propagation","block_handler_retrieval","borrow","borrow_mut","connectivity_thread","create_protocol_controller","deref","deref_mut","deserialize","drop","endorsement_handler_propagation","endorsement_handler_retrieval","from","init","into","into_request","layout_raw","operation_handler_propagation","operation_handler_retrieval","peer_management_handler","pointer_metadata","start_protocol_controller","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","ActiveConnectionsTrait","NetworkController","NetworkControllerImpl","borrow","borrow_mut","clone_box","deref","deref_mut","deserialize","drop","from","get_active_connections","get_active_connections","get_nb_in_connections","get_nb_out_connections","get_peer_ids_connected","get_peer_ids_out_connection_queue","get_peers_connected","get_peers_connections_bandwidth","get_total_bytes_received","get_total_bytes_received","get_total_bytes_sent","get_total_bytes_sent","init","into","into_request","layout_raw","new","peernet_manager","pointer_metadata","send_to_peer","shutdown_connection","start_listener","start_listener","stop_listener","stop_listener","try_connect","try_connect","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","PeerDBTrait","ban_peer","clone_box","get_banned_peer_count","get_connection_metadata_or_default","get_known_peer_count","get_oldest_peer","get_peers","get_peers_in_test","get_peers_mut","get_rand_peers_to_send","get_tested_addresses","insert_peer_in_test","insert_tested_address","remove_peer_in_test","set_try_connect_failure_or_insert","set_try_connect_success_or_insert","set_try_connect_test_failure_or_insert","set_try_connect_test_success_or_insert","unban_peer"],"q":[[0,"massa_protocol_worker"],[13,"massa_protocol_worker::connectivity"],[44,"massa_protocol_worker::connectivity::ConnectivityCommand"],[45,"massa_protocol_worker::context"],[73,"massa_protocol_worker::controller"],[117,"massa_protocol_worker::handlers"],[121,"massa_protocol_worker::handlers::block_handler"],[151,"massa_protocol_worker::handlers::block_handler::cache"],[178,"massa_protocol_worker::handlers::block_handler::commands_propagation"],[208,"massa_protocol_worker::handlers::block_handler::commands_propagation::BlockHandlerPropagationCommand"],[210,"massa_protocol_worker::handlers::block_handler::commands_retrieval"],[238,"massa_protocol_worker::handlers::block_handler::commands_retrieval::BlockHandlerRetrievalCommand"],[240,"massa_protocol_worker::handlers::block_handler::messages"],[494,"massa_protocol_worker::handlers::block_handler::messages::BlockMessage"],[498,"massa_protocol_worker::handlers::block_handler::propagation"],[554,"massa_protocol_worker::handlers::block_handler::retrieval"],[644,"massa_protocol_worker::handlers::endorsement_handler"],[674,"massa_protocol_worker::handlers::endorsement_handler::cache"],[702,"massa_protocol_worker::handlers::endorsement_handler::commands_propagation"],[730,"massa_protocol_worker::handlers::endorsement_handler::commands_retrieval"],[751,"massa_protocol_worker::handlers::endorsement_handler::messages"],[893,"massa_protocol_worker::handlers::endorsement_handler::propagation"],[922,"massa_protocol_worker::handlers::endorsement_handler::retrieval"],[959,"massa_protocol_worker::handlers::operation_handler"],[989,"massa_protocol_worker::handlers::operation_handler::cache"],[1018,"massa_protocol_worker::handlers::operation_handler::commands_propagation"],[1046,"massa_protocol_worker::handlers::operation_handler::commands_retrieval"],[1073,"massa_protocol_worker::handlers::operation_handler::messages"],[1217,"massa_protocol_worker::handlers::operation_handler::propagation"],[1251,"massa_protocol_worker::handlers::operation_handler::retrieval"],[1315,"massa_protocol_worker::handlers::peer_handler"],[1385,"massa_protocol_worker::handlers::peer_handler::announcement"],[1504,"massa_protocol_worker::handlers::peer_handler::messages"],[1649,"massa_protocol_worker::handlers::peer_handler::models"],[1871,"massa_protocol_worker::handlers::peer_handler::models::PeerManagementCmd"],[1872,"massa_protocol_worker::handlers::peer_handler::tester"],[1897,"massa_protocol_worker::ip"],[1898,"massa_protocol_worker::manager"],[1921,"massa_protocol_worker::messages"],[2055,"massa_protocol_worker::sig_verifier"],[2057,"massa_protocol_worker::worker"],[2087,"massa_protocol_worker::wrap_network"],[2132,"massa_protocol_worker::wrap_peer_db"],[2152,"massa_protocol_exports::settings"],[2153,"massa_protocol_exports::controller_trait"],[2154,"alloc::boxed"],[2155,"massa_pos_exports::controller_traits"],[2156,"massa_consensus_exports::controller_trait"],[2157,"massa_protocol_exports::bootstrap_peers"],[2158,"core::option"],[2159,"massa_pool_exports::controller_traits"],[2160,"massa_storage"],[2161,"massa_versioning::versioning"],[2162,"massa_metrics"],[2163,"massa_signature::signature_impl"],[2164,"massa_models::node"],[2165,"massa_protocol_exports::error"],[2166,"core::result"],[2167,"dyn_clone::sealed"],[2168,"rkyv::with"],[2169,"tonic::request"],[2170,"core::alloc::layout"],[2171,"massa_protocol_exports::peer_id"],[2172,"alloc::vec"],[2173,"massa_channel::sender"],[2174,"massa_channel::receiver"],[2175,"core::net::socket_addr"],[2176,"peernet::transports"],[2177,"std::collections::hash::map"],[2178,"parking_lot::rwlock"],[2179,"alloc::sync"],[2180,"alloc::string"],[2181,"core::net::ip_addr"],[2182,"std::thread"],[2183,"core::any"],[2184,"massa_models::stats"],[2185,"peernet::peer"],[2186,"massa_models::block_id"],[2187,"massa_models::block_header"],[2188,"massa_models::prehash"],[2189,"std::collections::hash::set"],[2190,"core::fmt"],[2191,"nom::internal"],[2192,"nom::error"],[2193,"massa_serialization"],[2194,"num_enum"],[2195,"massa_models::operation"],[2196,"massa_models::endorsement"],[2197,"peernet::transports::endpoint"],[2198,"peernet::error"],[2199,"massa_models::serialization"],[2200,"core::cmp"],[2201,"massa_time"],[2202,"core::time"],[2203,"massa_models::version"],[2204,"massa_hash::hash"],[2205,"peernet::network_manager"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,23,0,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,0,23,0,23,23,23,23,23,23,23,147,0,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,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,49,49,49,49,49,49,49,49,0,0,0,0,0,65,65,65,65,0,0,0,65,65,65,65,65,65,65,65,65,0,65,65,0,0,65,65,65,65,65,65,65,65,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,54,0,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,148,148,0,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,149,149,0,0,0,0,0,0,0,76,80,76,80,72,73,76,80,81,0,73,81,72,73,81,72,73,81,72,73,74,75,75,74,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,82,72,73,74,72,73,74,72,73,74,72,74,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,75,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,82,72,80,81,72,72,72,72,72,72,80,80,80,80,80,80,81,81,81,81,81,81,72,73,76,80,81,75,82,72,73,76,80,80,81,74,72,73,74,75,74,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,82,75,82,72,73,76,80,81,74,74,82,82,82,82,82,82,82,82,75,74,74,75,75,75,82,72,73,76,80,81,74,74,74,82,72,73,74,75,82,72,73,76,80,80,81,81,74,80,81,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,150,151,150,151,0,0,0,87,86,86,86,86,87,86,87,86,86,86,87,86,87,86,87,86,87,87,86,87,87,86,87,86,87,86,87,86,87,86,86,86,87,86,86,0,86,87,86,87,86,87,86,87,86,87,86,87,86,87,86,87,0,0,0,89,88,88,88,88,88,88,88,89,88,89,88,88,89,89,89,88,88,88,89,88,89,88,89,88,89,88,89,88,89,89,88,88,88,89,88,89,88,89,88,89,88,89,88,88,88,89,88,88,88,88,88,88,88,88,88,89,88,88,89,88,88,88,88,88,88,88,88,0,88,89,89,88,89,88,89,88,89,88,89,88,89,88,89,88,88,89,0,93,93,0,0,0,93,93,93,93,93,93,93,93,93,93,93,0,93,93,0,0,93,93,93,93,93,93,93,93,0,0,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,0,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,0,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,0,0,0,0,97,98,0,95,99,96,97,98,95,99,96,97,98,95,99,95,95,95,95,99,96,97,98,95,99,96,97,98,95,99,96,96,97,98,95,99,96,97,98,95,99,97,98,97,97,97,97,97,97,98,98,98,98,98,98,97,98,99,96,97,98,98,95,95,96,95,99,96,97,98,95,99,96,97,98,95,99,96,97,98,95,99,96,97,98,95,96,95,99,96,95,99,96,97,98,95,96,95,95,99,95,99,96,97,98,98,95,98,99,96,97,98,95,99,96,97,98,95,99,96,97,98,95,99,96,97,98,95,99,96,97,98,95,99,96,97,98,95,0,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,0,100,100,100,100,100,100,100,0,0,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,0,101,101,101,101,101,101,101,101,0,101,101,101,101,101,101,101,101,0,104,104,0,0,0,104,104,104,104,104,104,104,104,104,0,104,104,104,104,0,0,104,104,104,104,104,104,104,104,0,0,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,0,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,108,109,0,0,0,0,0,108,109,108,109,106,107,110,108,109,106,107,110,108,109,106,110,106,106,106,106,107,110,108,109,106,107,110,108,109,106,107,107,110,108,109,106,107,110,108,109,106,109,109,109,109,109,109,109,108,109,107,110,108,109,109,106,106,107,106,107,110,108,109,106,107,110,108,109,106,107,110,108,109,106,107,110,108,109,106,110,110,110,110,110,110,110,110,107,106,107,106,107,106,107,110,108,109,106,106,106,107,110,108,109,109,106,109,107,110,108,109,106,107,110,108,109,106,107,110,108,109,106,107,110,108,109,106,107,110,108,109,106,107,110,108,109,106,0,0,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,0,111,111,111,111,111,111,111,111,0,0,0,112,112,112,112,152,112,152,112,112,112,152,112,152,112,152,112,152,112,152,112,152,112,152,112,152,112,152,112,152,112,0,112,112,112,112,152,112,152,152,112,112,112,112,112,0,112,152,112,152,112,152,112,152,112,152,112,152,112,112,152,112,0,0,0,114,0,114,114,117,114,117,114,114,114,114,114,117,114,117,114,117,114,117,114,114,117,114,114,114,117,114,117,114,117,114,117,114,0,0,117,114,117,114,114,114,114,114,117,114,117,117,0,117,117,114,117,114,117,114,117,114,117,114,117,114,117,114,114,114,117,114,0,0,0,0,118,119,120,121,118,119,120,121,118,119,120,118,119,120,118,119,120,118,119,120,121,118,119,120,121,118,119,120,121,118,119,120,120,121,118,119,120,118,118,118,118,118,118,118,118,121,118,119,120,118,119,120,118,121,118,119,120,121,118,119,120,121,118,119,120,120,121,118,119,120,120,118,121,118,119,120,121,118,119,120,119,118,118,118,118,119,120,121,118,119,120,121,118,119,120,121,118,119,120,121,118,119,120,121,118,119,120,121,118,119,120,121,118,119,120,122,125,0,122,125,0,0,0,0,122,123,124,127,122,125,123,124,127,122,125,123,122,123,122,123,122,123,123,124,127,122,125,123,124,127,122,125,123,124,124,127,122,125,123,124,127,122,125,123,125,125,125,125,125,125,125,122,125,124,127,122,125,125,123,122,123,124,123,124,127,122,125,123,124,127,122,125,123,124,127,122,125,123,124,123,124,127,122,125,123,123,0,124,127,127,124,123,124,123,124,124,127,122,125,123,123,122,123,124,127,122,125,125,123,125,124,127,122,125,123,124,127,122,125,123,124,127,122,125,123,124,127,122,125,123,124,127,122,125,123,124,127,122,125,123,57,131,0,57,131,131,0,0,0,0,0,0,0,0,57,0,131,57,129,128,130,131,57,128,153,129,128,130,131,57,153,129,128,130,131,57,129,128,130,131,57,128,129,128,130,131,57,129,128,130,131,57,129,153,129,129,128,153,129,128,130,131,57,153,129,128,130,131,57,153,129,128,130,131,57,153,129,128,130,131,57,129,129,131,129,129,129,129,129,129,131,131,131,131,131,131,129,130,131,153,129,128,130,131,57,129,128,130,131,57,128,128,128,128,128,128,128,128,128,153,129,128,130,131,57,128,128,153,129,128,130,131,57,153,129,128,130,131,57,130,129,129,129,129,129,153,129,128,130,131,57,153,129,128,128,153,129,128,130,131,57,129,128,128,128,128,128,130,129,129,129,128,129,128,130,131,57,129,128,153,129,128,130,131,57,153,129,128,130,131,57,153,129,128,130,131,57,128,153,129,128,130,131,57,153,129,128,130,131,57,153,129,128,130,131,57,153,129,128,130,131,57,154,0,0,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,0,0,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,141,140,141,140,0,0,0,0,141,140,141,140,139,41,139,141,140,139,41,141,140,139,41,139,41,139,41,139,41,139,141,140,139,41,141,140,139,41,141,140,139,41,141,140,139,41,139,140,140,140,140,140,140,140,141,140,141,141,141,141,141,140,140,139,41,139,41,41,41,139,141,140,139,41,141,140,139,41,141,140,139,41,141,140,139,41,139,139,139,141,140,139,41,41,41,41,41,139,139,41,141,140,140,139,41,140,141,140,139,41,141,140,139,41,141,140,139,41,141,140,139,41,141,140,139,41,141,140,139,41,139,139,139,139,0,0,0,4,4,4,4,4,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,4,4,4,4,4,4,4,0,0,0,145,145,61,145,145,145,145,145,30,145,61,61,61,61,61,61,30,145,30,145,145,145,145,145,145,145,145,61,61,30,145,30,145,30,145,145,145,145,145,145,145,145,0,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38],"f":"```{b{{j{{f{d}}h}}}}`````{{b{f{l}}{f{n}}{Ab{A`}}{f{Ad}}AfhAhAj}{{Bd{{j{{f{Al}}AnB`}}Bb}}}}```````{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{Bn}}}Bn}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{{Bf{c}}}c{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{Bf}{{Cj{f{l}}{f{Cl}}{f{n}}{f{Ad}}{j{{Db{{j{Cj{D`{Cn}}}}}}{Dd{{j{Cj{D`{Cn}}}}}}}}{j{{Db{{j{Cj{D`{Cn}}}}}}{Dd{{j{Cj{D`{Cn}}}}}}}}{j{{Db{{j{Cj{D`{Cn}}}}}}{Dd{{j{Cj{D`{Cn}}}}}}}}{j{{Db{{j{Cj{D`{Cn}}}}}}{Dd{{j{Cj{D`{Cn}}}}}}}}{Dj{Cj{Dj{DfDh}}}}{E`{{Dn{Dl}}}}AfhEb{Dj{Ed{j{{D`{Ef}}Eh}}}}EhbAhAj}{{Bd{{j{{Db{Bn}}{Ej{Bj}}}}Bb}}}}{{{Bf{c}}}e{}{}}{{Df{Bf{Bl{f{Cl}}}}{Bf{{E`{{Dn{Dl}}}}}}{Bf{b}}}{{Bd{BjBb}}}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}};``{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{F`}}}F`}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{{Bf{c}}}c{}}{{{Bf{F`}}}Cj}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}`{Bf}{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}9`{{{Bf{c}}Bh}Bj{}}{{{Bf{Fb}}{D`{Cj}}}{{Bd{BjBb}}}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{Fb}}}Fb}{{{Bf{Fb}}}{{f{d}}}}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{{Bf{c}}}c{}}{{{Bf{Fb}}}{{Bd{A`Bb}}}}{{{Bf{Fb}}}{{Bd{{j{Fd{Dj{Cj{j{DfFf}}}}}}Bb}}}}{{}C`}{{{Bf{Fb}}FhAf}{{Bd{BjBb}}}}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{{{Db{Fj}}{Db{Fl}}{Db{Fn}}{Db{G`}}{Db{Bn}}{Db{Gb}}}Fb}{{{Bf{Fb}}Fh}{{Bd{BjBb}}}}{Bf}{{{Bf{Fb}}Af}{{Bd{BjBb}}}}0{{{Bf{Fb}}{Gf{Fh{Ab{Gd}}}}{Gh{Fh}}}{{Bd{BjBb}}}}``````{{{Bf{BlFb}}}Bj}{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{Bf{Fb}}{D`{Cj}}}{{Bd{BjBb}}}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}?```````{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}```{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}`{{{f{Gj}}{f{l}}{f{n}}{f{Ad}}{Dd{{j{Cj{D`{Cn}}}}}}{Db{Fj}}{Dd{Fj}}{Dd{Fl}}{Db{Fl}}{Db{Fn}}{Db{G`}}{Db{Gb}}b{E`{{Dn{Gl}}}}{E`{{Dn{Gn}}}}{E`{{Dn{H`}}}}AfAhAj}Hb}{Bf}``{{{Bf{BlHb}}}Bj}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}:```{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}`{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{}C`}{{{Bf{BlH`}}{Bf{Cj}}{Bf{{Hd{Fh}}}}Hf}Bj}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}`{{HhHh}H`}{Bf}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}{{{Bf{BlH`}}{Bf{{Hj{Cj}}}}}Bj}:````{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{Fl}}}Fl}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{{{Bf{Fl}}{Bf{BlHl}}}Hn}{cc{}}{{{Bf{c}}}c{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{Bf}{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}9`````{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{Fj}}}Fj}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{{Bf{c}}}c{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{Bf}{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}9```````````````````````````{{{Bf{c}}Bh}Bj{}}00```{{{Bf{c}}}{{Bf{e}}}{}{}}0000000{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}0000000`{{{Bf{I`}}}I`}{{{Bf{Ib}}}Ib}{{{Bf{Id}}}Id}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}00{{{Bf{c}}}Bj{}}00{{}I`}{{}Id}{C`{{Bf{c}}}{}}0000000{C`{{Bf{Blc}}}{}}0000000{{{Bf{If}}{Bf{{Hd{Cn}}}}}{{Ij{{Bf{{Hd{Cn}}}}Ihc}}}{{Il{{Bf{{Hd{Cn}}}}}}{In{{Bf{{Hd{Cn}}}}}}}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}0000000{C`Bj}0000000`{{{Bf{I`}}{Bf{I`}}}Hf}{{{Bf{J`}}{Bf{J`}}}Hf}{{{Bf{Jb}}{Bf{Jb}}}Hf}{{{Bf{c}}{Bf{e}}}Hf{}{}}00000000000000000{{{Bf{I`}}{Bf{BlHl}}}Hn}{{{Bf{Ib}}{Bf{BlHl}}}Hn}{{{Bf{Ih}}{Bf{BlHl}}}Hn}{{{Bf{J`}}{Bf{BlHl}}}Hn}{{{Bf{Jb}}{Bf{BlHl}}}Hn}{cc{}}0000{{{Bf{Ih}}}J`}111{{{Bf{c}}}c{}}00``{{}C`}0000000{ce{}{}}0000000{c{{Cd{e}}}{}{}}0000000`{{}{{Bd{CfCh}}}}0000000`````````{JdIf}{{}Id}```{Bf}0000000`{{{Bf{Id}}{Bf{Ih}}{Bf{Bl{D`{Cn}}}}}{{Bd{BjJf}}}}`{{{Bf{c}}}e{}{}}00{c{{Bd{e}}}{}{}}00000{Jh{{Bd{J`{Jj{J`}}}}}}1{Jh{{Bd{Jb{Jj{Jb}}}}}}2{c{{Bd{J`{Jj{J`}}}}}{}}{c{{Bd{Jb{Jj{Jb}}}}}{}}44444444{{{Bf{c}}}El{}}0000000{{{f{c}}}{{f{En}}}{}}0000000{{{Bf{Blc}}}{{Bf{BlEn}}}{}}0000000{{{Bf{c}}}{{Bf{En}}}{}}0000000{ce{}{}}0000000`````````{{{Bf{BlJl}}{Bf{{Hd{Cj}}}}}Bj}`{{{Bf{c}}}{{Bf{e}}}{}{}}0{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}0``{C`{{Bf{c}}}{}}0{C`{{Bf{Blc}}}{}}0{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}0{C`Bj}0{{{Bf{Jn}}{Bf{BlHl}}}Hn}{cc{}}0`{{}C`}0::{c{{Cd{e}}}{}{}}0{{}{{Bd{CfCh}}}}0`{{{Bf{BlJl}}}Bj}{Bf}0`1{{{f{Gj}}{Dd{Fl}}{Db{Gb}}b{E`{{Dn{H`}}}}}{{Ej{Bj}}}}``{c{{Bd{e}}}{}{}}000{{{Bf{c}}}El{}}0{{{f{c}}}{{f{En}}}{}}0{{{Bf{Blc}}}{{Bf{BlEn}}}{}}0{{{Bf{c}}}{{Bf{En}}}{}}0{ce{}{}}0```{{{Bf{c}}Bh}Bj{}}```{{{Bf{BlK`}}{Bf{{Hd{Cj}}}}}{{Bd{BjBb}}}}``{{{Bf{c}}}{{Bf{e}}}{}{}}0{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}0`{{{Bf{K`}}{Bf{Gd}}}{{Bd{BjBb}}}}{{{Bf{Kb}}}Kb}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}``{C`{{Bf{c}}}{}}0{C`{{Bf{Blc}}}{}}0{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}0{C`Bj}0`{{{Bf{Kb}}{Bf{BlHl}}}Hn}{cc{}}0{{{Bf{c}}}c{}}{{{Bf{BlK`}}{Bf{Fh}}}Bj}{{{Bf{BlK`}}{Bf{Fh}}}{{Ab{{D`{Kd}}}}}}{{{Bf{Af}}{Bf{{Hd{Kd}}}}}C`}`{{}C`}0{ce{}{}}0{c{{Cd{e}}}{}{}}0{{}{{Bd{CfCh}}}}06``{{{Ab{Gd}}Af}Kb}`{{{Bf{BlK`}}{Bf{Gd}}{Bf{Cj}}}{{Bd{HfBb}}}}{{{Bf{BlK`}}CjFhI`}Bj}{{{Bf{BlK`}}CjFh{D`{Kf}}}Bj}{{{Bf{BlK`}}CjGd}Bj}{{{Bf{BlK`}}CjFhIb}Bj}{{{Bf{BlK`}}CjFh{D`{Kd}}}Bj}````{Bf}0```{{{Bf{BlK`}}{Bf{{Gh{Fh}}}}}Bj}{{{Bf{BlK`}}}Bj}```{{{f{Gj}}{f{l}}{f{n}}{f{Ad}}{Dd{{j{Cj{D`{Cn}}}}}}{Dd{Fj}}{Db{Fl}}{Db{Fn}}{Db{G`}}{Db{Gb}}b{E`{{Dn{Gl}}}}{E`{{Dn{Gn}}}}{E`{{Dn{H`}}}}AfAhAj}{{Ej{Bj}}}}``{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}000{{{Bf{c}}}El{}}0{{{f{c}}}{{f{En}}}{}}0{{{Bf{Blc}}}{{Bf{BlEn}}}{}}0{{{Bf{c}}}{{Bf{En}}}{}}07{ce{}{}}0`{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}```{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}``{cc{}}{{}C`}8{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}`{{{f{Ad}}{f{l}}{E`{{Dn{Gl}}}}Afb{f{Gj}}{Dd{{j{Cj{D`{Cn}}}}}}{Db{Kh}}{Dd{Kh}}{Db{G`}}{Dd{G`}}{Db{Gb}}Aj}Kj}{Bf}``{{{Bf{BlKj}}}Bj}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}{ce{}{}}``{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}`{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}`{cc{}}{{}C`}{{{Bf{BlGl}}Kl}Bj}{{{Bf{BlGl}}{Bf{Cj}}{Bf{{Hd{Kl}}}}}Bj}:{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}`{{HhHh}Gl}{Bf}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}{{{Bf{BlGl}}{Bf{{Hj{Cj}}}}}Bj}{ce{}{}}```{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{G`}}}G`}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{{Bf{c}}}c{}}{{}C`}={c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{Bf}{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}{ce{}{}}``{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{}C`}8{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{Bf}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}{ce{}{}}```````{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}0000{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}0000`{{{Bf{Kn}}}Kn}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{{}Kn}{C`{{Bf{c}}}{}}0000{C`{{Bf{Blc}}}{}}0000{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}0{{{Bf{L`}}{Bf{{Hd{Cn}}}}}{{Ij{{Bf{{Hd{Cn}}}}Lbc}}}{{Il{{Bf{{Hd{Cn}}}}}}{In{{Bf{{Hd{Cn}}}}}}}}111{C`Bj}0000`{{{Bf{Lb}}{Bf{Lb}}}Hf}{{{Bf{Ld}}{Bf{Ld}}}Hf}{{{Bf{c}}{Bf{e}}}Hf{}{}}00000000000{{{Bf{Lb}}{Bf{BlHl}}}Hn}{{{Bf{Ld}}{Bf{BlHl}}}Hn}{cc{}}00{{{Bf{Lb}}}Ld}11{{{Bf{c}}}c{}}``{{}C`}0000{ce{}{}}0000{c{{Cd{e}}}{}{}}0000{{}{{Bd{CfCh}}}}0000```{LfL`}{{}Kn}{Bf}0000``{{{Bf{Kn}}{Bf{Lb}}{Bf{Bl{D`{Cn}}}}}{{Bd{BjJf}}}}`{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}00{Jh{{Bd{Ld{Jj{Ld}}}}}}11{c{{Bd{Ld{Jj{Ld}}}}}{}}22222{{{Bf{c}}}El{}}0000{{{f{c}}}{{f{En}}}{}}0000{{{Bf{Blc}}}{{Bf{BlEn}}}{}}0000{{{Bf{c}}}{{Bf{En}}}{}}0000>>>>>```{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}``{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}`{cc{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{Bf}{{{Bf{BlLh}}Af}Bj}`{{{Bf{BlLh}}}Bj}{{{Dd{G`}}{E`{{Dn{Gl}}}}b{f{Gj}}}{{Ej{Bj}}}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}};``{{{Bf{BlLj}}{Bf{Cj}}}{{Bd{BjBb}}}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}``{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}`{cc{}}{{}C`}`{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}`{{{D`{Ll}}{Bf{Cj}}{Bf{{E`{{Dn{Gl}}}}}}{Bf{l}}{Bf{Af}}{Bf{b}}{Bf{{Db{G`}}}}{Bf{BlAd}}}{{Bd{BjBb}}}}`{Bf}`{{{Bf{BlLj}}Cj{D`{Cn}}}Bj}``{{{Bf{BlLj}}}Bj}`{{{Dd{{j{Cj{D`{Cn}}}}}}{Dd{Kh}}{Db{G`}}{Db{Gb}}{E`{{Dn{Gl}}}}{f{l}}{f{Ad}}bAfAj}{{Ej{Bj}}}}`{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}<`{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}```{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}`{{{f{Ad}}Afb{E`{{Dn{Gn}}}}{f{Gj}}{Dd{{j{Cj{D`{Cn}}}}}}{Db{Ln}}{Dd{Ln}}{Db{Fn}}{Dd{Fn}}{Db{Gb}}Aj}M`}``{Bf}``{{{Bf{BlM`}}}Bj}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}:``{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}``{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{}C`}{{{Bf{BlGn}}Kd}Bj}{{{Bf{BlGn}}{Bf{Cj}}{Bf{{Hd{Mb}}}}}Bj}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}`{{HhHh}Gn}`{Bf}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}{{{Bf{BlGn}}{Bf{{Hj{Cj}}}}}Bj}:```{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{Fn}}}Fn}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{{Bf{c}}}c{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{Bf}{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}9``{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{Ln}}}Ln}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{{Bf{c}}}c{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{Bf}{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}9```````````{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}0000{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}0000`{{{Bf{Md}}}Md}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{{}Md}{C`{{Bf{c}}}{}}0000{C`{{Bf{Blc}}}{}}0000{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{{{Bf{Mf}}{Bf{{Hd{Cn}}}}}{{Ij{{Bf{{Hd{Cn}}}}Mhc}}}{{Il{{Bf{{Hd{Cn}}}}}}{In{{Bf{{Hd{Cn}}}}}}}}1111{C`Bj}0000{{{Bf{Mj}}{Bf{Mj}}}Hf}{{{Bf{c}}{Bf{e}}}Hf{}{}}00000{{{Bf{Mh}}{Bf{BlHl}}}Hn}{{{Bf{Mj}}{Bf{BlHl}}}Hn}{cc{}}00{{{Bf{Mh}}}Mj}11{{{Bf{c}}}c{}}``{{}C`}0000{ce{}{}}0000{c{{Cd{e}}}{}{}}0000{{}{{Bd{CfCh}}}}0000````````{MlMf}{{}Md}````{Bf}0000{{{Bf{Md}}{Bf{Mh}}{Bf{Bl{D`{Cn}}}}}{{Bd{BjJf}}}}{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}00{Jh{{Bd{Mj{Jj{Mj}}}}}}11{c{{Bd{Mj{Jj{Mj}}}}}{}}22222{{{Bf{c}}}El{}}0000{{{f{c}}}{{f{En}}}{}}0000{{{Bf{Blc}}}{{Bf{BlEn}}}{}}0000{{{Bf{c}}}{{Bf{En}}}{}}0000>>>>>````{{{Bf{BlMn}}}Bj}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}``{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{}C`}`{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}```{Bf}<<{{{Dd{Fn}}{f{Gj}}b{E`{{Dn{Gn}}}}AfAj}{{Ej{Bj}}}}`{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}9``````{{{Bf{BlN`}}{Bf{Cj}}}{{Bd{BjBb}}}}{{{Bf{c}}}{{Bf{e}}}{}{}}0{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}0``{C`{{Bf{c}}}{}}0{C`{{Bf{Blc}}}{}}0{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}0{C`Bj}0{cc{}}0{{}C`}0``{ce{}{}}0{c{{Cd{e}}}{}{}}0{{}{{Bd{CfCh}}}}0{{{Bf{Af}}{Bf{Bl{E`{{Dn{Gn}}}}}}{Bf{b}}{D`{Kf}}{Bf{Cj}}{Bf{Bl{Db{Fn}}}}{Bf{Bl{f{Ad}}}}}{{Bd{BjBb}}}}{{{Bf{BlN`}}{Bf{Cj}}Nb}{{Bd{BjBb}}}}{{{Bf{BlN`}}Nb{Bf{Cj}}}{{Bd{BjBb}}}}`````{Bf}0```{{{Bf{BlN`}}}Bj}{{{Dd{{j{Cj{D`{Cn}}}}}}{f{Ad}}Afb{E`{{Dn{Gn}}}}{f{Gj}}{Dd{Ln}}{Db{Fn}}{Db{Gb}}Aj}{{Ej{Bj}}}}`{c{{Bd{e}}}{}{}}000{{{Bf{c}}}El{}}0{{{f{c}}}{{f{En}}}{}}0{{{Bf{Blc}}}{{Bf{BlEn}}}{}}0{{{Bf{c}}}{{Bf{En}}}{}}0{{{Bf{BlN`}}}{{Bd{BjBb}}}}>>```{{{Bf{c}}Bh}Bj{}}```{{{Bf{c}}}{{Bf{e}}}{}{}}0{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}0{{{Bf{Nd}}}Nd}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}`{C`{{Bf{c}}}{}}0{C`{{Bf{Blc}}}{}}0{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}0{C`Bj}0{{{Bf{BlNd}}{Bf{F`}}{Bf{BlNf}}{Bf{{Dj{DfDh}}}}}{{Nh{Bj}}}}{cc{}}0{{{Bf{c}}}c{}}{{{Bf{BlNd}}{Bf{Df}}}Bj}{{}C`}0{ce{}{}}0{c{{Cd{e}}}{}{}}0{{}{{Bd{CfCh}}}}0``{{{Dj{Cj{Dj{DfDh}}}}Cj{E`{{Dn{Dl}}}}{j{{Db{{j{Cj{D`{Cn}}}}}}{Dd{{j{Cj{D`{Cn}}}}}}}}{j{{Db{Gb}}{Dd{Gb}}}}Eb{f{Gj}}{Dj{Ed{j{{D`{Ef}}C`}}}}C`{Bf{b}}Aj}Nj}{{{E`{{Dn{Dl}}}}b}Nd}`````{{{Bf{BlNd}}{Bf{F`}}{Bf{BlNf}}{Bf{{Dj{DfDh}}}}Eb}{{Nh{Cj}}}}{Bf}0`{{{Bf{BlNj}}}Bj}```{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}000{{{Bf{c}}}El{}}0{{{f{c}}}{{f{En}}}{}}0{{{Bf{Blc}}}{{Bf{BlEn}}}{}}0{{{Bf{c}}}{{Bf{En}}}{}}0``==````{{{Bf{c}}Bh}Bj{}}00{{{Bf{c}}}{{Bf{e}}}{}{}}000{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}000{{{Bf{Nl}}}Nl}{{{Bf{Nn}}}Nn}{{{Bf{O`}}}O`}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}00{{{Bf{c}}}Bj{}}00{C`{{Bf{c}}}{}}000{C`{{Bf{Blc}}}{}}000{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}000{{{Bf{O`}}{Bf{{Hd{Cn}}}}}{{Ij{{Bf{{Hd{Cn}}}}Nlc}}}{{Il{{Bf{{Hd{Cn}}}}}}{In{{Bf{{Hd{Cn}}}}}}}}{C`Bj}000{{{Bf{Nl}}{Bf{Nl}}}Hf}{{{Bf{c}}{Bf{e}}}Hf{}{}}00000{{{Bf{Nl}}{Bf{BlHl}}}Hn}{cc{}}000{{{Bf{c}}}c{}}00`{{}C`}000{ce{}{}}000{c{{Cd{e}}}{}{}}000`{{}{{Bd{CfCh}}}}000```{{{Dj{DfDh}}{Ab{Ef}}{Bf{An}}}{{Nh{Nl}}}}{{}Nn}{ObO`}{Bf}000{{{Bf{Nn}}{Bf{Nl}}{Bf{Bl{D`{Cn}}}}}{{Bd{BjJf}}}}```{{{Bf{c}}}e{}{}}00{c{{Bd{e}}}{}{}}0000000{{{Bf{c}}}El{}}000{{{f{c}}}{{f{En}}}{}}000{{{Bf{Blc}}}{{Bf{BlEn}}}{}}000{{{Bf{c}}}{{Bf{En}}}{}}000====`````````{{{Bf{c}}Bh}Bj{}}0{{{Bf{c}}}{{Bf{e}}}{}{}}0000{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}0000{{{Bf{Od}}}Od}{{{Bf{Of}}}Of}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}0{{{Bf{c}}}Bj{}}0{{}Of}{C`{{Bf{c}}}{}}0000{C`{{Bf{Blc}}}{}}0000{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{{{Bf{Oh}}{Bf{{Hd{Cn}}}}}{{Ij{{Bf{{Hd{Cn}}}}Odc}}}{{Il{{Bf{{Hd{Cn}}}}}}{In{{Bf{{Hd{Cn}}}}}}}}1111{C`Bj}0000{{{Bf{Oj}}{Bf{Oj}}}Hf}{{{Bf{c}}{Bf{e}}}Hf{}{}}00000{{{Bf{Od}}{Bf{BlHl}}}Hn}{{{Bf{Oj}}{Bf{BlHl}}}Hn}{cc{}}000{{{Bf{Od}}}Oj}1{{{Bf{c}}}c{}}0``{{}C`}0000{ce{}{}}0000{c{{Cd{e}}}{}{}}0000``{{}{{Bd{CfCh}}}}0000`{{{Bf{{Hd{Cn}}}}{Bf{Ol}}}{{Ij{{Bf{{Hd{Cn}}}}{j{DfDh}}c}}}{{Il{{Bf{{Hd{Cn}}}}}}{In{{Bf{{Hd{Cn}}}}}}}}```{OnOh}{{}Of}```{Bf}0000{{{Bf{Of}}{Bf{Od}}{Bf{Bl{D`{Cn}}}}}{{Bd{BjJf}}}}{{{Bf{c}}}e{}{}}0{c{{Bd{e}}}{}{}}000{Jh{{Bd{Oj{Jj{Oj}}}}}}1{c{{Bd{Oj{Jj{Oj}}}}}{}}22222{{{Bf{c}}}El{}}0000{{{f{c}}}{{f{En}}}{}}0000{{{Bf{Blc}}}{{Bf{BlEn}}}{}}0000{{{Bf{c}}}{{Bf{En}}}{}}0000?????``````````````````{{{Bf{c}}Bh}Bj{}}0000{{{Bf{BlA@`}}{Bf{Cj}}}Bj}{{{Bf{c}}}{{Bf{e}}}{}{}}00000{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}00000{{{Bf{A@b}}}A@b}{{{Bf{A@`}}}A@`}{{{Bf{A@d}}}A@d}{{{Bf{A@f}}}A@f}{{{Bf{Gb}}}Gb}{{{Bf{A@`}}}{{f{Dl}}}}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}0000{{{Bf{c}}}Bj{}}0000{{{Bf{A@b}}{Bf{A@b}}}A@h}`{{{Bf{c}}{Bf{e}}}A@h{}{}}{{}A@b}{{}A@`}{C`{{Bf{c}}}{}}00000{C`{{Bf{Blc}}}{}}00000{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}00000{C`Bj}00000{{A@bC`{Ab{A@j}}}A@b}{{{Bf{A@b}}{Bf{A@b}}}Hf}{{{Bf{A@f}}{Bf{A@f}}}Hf}{{{Bf{c}}{Bf{e}}}Hf{}{}}00000000000{{{Bf{BlA@b}}}Bj}{{{Bf{A@d}}{Bf{BlHl}}}Hn}{{{Bf{A@f}}{Bf{BlHl}}}Hn}{cc{}}00000{{{Bf{c}}}c{}}0000{{{Bf{A@`}}}Jh}{{{Bf{A@`}}{Bf{Df}}}A@b}1{{{Bf{A@`}}A@l{Bf{{Hj{Df}}}}}{{Ab{Df}}}}{{{Bf{A@`}}}{{Bf{{Dj{CjA@d}}}}}}{{{Bf{A@`}}}{{Bf{{Hj{Df}}}}}}{{{Bf{BlA@`}}}{{Bf{Bl{Dj{CjA@d}}}}}}{{{Bf{A@`}}C`}{{D`{{j{Cj{Dj{DfDh}}}}}}}}{{{Bf{A@`}}}{{Bf{{Dj{DfA@j}}}}}}{{}C`}00000{{{Bf{BlA@`}}{Bf{Df}}}Hf}{{{Bf{BlA@`}}{Bf{Df}}A@j}Bj}{ce{}{}}00000{c{{Cd{e}}}{}{}}00000``````{{}{{Bd{CfCh}}}}00000`{{{Bf{A@b}}{Bf{A@b}}}{{Ab{A@h}}}}``{Bf}00000`6{{{Bf{BlA@`}}{Bf{Df}}}Bj}000`{{{Bf{BlA@b}}}Bj}00`{{{Bf{c}}}e{}{}}00001`{c{{Bd{e}}}{}{}}00000000000{{{Bf{c}}}El{}}00000{{{Bf{BlA@`}}{Bf{Cj}}}Bj}{{{f{c}}}{{f{En}}}{}}00000{{{Bf{Blc}}}{{Bf{BlEn}}}{}}00000{{{Bf{c}}}{{Bf{En}}}{}}00000======```{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}`{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{{{E`{{Dn{Dl}}}}{f{Gj}}b{Dd{{j{Cj{Dj{DfDh}}}}}}Eb{Dj{Ed{j{{D`{Ef}}C`}}}}C`Aj}A@n}{Bf}{{{Bf{b}}{f{Gj}}{E`{{Dn{Dl}}}}Eb{Dj{Ed{j{{D`{Ef}}C`}}}}C`Aj}{{j{{j{{Db{{j{Cj{Dj{DfDh}}}}}}{Dd{{j{Cj{Dj{DfDh}}}}}}}}{D`{A@n}}}}}}{{Eb{E`{{Dn{Dl}}}}O`AA`AAbDf{Bf{b}}Aj}{{Nh{Cj}}}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}};{EfEf}`{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}`{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{{{j{{Db{Bn}}{Ej{Bj}}}}}AAd}{Bf}{{{Bf{BlAAd}}}Bj}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}:````````````{{{Bf{c}}Bh}Bj{}}0`{{{Bf{c}}}{{Bf{e}}}{}{}}000{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}000{{{Bf{AAf}}}AAf}{{{Bf{Eb}}}Eb}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}0{{{Bf{c}}}Bj{}}0{{}AAf}{C`{{Bf{c}}}{}}000{C`{{Bf{Blc}}}{}}000{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}000{C`Bj}000`{{{Bf{AAh}}{Bf{AAh}}}Hf}{{{Bf{c}}{Bf{e}}}Hf{}{}}00000{{{Bf{AAj}}{Bf{BlHl}}}Hn}{{{Bf{AAh}}{Bf{BlHl}}}Hn}{OdAAj}{LbAAj}{MhAAj}{IhAAj}{cc{}}{{{Bf{AAj}}}AAh}111{{{Bf{c}}}c{}}0{{{Bf{Eb}}{Bf{{Hd{Cn}}}}{Bf{Cj}}}{{Nh{Bj}}}}``{{}C`}000{ce{}{}}000{c{{Cd{e}}}{}{}}000{{}{{Bd{CfCh}}}}000{{}AAf}``{Bf}000````{{{Bf{AAf}}{Bf{AAj}}{Bf{Bl{D`{Cn}}}}}{{Nh{Bj}}}}{{{Bf{c}}}e{}{}}0{c{{Bd{e}}}{}{}}{Jh{{Bd{AAh{Jj{AAh}}}}}}111{c{{Bd{AAh{Jj{AAh}}}}}{}}2222{{{Bf{c}}}El{}}000{{{f{c}}}{{f{En}}}{}}000{{{Bf{Blc}}}{{Bf{BlEn}}}{}}000{{{Bf{c}}}{{Bf{En}}}{}}000===={{AAfId}AAf}{{AAfKn}AAf}{{AAfMd}AAf}{{AAfOf}AAf}`{{{Bf{{Hd{{j{AAlAAnAB`}}}}}}}{{Bd{BjBb}}}}```{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}`{b{{j{{f{d}}h}}}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}``{cc{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}```{Bf}{{b{f{l}}{f{n}}{Ab{A`}}{f{Ad}}AfhAhAj}{{Bd{{j{{f{Al}}AnB`}}Bb}}}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}9```{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{Gj}}}{{f{Gj}}}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{{Bf{Cl}}}{{f{Gj}}}}{{{Bf{ABb}}}{{f{Gj}}}}{{{Bf{Gj}}}C`}0{{{Bf{Gj}}}{{Hj{Cj}}}}{{{Bf{Gj}}}{{Hj{Df}}}}{{{Bf{Gj}}}{{Dj{Cj{j{DfFf{Ab{Ed}}}}}}}}{{{Bf{Gj}}}{{Dj{Ed{j{JhJh}}}}}}{{{Bf{Cl}}}Jh}{{{Bf{ABb}}}Jh}10{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{{{ABd{CjF`NdEb}}}ABb}`{Bf}{{{Bf{Gj}}{Bf{Cj}}{Bf{AAf}}AAjHf}{{Bd{BjBb}}}}{{{Bf{BlGj}}{Bf{Cj}}}Bj}{{{Bf{BlCl}}DhDf}{{Bd{BjBb}}}}{{{Bf{BlABb}}DhDf}{{Bd{BjBb}}}}10{{{Bf{BlCl}}DfA@l}{{Bd{BjBb}}}}{{{Bf{BlABb}}DfA@l}{{Bd{BjBb}}}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}?`{{{Bf{BlDl}}{Bf{Cj}}}Bj}{{{Bf{Dl}}}{{f{Dl}}}}{{{Bf{Dl}}}Jh}{{{Bf{Dl}}{Bf{Df}}}A@b}1{{{Bf{Dl}}A@l{Bf{{Hj{Df}}}}}{{Ab{Df}}}}{{{Bf{Dl}}}{{Bf{{Dj{CjA@d}}}}}}{{{Bf{Dl}}}{{Bf{{Hj{Df}}}}}}{{{Bf{BlDl}}}{{Bf{Bl{Dj{CjA@d}}}}}}{{{Bf{Dl}}C`}{{D`{{j{Cj{Dj{DfDh}}}}}}}}{{{Bf{Dl}}}{{Bf{{Dj{DfA@j}}}}}}{{{Bf{BlDl}}{Bf{Df}}}Hf}{{{Bf{BlDl}}{Bf{Df}}A@j}Bj}1{{{Bf{BlDl}}{Bf{Df}}}Bj}000<","D":"BAh","p":[[5,"ProtocolConfig",2152],[10,"ProtocolController",2153],[5,"Box",2154],[5,"ProtocolChannels",2057],[1,"tuple"],[10,"SelectorController",2155],[10,"ConsensusController",2156],[5,"BootstrapPeers",2157],[6,"Option",2158],[10,"PoolController",2159],[5,"Storage",2160],[5,"MipStore",2161],[5,"MassaMetrics",2162],[10,"ProtocolManager",2153],[6,"KeyPair",2163],[5,"NodeId",2164],[6,"ProtocolError",2165],[6,"Result",2166],[1,"reference"],[5,"Private",2167],[1,"unit"],[0,"mut"],[6,"ConnectivityCommand",13],[1,"usize"],[5,"With",2168],[5,"Request",2169],[5,"Layout",2170],[5,"LayoutError",2170],[5,"PeerId",2171],[10,"NetworkController",2087],[1,"u8"],[5,"Vec",2172],[5,"MassaSender",2173],[5,"MassaReceiver",2174],[6,"SocketAddr",2175],[6,"TransportType",2176],[5,"HashMap",2177],[10,"PeerDBTrait",2132],[8,"RwLock",2178],[5,"Arc",2179],[5,"MessagesHandler",1921],[5,"String",2180],[6,"IpAddr",2181],[5,"PeerCategoryInfo",2152],[5,"JoinHandle",2182],[5,"TypeId",2183],[10,"Any",2183],[5,"Context",45],[5,"ProtocolControllerImpl",73],[5,"NetworkStats",2184],[6,"PeerConnectionType",2185],[6,"BlockId",2186],[6,"BlockHandlerRetrievalCommand",210],[6,"BlockHandlerPropagationCommand",178],[6,"OperationHandlerPropagationCommand",1018],[6,"EndorsementHandlerPropagationCommand",702],[6,"PeerManagementCmd",1649],[8,"SecuredHeader",2187],[8,"PreHashMap",2188],[8,"PreHashSet",2188],[10,"ActiveConnectionsTrait",2087],[5,"EndorsementCache",674],[5,"OperationCache",989],[5,"BlockCache",151],[5,"BlockHandler",121],[1,"slice"],[1,"bool"],[1,"u32"],[5,"HashSet",2189],[5,"Formatter",2190],[8,"Result",2190],[6,"AskForBlockInfo",240],[6,"BlockInfoReply",240],[5,"BlockMessageSerializer",240],[5,"BlockMessageDeserializer",240],[6,"BlockMessage",240],[8,"IResult",2191],[10,"ParseError",2192],[10,"ContextError",2192],[6,"MessageTypeId",240],[6,"BlockInfoType",240],[5,"BlockMessageDeserializerArgs",240],[6,"SerializeError",2193],[1,"u64"],[5,"TryFromPrimitiveError",2194],[5,"PropagationThread",498],[5,"BlockPropagationData",498],[5,"RetrievalThread",554],[5,"BlockInfo",554],[6,"OperationId",2195],[8,"SecureShareOperation",2195],[6,"EndorsementHandlerRetrievalCommand",730],[5,"EndorsementHandler",644],[6,"EndorsementId",2196],[5,"EndorsementMessageSerializer",751],[5,"EndorsementMessageDeserializer",751],[6,"EndorsementMessage",751],[6,"MessageTypeId",751],[5,"EndorsementMessageDeserializerArgs",751],[5,"PropagationThread",893],[5,"RetrievalThread",922],[8,"SecureShareEndorsement",2196],[6,"OperationHandlerRetrievalCommand",1046],[5,"OperationHandler",959],[6,"OperationPrefixId",2195],[5,"OperationMessageSerializer",1073],[5,"OperationMessageDeserializer",1073],[6,"OperationMessage",1073],[6,"MessageTypeId",1073],[5,"OperationMessageDeserializerArgs",1073],[5,"PropagationThread",1217],[5,"RetrievalThread",1251],[8,"OperationPrefixIds",2195],[5,"MassaHandshake",1315],[6,"Endpoint",2197],[8,"PeerNetResult",2198],[5,"PeerManagementHandler",1315],[5,"Announcement",1385],[5,"AnnouncementSerializer",1385],[5,"AnnouncementDeserializer",1385],[5,"AnnouncementDeserializerArgs",1385],[6,"PeerManagementMessage",1504],[5,"PeerManagementMessageSerializer",1504],[5,"PeerManagementMessageDeserializer",1504],[6,"MessageTypeId",1504],[5,"IpAddrDeserializer",2199],[5,"PeerManagementMessageDeserializerArgs",1504],[5,"PeerDB",1649],[5,"ConnectionMetadata",1649],[5,"PeerInfo",1649],[6,"PeerState",1649],[6,"Ordering",2200],[5,"MassaTime",2201],[5,"Duration",2202],[5,"Tester",1872],[5,"VersionDeserializer",2203],[5,"PeerIdDeserializer",2171],[5,"ProtocolManagerImpl",1898],[5,"MessagesSerializer",1921],[6,"MessageTypeId",1921],[6,"Message",1921],[5,"Hash",2204],[6,"Signature",2163],[6,"PublicKey",2163],[5,"NetworkControllerImpl",2087],[5,"PeerNetManager",2205],[15,"GetStats",44],[15,"IntegratedBlock",208],[15,"WishlistDelta",238],[15,"DataRequest",494],[15,"DataResponse",494],[5,"OperationBatchItem",1251],[5,"PeerManagementChannel",1649],[15,"GetBootstrapPeers",1871]],"r":[[3,2057],[9,2057]],"b":[[1977,"impl-From%3CPeerManagementMessage%3E-for-Message"],[1978,"impl-From%3CEndorsementMessage%3E-for-Message"],[1979,"impl-From%3COperationMessage%3E-for-Message"],[1980,"impl-From%3CBlockMessage%3E-for-Message"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFwHmgAAAAMABQADAAsAEAAdAAEAIAAYADoAAgA+ABgAWAADAF4AAgBiAAAAZgAfAIcAAACJAAQAjwAIAJkAAACbAAEAngADAKMAAACmAAEAqQAJALYACwDDAAEAxgAKANMAAQDWAAkA4QABAOQACgDzAAQA+QAAAPsAAAD/AAIAAwEAAAYBAAAJAV4AbQEAAHEBDACGAWgA8wECAPoBAwAAAggADAIBABACAwAWAgEAGQIBAB0CDQAsAgUAMwIGADsCDgBMAgAATgIAAFECAQBVAgMAWgIDAGQCAQBnAgUAbgIFAHUCDACDAg0AkgIAAJQCDgCkAgIAqAIDAK4CAACyAgEAtgIGAL4CDQDNAgEA0AISAOQCAADmAg0A9QI3ADADAAAzAwcAQAM9AH8DCgCLAwAAjQMCAJEDCwCeAwgAqAMBAKsDAgCvAwIAswMWAMsDAADNAxAA3wMCAOQDAwDpAwAA7QMBAPIDBgD6AwEA/QMKAAkEAQAMBBYAJAQBACcECgAzBAMAOAQAADoEAAA8BAsASQQhAG4EAABxBAcAfgQJAJAEPgDQBAEA0wQFANoECQDlBAQA6wQNAPsEAQD+BAAAAQUEAAgFAQALBQAADQUaACkFEgA+BQMARAVWAJ8FAgCjBQMAqwUJALYFCADCBSUA6QUxAB8GAAAhBggALwYOAEAGlADbBgcA5AYCAOgGCAD3BhQADQcPAB4HBQAlBzMAWgcBAF0HAQBgBwoAbAcGAHQHAAB2BwMAewdCAL8HAADDBwgA0AcSAOQHIwAKCAUAEQgFABgIAAAaCAUAIQgQADMIDABBCCcA"}],\ -["massa_sdk",{"t":"FFGFPFFFPFNNNNONNNNNNNNNNCOOOOCOONNNNNNNNNNNNNNNNNNHHNNNNNNNOOOOOHONNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNOONONNNNNNNHNNNNNNNNNNNNNNNNNNNNNOHHHFFFNNNNNNOOONNNNNNNNNOONNNNNNNNNOONNNNNNOOOOOONNNNNNNNNNNNNNN","n":["Client","ClientConfig","ClientError","ClientV2","Connect","HttpConfig","RpcClient","RpcClientV2","Url","WsConfig","_get_cliques","_get_graph_interval","_get_stakers","add_staking_secret_keys","api","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cert_manager","certificate_store","chain_id","client_config","client_config","config","enabled","enabled","execute_read_only_bytecode","execute_read_only_call","fmt","fmt","from","from","from","from","from","from","from","from_url","from_url","get_addresses","get_blocks","get_datastore_entries","get_endorsements","get_filtered_sc_output_event","get_headers","get_id_kind","get_largest_stakers","get_next_block_best_parents","get_operations","get_slots_transfers","get_staking_addresses","get_status","get_version","grpc_private","grpc_public","headers","http_client","http_client","http_client_from_url","id_kind","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","max_concurrent_requests","max_log_length","max_notifs_per_subscription","max_redirections","max_request_body_size","new","new","node_add_to_bootstrap_blacklist","node_add_to_bootstrap_whitelist","node_add_to_peers_whitelist","node_ban_by_id","node_ban_by_ip","node_bootstrap_blacklist","node_bootstrap_whitelist","node_bootstrap_whitelist_allow_all","node_peers_whitelist","node_remove_from_bootstrap_blacklist","node_remove_from_bootstrap_whitelist","node_remove_from_peers_whitelist","node_sign_message","node_unban_by_id","node_unban_by_ip","private","public","remove_staking_addresses","request_timeout","send_operations","source","stop_node","subscribe_new_blocks","subscribe_new_blocks_headers","subscribe_new_filled_blocks","subscribe_new_operations","to_error_obj","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","ws_client","ws_client_from_url","gen_cert_for_ca","gen_signed_cert","ClientConfig","HttpConfig","WsConfig","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","certificate_store","client_config","client_config","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","enabled","enabled","fmt","fmt","fmt","from","from","from","from_ref","from_ref","from_ref","headers","id_kind","into","into","into","into_request","into_request","into_request","max_concurrent_requests","max_log_length","max_notifs_per_subscription","max_redirections","max_request_body_size","request_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","vzip","vzip","vzip"],"q":[[0,"massa_sdk"],[134,"massa_sdk::cert_manager"],[136,"massa_sdk::config"],[197,"massa_models::clique"],[198,"alloc::vec"],[199,"jsonrpsee_core"],[200,"massa_api_exports"],[201,"massa_api_exports::block"],[202,"massa_models::address"],[203,"massa_models::prehash"],[204,"alloc::string"],[205,"massa_api_exports::execution"],[206,"core::fmt"],[207,"tonic::transport::error"],[208,"http::uri"],[209,"core::net::socket_addr"],[210,"massa_api_exports::address"],[211,"massa_models::block_id"],[212,"massa_api_exports::datastore"],[213,"massa_models::endorsement"],[214,"massa_api_exports::endorsement"],[215,"massa_models::execution"],[216,"massa_models::output_event"],[217,"http::header::map"],[218,"jsonrpsee_core::client"],[219,"core::option"],[220,"massa_api_exports::page"],[221,"massa_models::operation"],[222,"massa_api_exports::operation"],[223,"massa_models::slot"],[224,"massa_api_exports::node"],[225,"massa_models::version"],[226,"jsonrpsee_http_client::transport"],[227,"jsonrpsee_http_client::client"],[228,"tonic::request"],[229,"core::net::ip_addr"],[230,"core::result"],[231,"massa_models::node"],[232,"massa_models::composite"],[233,"core::error"],[234,"jsonrpsee_core::client::error"],[235,"massa_models::block_header"],[236,"massa_models::secure_share"],[237,"massa_models::block"],[238,"jsonrpsee_types::error"],[239,"core::any"],[240,"jsonrpsee_core::client::async_client"],[241,"rcgen"],[242,"rcgen::error"]],"i":[0,0,0,0,17,0,0,0,17,0,1,1,1,1,57,55,1,57,26,17,55,1,57,26,17,0,74,55,23,25,0,23,25,1,1,17,17,55,1,57,26,17,17,17,1,26,1,1,1,1,1,0,0,26,26,1,1,1,1,26,55,55,74,1,26,0,74,55,1,57,26,17,55,1,57,26,17,74,74,25,25,74,55,57,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,55,55,1,74,1,17,1,26,26,26,26,0,17,55,1,57,26,17,55,1,57,26,17,55,1,57,26,17,55,1,57,26,17,26,0,0,0,0,0,0,74,23,25,74,23,25,74,23,25,74,23,25,74,23,25,74,23,25,23,25,74,23,25,74,23,25,74,23,25,74,74,74,23,25,74,23,25,74,74,25,25,74,74,74,23,25,74,23,25,74,23,25,74,23,25,74,23,25],"f":"``````````{{{d{b}}}{{j{{h{f}}}}}}{{{d{b}}l}{{j{{h{n}}}}}}{{{d{b}}}{{j{{Ad{A`Ab}}}}}}{{{d{b}}{h{Af}}}{{j{Ah}}}}`{{{d{c}}}{{d{e}}}{}{}}0000{{{d{Ajc}}}{{d{Aje}}}{}{}}0000````````{{{d{b}}Al}{{j{An}}}}{{{d{b}}B`}{{j{An}}}}{{{d{Bb}}{d{AjBd}}}Bf}0{cc{}}000{BhBb}1{BjBb}{{{d{Bl}}{d{Bn}}}b}{{C`{d{Bn}}{d{Cb}}}Cd}{{{d{b}}{h{A`}}}{{j{{h{Cf}}}}}}{{{d{b}}{h{Ch}}}{{j{{h{Cj}}}}}}{{{d{b}}{h{Cl}}}{{j{{h{Cn}}}}}}{{{d{b}}{h{D`}}}{{j{{h{Db}}}}}}{{{d{b}}Dd}{{j{{h{Df}}}}}}{{{d{{Dj{{Dh{AfAf}}}}}}}Dl}{{{d{Bl}}}Dn}{{{d{Cd}}{Eb{E`}}}{{j{{Ed{{Dh{ChAb}}}}}}}}{{{d{Cd}}}{{j{{h{{Dh{ChAb}}}}}}}}{{{d{b}}{h{Ef}}}{{j{{h{Eh}}}}}}{{{d{b}}{h{Ej}}}{{j{{h{{h{El}}}}}}}}{{{d{b}}}{{j{{En{A`}}}}}}{{{d{b}}}{{j{F`}}}}{{{d{Cd}}}{{j{Fb}}}}`````{{{d{Bl}}{d{Bn}}}{{Ff{Fd}}}}`{ce{}{}}0000{c{{Fh{e}}}{}{}}0000`````{{FjFlFlFlFlAb{d{Bn}}}{{G`{FnBb}}}}{{FjFl{d{Bn}}{d{Cb}}}Gb}{{{d{b}}{h{Fj}}}{{j{Ah}}}}00{{{d{b}}{h{Gd}}}{{j{Ah}}}}1{{{d{b}}}{{j{{h{Fj}}}}}}0{{{d{b}}}{{j{Ah}}}}1333{{{d{b}}{h{Gf}}}{{j{Gh}}}}34``{{{d{b}}{h{A`}}}{{j{Ah}}}}`{{{d{b}}{h{Gj}}}{{j{{h{Ef}}}}}}{{{d{Bb}}}{{Eb{{d{Gl}}}}}}4{{{d{Cd}}}{{G`{{Gn{Cj}}H`}}}}{{{d{Cd}}}{{G`{{Gn{{Hd{HbCh}}}}H`}}}}{{{d{Cd}}}{{G`{{Gn{Hf}}H`}}}}{{{d{Cd}}}{{G`{{Gn{Hh}}H`}}}}{AfHj}{{{d{c}}}Af{}}{c{{G`{e}}}{}{}}000000000{{{d{c}}}Hl{}}0000{ce{}{}}0000`{{{d{Bl}}{d{Cb}}}Hn}{{}{{G`{I`Ib}}}}{{{d{I`}}{h{Af}}}{{G`{{Dh{AfAf}}Ib}}}}```{{{d{c}}}{{d{e}}}{}{}}00{{{d{Ajc}}}{{d{Aje}}}{}{}}00```{{{d{Id}}}Id}{{{d{Bn}}}Bn}{{{d{Cb}}}Cb}{{{d{c}}{d{Aje}}}Ah{}{}}00{{{d{c}}}Ah{}}00``{{{d{Id}}{d{AjBd}}}Bf}{{{d{Bn}}{d{AjBd}}}Bf}{{{d{Cb}}{d{AjBd}}}Bf}{cc{}}00{{{d{c}}}c{}}00``???{c{{Fh{e}}}{}{}}00``````{{{d{c}}}e{}{}}00{c{{G`{e}}}{}{}}00000{{{d{c}}}Hl{}}00{ce{}{}}00","D":"Mh","p":[[5,"RpcClient",0],[1,"reference"],[5,"Clique",197],[5,"Vec",198],[8,"RpcResult",199],[5,"TimeInterval",200],[5,"BlockSummary",201],[6,"Address",202],[1,"u64"],[8,"PreHashMap",203],[5,"String",204],[1,"unit"],[0,"mut"],[5,"ReadOnlyBytecodeExecution",205],[5,"ExecuteReadOnlyResponse",205],[5,"ReadOnlyCall",205],[6,"ClientError",0],[5,"Formatter",206],[8,"Result",206],[5,"Error",207],[5,"InvalidUri",208],[1,"str"],[5,"HttpConfig",136],[6,"SocketAddr",209],[5,"WsConfig",136],[5,"RpcClientV2",0],[5,"AddressInfo",210],[6,"BlockId",211],[5,"BlockInfo",201],[5,"DatastoreEntryInput",212],[5,"DatastoreEntryOutput",212],[6,"EndorsementId",213],[5,"EndorsementInfo",214],[5,"EventFilter",215],[5,"SCOutputEvent",216],[1,"tuple"],[1,"slice"],[5,"HeaderMap",217],[6,"IdKind",218],[5,"ApiRequest",200],[6,"Option",219],[5,"PagedVecV2",220],[6,"OperationId",221],[5,"OperationInfo",222],[5,"Slot",223],[5,"Transfer",205],[8,"PreHashSet",203],[5,"NodeStatus",224],[5,"Version",225],[6,"HttpBackend",226],[5,"HttpClient",227],[5,"Request",228],[6,"IpAddr",229],[1,"u16"],[5,"Client",0],[6,"Result",230],[5,"ClientV2",0],[5,"NodeId",231],[1,"u8"],[5,"PubkeySig",232],[5,"OperationInput",222],[10,"Error",233],[5,"Subscription",218],[6,"Error",234],[5,"BlockHeader",235],[5,"SecureShare",236],[5,"FilledBlock",237],[5,"Operation",221],[5,"ErrorObject",238],[5,"TypeId",239],[5,"Client",240],[5,"Certificate",241],[6,"RcgenError",242],[5,"ClientConfig",136]],"r":[[1,136],[5,136],[9,136]],"b":[[35,"impl-Debug-for-ClientError"],[36,"impl-Display-for-ClientError"],[41,"impl-From%3CError%3E-for-ClientError"],[43,"impl-From%3CInvalidUri%3E-for-ClientError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFkAEQALAAAAEAAJAB8AAAAkAAEAKgAAACwAAAA0AAEAQAACAEkABABpAAAAbwAXAIwABQCVAAgAoAACAKYAAgCuAAIAtwAOAA=="}],\ +["massa_protocol_exports",{"t":"FFFPPPPPPPPPPPPPPPFPGFPFFFPFKGKPPPPPGPPPOOOMOCNNNNOONNMNNNNNNOCOONNNNNNNONNNNNNNNNNCONNNNNNNOMNMNNNOMNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOMOOOOCOOOOOMMOOOOOMNCMMOOOOOOONNOONNNNNNOOMONNOOOOFFFFNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONNOOOONNNNNNNNNNNNNNNNNONNNNKKMMMMMMMMMMMMPPPPPPPPPPPPPGPPPPPGPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNFFOOOONNNNONNNNNNNOOONNNNNNNNOONNNNNNONNONNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOONNNNNNOONN","n":["BootstrapPeers","BootstrapPeersDeserializer","BootstrapPeersSerializer","ChannelError","ContainerInconsistencyError","FactoryError","GeneralProtocolError","IN","IOError","IncompatibleNetworkVersion","InvalidBlock","InvalidIpError","InvalidOperationError","ListenerError","MissingPeersError","ModelsError","OUT","OutdatedAnnouncedNetworkVersion","PeerCategoryInfo","PeerConnectionError","PeerConnectionType","PeerData","PeerDisconnected","PeerId","PeerIdDeserializer","PeerIdSerializer","PosError","ProtocolConfig","ProtocolController","ProtocolError","ProtocolManager","Quic","SendError","SerdeError","Tcp","TimeError","TransportType","UnexpectedNodeCommandChannelClosure","UnexpectedWriterClosure","WrongSignature","allow_local_peers","ask_block_timeout","asked_operations_buffer_capacity","ban_peers","block_propagation_tick","bootstrap_peers","borrow","borrow","borrow_mut","borrow_mut","category","chain_id","clone","clone","clone_box","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","controller_channel_size","controller_trait","debug","default_category_info","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","endorsement_count","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error","event_channel_size","fmt","fmt","from","from","from_ref","from_ref","from_transport_config","genesis_timestamp","get_bootstrap_peers","get_hash","get_stats","hash","init","init","initial_peers","integrated_block","into","into","into_request","into_request","ip_addr_deserializer","ip_addr_serializer","keypair_file","last_start_period","length_deserializer","length_listeners_deserializer","listeners","listeners","max_block_propagation_time","max_blocks_kept_for_propagation","max_denunciations_in_block_header","max_endorsements_per_message","max_endorsements_propagation_time","max_in_connections","max_in_connections","max_in_connections_per_ip","max_known_blocks_size","max_known_endorsements_size","max_known_ops_size","max_message_size","max_node_known_blocks_size","max_node_known_endorsements_size","max_node_known_ops_size","max_node_wanted_blocks_size","max_op_datastore_entry_count","max_op_datastore_key_length","max_op_datastore_value_length","max_operation_storage_time","max_operations_per_block","max_operations_per_message","max_operations_propagation_time","max_ops_kept_for_propagation","max_send_wait","max_serialized_operations_size_per_block","max_simultaneous_ask_blocks_per_node","max_size_call_sc_parameter","max_size_channel_commands_connectivity","max_size_channel_commands_peer_testers","max_size_channel_commands_peers","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","max_size_function_name","max_size_listeners_per_peer","max_size_peers_announcement","max_size_value_datastore","message_timeout","notify_block_attack","operation_announcement_buffer_capacity","operation_announcement_interval","operation_batch_buffer_capacity","operation_batch_proc_period","peer_id","peer_id_deserializer","peer_id_serializer","peers_categories","port_deserializer","port_serializer","propagate_endorsements","propagate_operations","public_key","public_key_deserializer","rate_limit","read_write_limit_bytes_per_second","routable_ip","send_wishlist_delta","serialize","settings","stop","stop","t0","target_out_connections","test_oldest_peer_cooldown","tester_timeout","thread_count","thread_tester_count","timeout_connection","to_owned","to_owned","try_connection_timer","try_connection_timer_same_peer","try_from","try_from","try_into","try_into","type_id","type_id","u32_serializer","unban_everyone_timer","unban_peers","version","vzip","vzip","announced_received","local","local","received","BootstrapPeers","BootstrapPeersDeserializer","BootstrapPeersSerializer","PeerData","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","category","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","drop","drop","drop","drop","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from","from_ref","from_ref","init","init","init","init","into","into","into","into","into_request","into_request","into_request","into_request","ip_addr_deserializer","ip_addr_serializer","length_deserializer","length_listeners_deserializer","listeners","new","new","peer_id_deserializer","peer_id_serializer","port_deserializer","port_serializer","serialize","serialize","serialize","to_owned","to_owned","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","ProtocolController","ProtocolManager","ban_peers","clone_box","get_bootstrap_peers","get_stats","integrated_block","notify_block_attack","propagate_endorsements","propagate_operations","send_wishlist_delta","stop","stop","unban_peers","ChannelError","CloseConnectionWithNoConnectionToClose","ContainerInconsistencyError","FactoryError","GeneralProtocolError","IOError","IncompatibleNetworkVersion","InvalidBlock","InvalidIpError","InvalidOperationError","ListenerError","MissingPeersError","ModelsError","NetworkConnectionErrorType","OutdatedAnnouncedNetworkVersion","PeerConnectionError","PeerDisconnected","PeerInfoNotFoundError","PosError","ProtocolError","SendError","SerdeError","TimeError","ToManyConnectionAttempt","ToManyConnectionFailure","UnexpectedNodeCommandChannelClosure","UnexpectedWriterClosure","WrongSignature","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","fmt","from","from","from","from","from","from","from","from","init","init","into","into","into_request","into_request","source","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","announced_received","local","local","received","PeerId","PeerIdDeserializer","PeerIdSerializer","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","compare","default","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from_public_key","from_ref","from_ref","from_ref","from_str","generate","get_hash","get_public_key","hash","init","init","init","into","into","into","into_request","into_request","into_request","new","new","partial_cmp","public_key","public_key_deserializer","serialize","serialize","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","verify_signature","vzip","vzip","vzip","PeerCategoryInfo","ProtocolConfig","allow_local_peers","ask_block_timeout","asked_operations_buffer_capacity","block_propagation_tick","borrow","borrow","borrow_mut","borrow_mut","chain_id","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","controller_channel_size","debug","default_category_info","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","endorsement_count","event_channel_size","fmt","fmt","from","from","from_ref","from_ref","genesis_timestamp","init","init","initial_peers","into","into","into_request","into_request","keypair_file","last_start_period","listeners","max_block_propagation_time","max_blocks_kept_for_propagation","max_denunciations_in_block_header","max_endorsements_per_message","max_endorsements_propagation_time","max_in_connections","max_in_connections","max_in_connections_per_ip","max_known_blocks_size","max_known_endorsements_size","max_known_ops_size","max_message_size","max_node_known_blocks_size","max_node_known_endorsements_size","max_node_known_ops_size","max_node_wanted_blocks_size","max_op_datastore_entry_count","max_op_datastore_key_length","max_op_datastore_value_length","max_operation_storage_time","max_operations_per_block","max_operations_per_message","max_operations_propagation_time","max_ops_kept_for_propagation","max_send_wait","max_serialized_operations_size_per_block","max_simultaneous_ask_blocks_per_node","max_size_call_sc_parameter","max_size_channel_commands_connectivity","max_size_channel_commands_peer_testers","max_size_channel_commands_peers","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","max_size_function_name","max_size_listeners_per_peer","max_size_peers_announcement","max_size_value_datastore","message_timeout","operation_announcement_buffer_capacity","operation_announcement_interval","operation_batch_buffer_capacity","operation_batch_proc_period","peers_categories","rate_limit","read_write_limit_bytes_per_second","routable_ip","t0","target_out_connections","test_oldest_peer_cooldown","tester_timeout","thread_count","thread_tester_count","timeout_connection","to_owned","to_owned","try_connection_timer","try_connection_timer_same_peer","try_from","try_from","try_into","try_into","type_id","type_id","unban_everyone_timer","version","vzip","vzip"],"q":[[0,"massa_protocol_exports"],[205,"massa_protocol_exports::ProtocolError"],[209,"massa_protocol_exports::bootstrap_peers"],[307,"massa_protocol_exports::controller_trait"],[321,"massa_protocol_exports::error"],[386,"massa_protocol_exports::error::ProtocolError"],[390,"massa_protocol_exports::peer_id"],[476,"massa_protocol_exports::settings"],[599,"alloc::vec"],[600,"core::result"],[601,"peernet::peer"],[602,"peernet::transports"],[603,"alloc::boxed"],[604,"serde::de"],[605,"core::fmt"],[606,"core::hash"],[607,"core::marker"],[608,"massa_models::stats"],[609,"core::net::socket_addr"],[610,"std::collections::hash::map"],[611,"massa_models::block_id"],[612,"massa_storage"],[613,"tonic::request"],[614,"massa_models::block_header"],[615,"core::option"],[616,"massa_models::prehash"],[617,"serde::ser"],[618,"core::any"],[619,"nom::internal"],[620,"nom::error"],[621,"massa_serialization"],[622,"massa_versioning::versioning_factory"],[623,"massa_models::error"],[624,"massa_time::error"],[625,"std::io::error"],[626,"massa_pos_exports::error"],[627,"serde_json::error"],[628,"core::error"],[629,"alloc::string"],[630,"core::cmp"],[631,"massa_signature::signature_impl"],[632,"massa_hash::hash"]],"i":[0,0,0,6,6,6,6,9,6,6,6,6,6,6,6,6,9,6,0,6,0,0,6,0,0,0,6,0,0,0,0,10,6,6,10,6,0,6,6,6,65,66,66,1,66,0,9,10,9,10,38,66,9,10,1,9,10,9,9,10,10,66,0,66,66,9,10,9,10,10,9,10,66,9,10,9,9,9,9,10,10,10,10,0,66,9,10,9,10,9,10,10,66,1,10,1,10,9,10,66,1,9,10,9,10,40,39,66,66,40,40,38,66,66,66,66,66,66,65,66,65,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,1,66,66,66,66,0,40,39,66,40,39,1,1,3,59,66,66,66,1,10,0,1,36,66,65,66,66,66,66,66,9,10,66,66,9,10,9,10,9,10,39,66,1,66,9,10,67,68,67,68,0,0,0,0,39,40,38,18,39,40,38,18,38,38,18,38,18,38,18,39,39,40,38,18,39,40,38,18,40,38,18,39,40,38,18,38,18,38,38,38,38,18,18,18,18,38,18,39,40,38,18,38,18,39,40,38,18,39,40,38,18,39,40,38,18,40,39,40,40,38,39,40,40,39,40,39,39,38,18,38,18,39,40,38,18,39,40,38,18,39,40,38,18,39,39,40,38,18,0,0,1,1,1,1,1,1,1,1,1,1,36,1,6,49,6,6,6,6,6,6,6,6,6,6,6,0,6,6,6,49,6,0,6,6,6,49,49,6,6,6,6,49,6,49,6,49,6,49,6,49,6,6,49,6,6,6,6,6,6,6,49,6,49,6,49,6,49,6,6,6,49,6,49,6,49,6,49,67,68,67,68,0,0,0,3,58,59,3,58,59,3,58,59,3,58,59,3,3,58,59,3,3,58,59,3,58,59,3,58,59,3,59,3,58,59,3,3,3,3,3,3,3,3,58,59,3,3,58,59,3,3,3,3,3,3,58,59,3,58,59,3,58,59,58,59,3,3,59,3,58,3,58,59,3,3,58,59,3,58,59,3,58,59,3,3,58,59,0,0,65,66,66,66,65,66,65,66,66,65,66,65,66,65,65,66,66,66,66,65,66,65,66,65,66,65,66,66,66,65,66,65,66,65,66,66,65,66,66,65,66,65,66,66,66,66,66,66,66,66,66,65,66,65,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,65,66,66,66,66,66,65,66,66,66,65,66,65,66,65,66,66,66,65,66],"f":"```````````````````````````````````````````{{{d{b}}{h{f}}}{{n{jl}}}}``{{{d{c}}}{{d{e}}}{}{}}0{{{d{A`c}}}{{d{A`e}}}{}{}}0``{{{d{Ab}}}Ab}{{{d{Ad}}}Ad}{{{d{b}}}{{Af{b}}}}{{{d{c}}{d{A`e}}}j{}{}}0{{{d{c}}}j{}}000````{Ah{{d{c}}}{}}0{Ah{{d{A`c}}}{}}0{c{{n{Ad}}}Aj}{Ahj}0`{{{d{Ab}}{d{Ab}}}Al}{{{d{Ad}}{d{Ad}}}Al}{{{d{c}}{d{e}}}Al{}{}}0000000``{{{d{Ab}}{d{A`An}}}{{n{jB`}}}}{{{d{Ad}}{d{A`An}}}{{n{jB`}}}}{cc{}}0{{{d{c}}}c{}}0{{{d{Bb}}}Ad}`{{{d{b}}}{{n{Bdl}}}}{{{d{c}}{d{e}}}Bf{BhBj}Bl}{{{d{b}}}{{n{{Cb{Bn{Cd{f{Cb{C`Ab}}}}}}l}}}}{{{d{Ad}}{d{A`c}}}jCf}{{}Ah}0`{{{d{b}}ChCj}{{n{jl}}}}{ce{}{}}0{c{{Cl{e}}}{}{}}0``````````````````````````````````````````````````````{{{d{b}}Ch}{{n{jl}}}}``````````{{{d{b}}Cj}{{n{jl}}}}0`````{{{d{b}}{Db{Ch{D`{Cn}}}}{Dd{Ch}}}{{n{jl}}}}{{{d{Ad}}c}nDf}`{{{d{A`b}}}j}{{{d{A`Dh}}}j}```````{{{d{c}}}e{}{}}0``{c{{n{e}}}{}{}}000{{{d{c}}}Dj{}}0``{{{d{b}}{h{f}}}{{n{jl}}}}`;;````````{{{d{c}}}{{d{e}}}{}{}}000{{{d{A`c}}}{{d{A`e}}}{}{}}000`{{{d{Dl}}}Dl}{{{d{Bd}}}Bd}{{{d{c}}{d{A`e}}}j{}{}}0{{{d{c}}}j{}}0{{}Dn}{Ah{{d{c}}}{}}000{Ah{{d{A`c}}}{}}000{{{d{E`}}{d{{Ed{Eb}}}}}{{Ef{{d{{Ed{Eb}}}}Bdc}}}{{Eh{{d{{Ed{Eb}}}}}}{Ej{{d{{Ed{Eb}}}}}}}}{c{{n{Dl}}}Aj}{c{{n{Bd}}}Aj}{Ahj}000{{{d{Dl}}{d{Dl}}}Al}{{{d{Bd}}{d{Bd}}}Al}{{{d{c}}{d{e}}}Al{}{}}0000000{{{d{Dl}}{d{A`An}}}El}{{{d{Bd}}{d{A`An}}}El}{cc{}}000{{{d{c}}}c{}}0{{}Ah}000{ce{}{}}000{c{{Cl{e}}}{}{}}000`````{{}Dn}{{EnEn}E`}````{{{d{Dn}}{d{Bd}}{d{A`{h{Eb}}}}}{{n{jF`}}}}{{{d{Dl}}c}nDf}{{{d{Bd}}c}nDf}{{{d{c}}}e{}{}}0{c{{n{e}}}{}{}}0000000{{{d{c}}}Dj{}}000`9999``{{{d{b}}{h{f}}}{{n{jl}}}}{{{d{b}}}{{Af{b}}}}{{{d{b}}}{{n{Bdl}}}}{{{d{b}}}{{n{{Cb{Bn{Cd{f{Cb{C`Ab}}}}}}l}}}}{{{d{b}}ChCj}{{n{jl}}}}{{{d{b}}Ch}{{n{jl}}}}{{{d{b}}Cj}{{n{jl}}}}0{{{d{b}}{Db{Ch{D`{Cn}}}}{Dd{Ch}}}{{n{jl}}}}{{{d{A`b}}}j}{{{d{A`Dh}}}j}9````````````````````````````{{{d{c}}}{{d{e}}}{}{}}0{{{d{A`c}}}{{d{A`e}}}{}{}}0{Ah{{d{c}}}{}}0{Ah{{d{A`c}}}{}}0{Ahj}0{{{d{l}}{d{A`An}}}El}0{{{d{Fb}}{d{A`An}}}El}{Fdl}{Ffl}{Fhl}{cc{}}{Fjl}{Fll}{Fnl}3{{}Ah}0{ce{}{}}0{c{{Cl{e}}}{}{}}0{{{d{l}}}{{D`{{d{G`}}}}}}{{{d{c}}}Gb{}}{c{{n{e}}}{}{}}000{{{d{c}}}Dj{}}055```````{{{d{c}}}{{d{e}}}{}{}}00{{{d{A`c}}}{{d{A`e}}}{}{}}00{{{d{f}}}f}{{{d{Gd}}}Gd}{{{d{Gf}}}Gf}{{{d{c}}{d{A`e}}}j{}{}}00{{{d{c}}}j{}}000{{{d{f}}{d{f}}}Gh}{{{d{c}}{d{e}}}Gh{}{}}{{}Gd}{{}Gf}{Ah{{d{c}}}{}}00{Ah{{d{A`c}}}{}}00{c{{n{f}}}Aj}{{{d{Gf}}{d{{Ed{Eb}}}}}{{Ef{{d{{Ed{Eb}}}}fc}}}{{Eh{{d{{Ed{Eb}}}}}}{Ej{{d{{Ed{Eb}}}}}}}}{Ahj}00{{{d{f}}{d{f}}}Al}{{{d{c}}{d{e}}}Al{}{}}000{{{d{f}}{d{A`An}}}El}0{cc{}}00{Gjf}{{{d{c}}}c{}}00{{{d{Gl}}}{{n{fc}}}{}}{{}f}{{{d{c}}{d{e}}}Bf{BhBj}Bl}{{{d{f}}}Gj}{{{d{f}}{d{A`c}}}jCf}{{}Ah}00{ce{}{}}00{c{{Cl{e}}}{}{}}00{{}Gd}{{}Gf}{{{d{f}}{d{f}}}{{D`{Gh}}}}``{{{d{f}}c}nDf}{{{d{Gd}}{d{f}}{d{A`{h{Eb}}}}}{{n{jF`}}}}{{{d{c}}}e{}{}}00{{{d{c}}}Gb{}}{c{{n{e}}}{}{}}00000{{{d{c}}}Dj{}}00{{{d{f}}{d{Gn}}{d{H`}}}{{n{jl}}}};;;``````{{{d{c}}}{{d{e}}}{}{}}0{{{d{A`c}}}{{d{A`e}}}{}{}}0`{{{d{Hb}}}Hb}{{{d{Hd}}}Hd}{{{d{c}}{d{A`e}}}j{}{}}0{{{d{c}}}j{}}00```{Ah{{d{c}}}{}}0{Ah{{d{A`c}}}{}}0{c{{n{Hb}}}Aj}{c{{n{Hd}}}Aj}{Ahj}0``{{{d{Hb}}{d{A`An}}}El}{{{d{Hd}}{d{A`An}}}El}{cc{}}0{{{d{c}}}c{}}0`{{}Ah}0`{ce{}{}}0{c{{Cl{e}}}{}{}}0````````````````````````````````````````````````````````````````{{{d{c}}}e{}{}}0``{c{{n{e}}}{}{}}000{{{d{c}}}Dj{}}0``44","D":"BAh","p":[[10,"ProtocolController",307],[1,"reference"],[5,"PeerId",390],[5,"Vec",599],[1,"unit"],[6,"ProtocolError",321],[6,"Result",600],[0,"mut"],[6,"PeerConnectionType",0,601],[6,"TransportType",0,602],[5,"Box",603],[1,"usize"],[10,"Deserializer",604],[1,"bool"],[5,"Formatter",605],[5,"Error",605],[6,"TransportConfig",602],[5,"BootstrapPeers",209],[1,"u64"],[10,"Hash",606],[10,"Sized",607],[10,"BuildHasher",606],[5,"NetworkStats",608],[6,"SocketAddr",609],[1,"tuple"],[5,"HashMap",610],[10,"Hasher",606],[6,"BlockId",611],[5,"Storage",612],[5,"Request",613],[8,"SecuredHeader",614],[6,"Option",615],[8,"PreHashMap",616],[8,"PreHashSet",616],[10,"Serializer",617],[10,"ProtocolManager",307],[5,"TypeId",618],[5,"PeerData",209],[5,"BootstrapPeersSerializer",209],[5,"BootstrapPeersDeserializer",209],[1,"u8"],[1,"slice"],[8,"IResult",619],[10,"ParseError",620],[10,"ContextError",620],[8,"Result",605],[1,"u32"],[6,"SerializeError",621],[6,"NetworkConnectionErrorType",321],[6,"FactoryError",622],[6,"ModelsError",623],[6,"TimeError",624],[5,"Error",625],[6,"PosError",626],[5,"Error",627],[10,"Error",628],[5,"String",629],[5,"PeerIdSerializer",390],[5,"PeerIdDeserializer",390],[6,"Ordering",630],[6,"PublicKey",631],[1,"str"],[5,"Hash",632],[6,"Signature",631],[5,"PeerCategoryInfo",476],[5,"ProtocolConfig",476],[15,"OutdatedAnnouncedNetworkVersion",386],[15,"IncompatibleNetworkVersion",386]],"r":[[0,209],[1,209],[2,209],[18,476],[20,601],[21,209],[23,390],[24,390],[25,390],[27,476],[28,307],[29,321],[30,307],[36,602]],"b":[[359,"impl-Debug-for-ProtocolError"],[360,"impl-Display-for-ProtocolError"],[362,"impl-From%3CFactoryError%3E-for-ProtocolError"],[363,"impl-From%3CModelsError%3E-for-ProtocolError"],[364,"impl-From%3CTimeError%3E-for-ProtocolError"],[366,"impl-From%3CError%3E-for-ProtocolError"],[367,"impl-From%3CPosError%3E-for-ProtocolError"],[368,"impl-From%3CError%3E-for-ProtocolError"],[429,"impl-Debug-for-PeerId"],[430,"impl-Display-for-PeerId"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEsBQQAAAAAACAAAABEAAAATAAAAFQAAABgAAgAdAAAAIAAAACMAAAApAAAALgAFADUAAQA4AAUAPwAAAEIABgBKAAoAVgABAFoAAQBfAAAAYQACAGgAAwBuAAIAdwAAAHkAAACCAAIApQACAKkAAQCtAAEAswABALgAAAC+AAEAwgAGAMwAAQDWACoABQEFAA8BCAAaARoAQwEAAE8BAABTAQAAWQEBAF4BDwBvAQIAcwEBAHcBCwCHARwApQEKALMBCwDCAQcAywESAN8BAADjAQMA6AEGAPIBBwD8AQEAAAIBAAMCAQAIAgEAEgIAABQCAAAdAgIARAIAAEoCAQBOAgUAVgIBAA=="}],\ +["massa_protocol_worker",{"t":"CCCHCCCCCHCCCGPPSNNNNNNNNNNNNNNNNNHNHNNNNNNNOFNNNNNNNNNNNNNNNNNONNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNNNNNNNNCCCCFOONNCCCNNNNNNNNNCNNCCNNNNNNNNFIONNONNNNNNNNNNONNNNNNNNNNPGPPNNNNNNNNNNNNNNNNNNNNNNNNNNOOGPPNNNNNNNNNNNNNNNNNNNNNNNNNOOGGGGFFFPPPPPPPPPGPPPPPPPPNNNOOONNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNOOOOOOOOONNOOONNNNNNNNONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOFFSOONONNNNOONNNNNNNNNNNONNNNNNNNONNNONHOONNNNNNNNNNNNNNFFSNOOONOONNNNONNNNOONNNNNNNNONNNNNNNONNNNNNNNNOONONNNNNNOOOONNOOONNOOOHOONNNNNNNNNNNNNNNNFNNCCCNNNNOONNNNNCNNCCNNNNNNNNFINNONNNNONNNNNNNONNNNNNNNNNGPPNNNNNNNNNNNNNNNNNNNNNNNNNGPNNNNNNNNNNNNNNNNNNNGFFFPPGNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOOONNNNNNNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFSONNOONNNNONNNNNNNONHNNNNNNNFSNNNOONNNNONNONNNOHONONOONOHONNNNNNNFNNCCCNNNNNNNNNCNOONCCNNNNNNNNFINNOONNNNNNNNNNNONONNNNNNNNNGPPNNNNNNNNNNNNNNNNNNNNNNNNNGPNNNNNNNNNNNNNNNNNNNNNNNNNPPGGFFFPPPPNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOOOOOOOONNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFSOONNNOONNNNNNONNNOOONNNHONNNNNNNFFSOOONNNNNOONNNNNNNNNNNNOONNNNNNHNNOOOOONNOOONHONNNNNNNNNNNNNNNFFSNCOONNNNNNNONNNNNNNNNNNNNNNNNNNNNCCNNOOOOONNNONCOONNNNNNNNNNNNNOONNFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNONNNNOOONNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPGPPGFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNOONNNNNOHOOONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPFPPPIFFFGIGIPSPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNNNNONOONNNNNNONNNNNONNNONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOSFNNNNNNNONNNNNNNNNNNNNNNHFNNONNNNNNNNNNNNNNNNNNNPPPPGGFFPPPPNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNOONNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSHFOONNOHNNNNOONNNNNOOONHNNNNNNNKKFNNMNNNNNMNMMMMMMMNMNNNNNNONMMMNMNMNNNNNNNNKMMMMMMMMMMMMMMMMMMM","n":["connectivity","context","controller","create_protocol_controller","handlers","ip","manager","messages","sig_verifier","start_protocol_controller","worker","wrap_network","wrap_peer_db","ConnectivityCommand","GetStats","Stop","THREAD_NAME","__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","start_connectivity_thread","to_owned","try_connect_peer","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","responder","Context","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","from","from_ref","get_peer_id","init","into","into_request","layout_raw","our_keypair","pointer_metadata","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","ProtocolControllerImpl","__clone_box","ban_peers","borrow","borrow_mut","clone","clone_box","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","from","from_ref","get_bootstrap_peers","get_stats","init","integrated_block","into","into_request","layout_raw","new","notify_block_attack","pointer_metadata","propagate_endorsements","propagate_operations","send_wishlist_delta","sender_block_handler","sender_block_retrieval_handler","sender_connectivity_thread","sender_endorsement_handler","sender_operation_handler","sender_peer_management_thread","stop","to_owned","try_from","try_into","type_id","unban_peers","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","block_handler","endorsement_handler","operation_handler","peer_handler","BlockHandler","block_propagation_thread","block_retrieval_thread","borrow","borrow_mut","cache","commands_propagation","commands_retrieval","deref","deref_mut","deserialize","drop","from","init","into","into_request","layout_raw","messages","new","pointer_metadata","propagation","retrieval","stop","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","BlockCache","SharedBlockCache","blocks_known_by_peer","borrow","borrow_mut","checked_headers","deref","deref_mut","deserialize","drop","from","init","insert_peer_known_block","into","into_request","layout_raw","max_known_blocks_by_peer","new","pointer_metadata","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","update_cache","vzip","AttackBlockDetected","BlockHandlerPropagationCommand","IntegratedBlock","Stop","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","fmt","from","from_ref","init","into","into_request","layout_raw","pointer_metadata","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","block_id","storage","BlockHandlerRetrievalCommand","Stop","WishlistDelta","__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","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","new","remove","AskForBlockInfo","BlockInfoReply","BlockInfoType","BlockMessage","BlockMessageDeserializer","BlockMessageDeserializerArgs","BlockMessageSerializer","DataRequest","DataRequest","DataResponse","DataResponse","Header","Header","Header","Header","Header","MessageTypeId","NotFound","NotFound","OperationIds","OperationIds","OperationIds","Operations","Operations","Operations","__clone_box","__clone_box","__clone_box","block_header_deserializer","block_id_deserializer","block_id_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","chain_id","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","default","default","deref","deref","deref","deref","deref","deref","deref","deref","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","drop","drop","drop","drop","drop","drop","drop","drop","endorsement_count","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","id_deserializer","id_serializer","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","last_start_period","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","length_serializer","max_datastore_value_length","max_denunciations_in_block_header","max_function_name_length","max_op_datastore_entry_count","max_op_datastore_key_length","max_op_datastore_value_length","max_operations_per_block","max_parameters_size","new","new","operation_id_serializer","operation_ids_deserializer","operations_deserializer","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","secure_share_serializer","serialize","thread_count","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_primitive","try_from_primitive","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","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_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","block_id","block_id","block_info","block_info","BlockPropagationData","PropagationThread","THREAD_NAME","_storage","active_connections","ban_peers","block_serializer","borrow","borrow","borrow_mut","borrow_mut","cache","config","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","fmt","from","from","header","init","init","into","into","into_request","into_request","layout_raw","layout_raw","peer_cmd_sender","perform_propagations","pointer_metadata","pointer_metadata","receiver","run","start_propagation_thread","stored_for_propagation","time_added","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","BlockInfo","RetrievalThread","THREAD_NAME","__clone_box","_announcement_sender","active_connections","asked_blocks","ban_peers","block_message_serializer","block_wishlist","borrow","borrow","borrow_mut","borrow_mut","cache","check_network_version_compatibility","clone","clone_into","clone_to_uninit","config","consensus_controller","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","endorsement_cache","fmt","from","from","from_ref","fully_gathered_block","gather_missing_block_ops","get_total_operations_size","header","init","init","into","into","into_request","into_request","layout_raw","layout_raw","mark_block_as_invalid","massa_metrics","mip_store","new","next_timer_ask_block","note_header_from_peer","on_ask_for_block_info_received","on_block_full_operations_received","on_block_header_received","on_block_info_received","on_block_operation_list_received","operation_cache","operation_id_serializer","operation_ids","peer_cmd_sender","pointer_metadata","pointer_metadata","pool_controller","receiver","receiver_network","remove_asked_blocks","run","selector_controller","sender_propagation_endorsements","sender_propagation_ops","start_retrieval_thread","storage","storage","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_block_retrieval","vzip","vzip","EndorsementHandler","borrow","borrow_mut","cache","commands_propagation","commands_retrieval","deref","deref_mut","deserialize","drop","endorsement_propagation_thread","endorsement_retrieval_thread","from","init","into","into_request","layout_raw","messages","new","pointer_metadata","propagation","retrieval","stop","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","EndorsementCache","SharedEndorsementCache","borrow","borrow_mut","checked_endorsements","deref","deref_mut","deserialize","drop","endorsements_known_by_peer","from","init","insert_checked_endorsement","insert_peer_known_endorsements","into","into_request","layout_raw","max_known_endorsements_by_peer","new","pointer_metadata","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","update_cache","vzip","EndorsementHandlerPropagationCommand","PropagateEndorsements","Stop","__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","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","EndorsementHandlerRetrievalCommand","Stop","borrow","borrow_mut","deref","deref_mut","deserialize","drop","from","init","into","into_request","layout_raw","pointer_metadata","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","EndorsementMessage","EndorsementMessageDeserializer","EndorsementMessageDeserializerArgs","EndorsementMessageSerializer","Endorsements","Endorsements","MessageTypeId","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_id","clone","clone_into","clone_to_uninit","default","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","endorsement_count","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from","from","from","from_ref","id_deserializer","id_serializer","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","length_endorsements_deserializer","length_endorsements_serializer","max_length_endorsements","new","new","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","secure_share_deserializer","secure_share_serializer","serialize","thread_count","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","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","PropagationThread","THREAD_NAME","active_connections","borrow","borrow_mut","cache","config","deref","deref_mut","deserialize","drop","endorsement_serializer","from","init","into","into_request","layout_raw","pointer_metadata","propagate_endorsements","receiver","run","start_propagation_thread","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","RetrievalThread","THREAD_NAME","ban_peer","borrow","borrow_mut","cache","config","deref","deref_mut","deserialize","drop","endorsement_message_deserializer","from","init","internal_sender","into","into_request","layout_raw","metrics","note_endorsements_from_peer","peer_cmd_sender","pointer_metadata","pool_controller","process_message","receiver","receiver_ext","run","selector_controller","start_retrieval_thread","storage","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","OperationHandler","borrow","borrow_mut","cache","commands_propagation","commands_retrieval","deref","deref_mut","deserialize","drop","from","init","into","into_request","layout_raw","messages","new","operation_propagation_thread","operation_retrieval_thread","pointer_metadata","propagation","retrieval","stop","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","OperationCache","SharedOperationCache","borrow","borrow_mut","checked_operations","checked_operations_prefix","deref","deref_mut","deserialize","drop","from","init","insert_checked_operation","insert_peer_known_ops","into","into_request","layout_raw","max_known_ops_by_peer","new","ops_known_by_peer","pointer_metadata","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","update_cache","vzip","OperationHandlerPropagationCommand","PropagateOperations","Stop","__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","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","OperationHandlerRetrievalCommand","Stop","__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","to_owned","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","AskForOperations","AskForOperations","MessageTypeId","OperationMessage","OperationMessageDeserializer","OperationMessageDeserializerArgs","OperationMessageSerializer","Operations","Operations","OperationsAnnouncement","OperationsAnnouncement","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_id","clone","clone_into","clone_to_uninit","default","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","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from","from","from","from_ref","id_deserializer","id_serializer","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","max_datastore_value_length","max_function_name_length","max_op_datastore_entry_count","max_op_datastore_key_length","max_op_datastore_value_length","max_operations","max_operations_prefix_ids","max_parameters_size","new","new","operation_prefix_ids_deserializer","operation_prefix_ids_serializer","operations_deserializer","operations_serializer","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","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","PropagationThread","THREAD_NAME","_massa_metrics","active_connections","announce_ops","borrow","borrow_mut","cache","config","deref","deref_mut","deserialize","drop","from","init","internal_receiver","into","into_request","layout_raw","next_batch","op_storage","operation_message_serializer","pointer_metadata","prune_propagation_storage","run","start_propagation_thread","stored_for_propagation","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","OperationBatchItem","RetrievalThread","THREAD_NAME","_massa_metrics","active_connections","asked_operations","ban_node","borrow","borrow","borrow_mut","borrow_mut","cache","config","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","from","from","init","init","instant","internal_sender","into","into","into_request","into_request","layout_raw","layout_raw","note_operations_from_peer","on_asked_operations_received","on_operations_announcements_received","op_batch_buffer","operation_message_serializer","operations_prefix_ids","peer_cmd_sender","peer_id","pointer_metadata","pointer_metadata","pool_controller","receiver","receiver_ext","run","start_retrieval_thread","storage","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_ask_operation","vzip","vzip","MassaHandshake","PeerManagementHandler","THREAD_NAME","__clone_box","announcement","announcement_deserializer","announcement_serializer","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","config","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","fallback_function","from","from","from_ref","handshake_fail","init","init","into","into","into_request","into_request","layout_raw","layout_raw","messages","models","new","new","peer_db","peer_db","peer_id_deserializer","peer_id_serializer","peer_mngt_msg_serializer","perform_handshake","pointer_metadata","pointer_metadata","sender","stop","tester","testers","thread_join","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","version_deserializer","version_serializer","vzip","vzip","Announcement","AnnouncementDeserializer","AnnouncementDeserializerArgs","AnnouncementSerializer","__clone_box","__clone_box","__clone_box","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","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","from","from","from","from","from_ref","from_ref","from_ref","hash","init","init","init","init","into","into","into","into","into_request","into_request","into_request","into_request","ip_addr_deserializer","layout_raw","layout_raw","layout_raw","layout_raw","length_listeners_deserializer","listeners","max_listeners","new","new","new","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","serialize","serialized","signature","timestamp","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","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_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","vzip","vzip","vzip","vzip","ListPeers","ListPeers","MessageTypeId","NewPeerConnected","NewPeerConnected","PeerManagementMessage","PeerManagementMessageDeserializer","PeerManagementMessageDeserializerArgs","PeerManagementMessageSerializer","__clone_box","__clone_box","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","default","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","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from","from","from","from_ref","from_ref","id_deserializer","id_serializer","init","init","init","init","init","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","ip_addr_deserializer","ip_addr_serializer","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","length_serializer","listener_deserializer","listeners_length_deserializer","max_listeners_per_peer","max_peers_per_announcement","new","new","peer_id_deserializer","peer_id_serializer","peers_length_deserializer","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","serialize","to_owned","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","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","Ban","Banned","ConnectionMetadata","GetBootstrapPeers","HandshakeFailed","InHandshake","InitialPeers","PeerDB","PeerInfo","PeerManagementChannel","PeerManagementCmd","PeerMessageTuple","PeerState","SharedPeerDB","Stop","THREE_DAYS_MS","Trusted","Unban","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","ban_peer","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_box","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","cmp","command_sender","compare","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","edit","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","failure","fmt","fmt","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","get_banned_peer_count","get_connection_metadata_or_default","get_known_peer_count","get_oldest_peer","get_peers","get_peers_in_test","get_peers_mut","get_rand_peers_to_send","get_tested_addresses","init","init","init","init","init","init","insert_peer_in_test","insert_tested_address","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","last_announce","last_failure","last_success","last_test_failure","last_test_success","last_try_connect","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","layout_raw","msg_sender","partial_cmp","peers","peers_in_test","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","random_priority","remove_peer_in_test","set_try_connect_failure_or_insert","set_try_connect_success_or_insert","set_try_connect_test_failure_or_insert","set_try_connect_test_success_or_insert","state","success","test_failure","test_success","tested_addresses","to_owned","to_owned","to_owned","to_owned","to_owned","try_connect","try_connect_history","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","unban_peer","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","responder","THREAD_NAME","Tester","borrow","borrow_mut","deref","deref_mut","deserialize","drop","from","handler","init","into","into_request","layout_raw","new","pointer_metadata","run","tcp_handshake","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","to_canonical","ProtocolManagerImpl","borrow","borrow_mut","connectivity_thread","deref","deref_mut","deserialize","drop","from","init","into","into_request","layout_raw","new","pointer_metadata","stop","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","Block","Block","Endorsement","Endorsement","Message","MessageTypeId","MessagesHandler","MessagesSerializer","Operation","Operation","PeerManagement","PeerManagement","__clone_box","__clone_box","block_message_serializer","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","endorsement_message_serializer","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","from","from","from","from","from","from","from","from_ref","from_ref","handle","id_deserializer","id_serializer","init","init","init","init","into","into","into","into","into_request","into_request","into_request","into_request","layout_raw","layout_raw","layout_raw","layout_raw","new","operation_message_serializer","peer_management_message_serializer","pointer_metadata","pointer_metadata","pointer_metadata","pointer_metadata","sender_blocks","sender_endorsements","sender_operations","sender_peers","serialize","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","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_ref","upcast_any_ref","upcast_any_ref","upcast_any_ref","vzip","vzip","vzip","vzip","with_block_message_serializer","with_endorsement_message_serializer","with_operation_message_serializer","with_peer_management_message_serializer","SMALL_BATCH_LIMIT","verify_sigs_batch","ProtocolChannels","block_handler_propagation","block_handler_retrieval","borrow","borrow_mut","connectivity_thread","create_protocol_controller","deref","deref_mut","deserialize","drop","endorsement_handler_propagation","endorsement_handler_retrieval","from","init","into","into_request","layout_raw","operation_handler_propagation","operation_handler_retrieval","peer_management_handler","pointer_metadata","start_protocol_controller","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","ActiveConnectionsTrait","NetworkController","NetworkControllerImpl","borrow","borrow_mut","clone_box","deref","deref_mut","deserialize","drop","from","get_active_connections","get_active_connections","get_nb_in_connections","get_nb_out_connections","get_peer_ids_connected","get_peer_ids_out_connection_queue","get_peers_connected","get_peers_connections_bandwidth","get_total_bytes_received","get_total_bytes_received","get_total_bytes_sent","get_total_bytes_sent","init","into","into_request","layout_raw","new","peernet_manager","pointer_metadata","send_to_peer","shutdown_connection","start_listener","start_listener","stop_listener","stop_listener","try_connect","try_connect","try_from","try_into","type_id","upcast_any_box","upcast_any_mut","upcast_any_ref","vzip","PeerDBTrait","ban_peer","clone_box","get_banned_peer_count","get_connection_metadata_or_default","get_known_peer_count","get_oldest_peer","get_peers","get_peers_in_test","get_peers_mut","get_rand_peers_to_send","get_tested_addresses","insert_peer_in_test","insert_tested_address","remove_peer_in_test","set_try_connect_failure_or_insert","set_try_connect_success_or_insert","set_try_connect_test_failure_or_insert","set_try_connect_test_success_or_insert","unban_peer"],"q":[[0,"massa_protocol_worker"],[13,"massa_protocol_worker::connectivity"],[44,"massa_protocol_worker::connectivity::ConnectivityCommand"],[45,"massa_protocol_worker::context"],[73,"massa_protocol_worker::controller"],[117,"massa_protocol_worker::handlers"],[121,"massa_protocol_worker::handlers::block_handler"],[151,"massa_protocol_worker::handlers::block_handler::cache"],[178,"massa_protocol_worker::handlers::block_handler::commands_propagation"],[208,"massa_protocol_worker::handlers::block_handler::commands_propagation::BlockHandlerPropagationCommand"],[210,"massa_protocol_worker::handlers::block_handler::commands_retrieval"],[238,"massa_protocol_worker::handlers::block_handler::commands_retrieval::BlockHandlerRetrievalCommand"],[240,"massa_protocol_worker::handlers::block_handler::messages"],[494,"massa_protocol_worker::handlers::block_handler::messages::BlockMessage"],[498,"massa_protocol_worker::handlers::block_handler::propagation"],[554,"massa_protocol_worker::handlers::block_handler::retrieval"],[644,"massa_protocol_worker::handlers::endorsement_handler"],[674,"massa_protocol_worker::handlers::endorsement_handler::cache"],[702,"massa_protocol_worker::handlers::endorsement_handler::commands_propagation"],[730,"massa_protocol_worker::handlers::endorsement_handler::commands_retrieval"],[751,"massa_protocol_worker::handlers::endorsement_handler::messages"],[893,"massa_protocol_worker::handlers::endorsement_handler::propagation"],[922,"massa_protocol_worker::handlers::endorsement_handler::retrieval"],[959,"massa_protocol_worker::handlers::operation_handler"],[989,"massa_protocol_worker::handlers::operation_handler::cache"],[1018,"massa_protocol_worker::handlers::operation_handler::commands_propagation"],[1046,"massa_protocol_worker::handlers::operation_handler::commands_retrieval"],[1073,"massa_protocol_worker::handlers::operation_handler::messages"],[1217,"massa_protocol_worker::handlers::operation_handler::propagation"],[1251,"massa_protocol_worker::handlers::operation_handler::retrieval"],[1315,"massa_protocol_worker::handlers::peer_handler"],[1385,"massa_protocol_worker::handlers::peer_handler::announcement"],[1504,"massa_protocol_worker::handlers::peer_handler::messages"],[1649,"massa_protocol_worker::handlers::peer_handler::models"],[1871,"massa_protocol_worker::handlers::peer_handler::models::PeerManagementCmd"],[1872,"massa_protocol_worker::handlers::peer_handler::tester"],[1897,"massa_protocol_worker::ip"],[1898,"massa_protocol_worker::manager"],[1921,"massa_protocol_worker::messages"],[2055,"massa_protocol_worker::sig_verifier"],[2057,"massa_protocol_worker::worker"],[2087,"massa_protocol_worker::wrap_network"],[2132,"massa_protocol_worker::wrap_peer_db"],[2152,"massa_protocol_exports::settings"],[2153,"massa_protocol_exports::controller_trait"],[2154,"alloc::boxed"],[2155,"massa_pos_exports::controller_traits"],[2156,"massa_consensus_exports::controller_trait"],[2157,"massa_protocol_exports::bootstrap_peers"],[2158,"core::option"],[2159,"massa_pool_exports::controller_traits"],[2160,"massa_storage"],[2161,"massa_versioning::versioning"],[2162,"massa_metrics"],[2163,"massa_signature::signature_impl"],[2164,"massa_models::node"],[2165,"massa_protocol_exports::error"],[2166,"core::result"],[2167,"dyn_clone::sealed"],[2168,"rkyv::with"],[2169,"tonic::request"],[2170,"core::alloc::layout"],[2171,"massa_protocol_exports::peer_id"],[2172,"alloc::vec"],[2173,"massa_channel::sender"],[2174,"massa_channel::receiver"],[2175,"core::net::socket_addr"],[2176,"peernet::transports"],[2177,"std::collections::hash::map"],[2178,"parking_lot::rwlock"],[2179,"alloc::sync"],[2180,"alloc::string"],[2181,"core::net::ip_addr"],[2182,"std::thread"],[2183,"core::any"],[2184,"massa_models::stats"],[2185,"peernet::peer"],[2186,"massa_models::block_id"],[2187,"massa_models::block_header"],[2188,"massa_models::prehash"],[2189,"std::collections::hash::set"],[2190,"core::fmt"],[2191,"nom::internal"],[2192,"nom::error"],[2193,"massa_serialization"],[2194,"num_enum"],[2195,"massa_models::operation"],[2196,"massa_models::endorsement"],[2197,"peernet::transports::endpoint"],[2198,"peernet::error"],[2199,"massa_models::serialization"],[2200,"core::cmp"],[2201,"massa_time"],[2202,"core::time"],[2203,"massa_models::version"],[2204,"massa_hash::hash"],[2205,"peernet::network_manager"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,23,0,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,0,23,0,23,23,23,23,23,23,23,147,0,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,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,49,49,49,49,49,49,49,49,0,0,0,0,0,65,65,65,65,0,0,0,65,65,65,65,65,65,65,65,65,0,65,65,0,0,65,65,65,65,65,65,65,65,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,54,0,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,148,148,0,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,149,149,0,0,0,0,0,0,0,76,80,76,80,72,73,76,80,81,0,73,81,72,73,81,72,73,81,72,73,74,75,75,74,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,82,72,73,74,72,73,74,72,73,74,72,74,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,75,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,82,72,80,81,72,72,72,72,72,72,80,80,80,80,80,80,81,81,81,81,81,81,72,73,76,80,81,75,82,72,73,76,80,80,81,74,72,73,74,75,74,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,82,75,82,72,73,76,80,81,74,74,82,82,82,82,82,82,82,82,75,74,74,75,75,75,82,72,73,76,80,81,74,74,74,82,72,73,74,75,82,72,73,76,80,80,81,81,74,80,81,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,75,82,72,73,76,80,81,74,150,151,150,151,0,0,0,87,86,86,86,86,87,86,87,86,86,86,87,86,87,86,87,86,87,87,86,87,87,86,87,86,87,86,87,86,87,86,86,86,87,86,86,0,86,87,86,87,86,87,86,87,86,87,86,87,86,87,86,87,0,0,0,89,88,88,88,88,88,88,88,89,88,89,88,88,89,89,89,88,88,88,89,88,89,88,89,88,89,88,89,88,89,89,88,88,88,89,88,89,88,89,88,89,88,89,88,88,88,89,88,88,88,88,88,88,88,88,88,89,88,88,89,88,88,88,88,88,88,88,88,0,88,89,89,88,89,88,89,88,89,88,89,88,89,88,89,88,88,89,0,93,93,0,0,0,93,93,93,93,93,93,93,93,93,93,93,0,93,93,0,0,93,93,93,93,93,93,93,93,0,0,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,0,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,0,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,0,0,0,0,97,98,0,95,99,96,97,98,95,99,96,97,98,95,99,95,95,95,95,99,96,97,98,95,99,96,97,98,95,99,96,96,97,98,95,99,96,97,98,95,99,97,98,97,97,97,97,97,97,98,98,98,98,98,98,97,98,99,96,97,98,98,95,95,96,95,99,96,97,98,95,99,96,97,98,95,99,96,97,98,95,99,96,97,98,95,96,95,99,96,95,99,96,97,98,95,96,95,95,99,95,99,96,97,98,98,95,98,99,96,97,98,95,99,96,97,98,95,99,96,97,98,95,99,96,97,98,95,99,96,97,98,95,99,96,97,98,95,0,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,0,100,100,100,100,100,100,100,0,0,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,0,101,101,101,101,101,101,101,101,0,101,101,101,101,101,101,101,101,0,104,104,0,0,0,104,104,104,104,104,104,104,104,104,0,104,104,104,104,0,0,104,104,104,104,104,104,104,104,0,0,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,0,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,108,109,0,0,0,0,0,108,109,108,109,106,107,110,108,109,106,107,110,108,109,106,110,106,106,106,106,107,110,108,109,106,107,110,108,109,106,107,107,110,108,109,106,107,110,108,109,106,109,109,109,109,109,109,109,108,109,107,110,108,109,109,106,106,107,106,107,110,108,109,106,107,110,108,109,106,107,110,108,109,106,107,110,108,109,106,110,110,110,110,110,110,110,110,107,106,107,106,107,106,107,110,108,109,106,106,106,107,110,108,109,109,106,109,107,110,108,109,106,107,110,108,109,106,107,110,108,109,106,107,110,108,109,106,107,110,108,109,106,107,110,108,109,106,0,0,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,0,111,111,111,111,111,111,111,111,0,0,0,112,112,112,112,152,112,152,112,112,112,152,112,152,112,152,112,152,112,152,112,152,112,152,112,152,112,152,112,152,112,0,112,112,112,112,152,112,152,152,112,112,112,112,112,0,112,152,112,152,112,152,112,152,112,152,112,152,112,112,152,112,0,0,0,114,0,114,114,117,114,117,114,114,114,114,114,117,114,117,114,117,114,117,114,114,117,114,114,114,117,114,117,114,117,114,117,114,0,0,117,114,117,114,114,114,114,114,117,114,117,117,0,117,117,114,117,114,117,114,117,114,117,114,117,114,117,114,114,114,117,114,0,0,0,0,118,119,120,121,118,119,120,121,118,119,120,118,119,120,118,119,120,118,119,120,121,118,119,120,121,118,119,120,121,118,119,120,120,121,118,119,120,118,118,118,118,118,118,118,118,121,118,119,120,118,119,120,118,121,118,119,120,121,118,119,120,121,118,119,120,120,121,118,119,120,120,118,121,118,119,120,121,118,119,120,119,118,118,118,118,119,120,121,118,119,120,121,118,119,120,121,118,119,120,121,118,119,120,121,118,119,120,121,118,119,120,121,118,119,120,122,125,0,122,125,0,0,0,0,122,123,124,127,122,125,123,124,127,122,125,123,122,123,122,123,122,123,123,124,127,122,125,123,124,127,122,125,123,124,124,127,122,125,123,124,127,122,125,123,125,125,125,125,125,125,125,122,125,124,127,122,125,125,123,122,123,124,123,124,127,122,125,123,124,127,122,125,123,124,127,122,125,123,124,123,124,127,122,125,123,123,0,124,127,127,124,123,124,123,124,124,127,122,125,123,123,122,123,124,127,122,125,125,123,125,124,127,122,125,123,124,127,122,125,123,124,127,122,125,123,124,127,122,125,123,124,127,122,125,123,124,127,122,125,123,57,131,0,57,131,131,0,0,0,0,0,0,0,0,57,0,131,57,129,128,130,131,57,128,153,129,128,130,131,57,153,129,128,130,131,57,129,128,130,131,57,128,129,128,130,131,57,129,128,130,131,57,129,153,129,129,128,153,129,128,130,131,57,153,129,128,130,131,57,153,129,128,130,131,57,153,129,128,130,131,57,129,129,131,129,129,129,129,129,129,131,131,131,131,131,131,129,130,131,153,129,128,130,131,57,129,128,130,131,57,128,128,128,128,128,128,128,128,128,153,129,128,130,131,57,128,128,153,129,128,130,131,57,153,129,128,130,131,57,130,129,129,129,129,129,153,129,128,130,131,57,153,129,128,128,153,129,128,130,131,57,129,128,128,128,128,128,130,129,129,129,128,129,128,130,131,57,129,128,153,129,128,130,131,57,153,129,128,130,131,57,153,129,128,130,131,57,128,153,129,128,130,131,57,153,129,128,130,131,57,153,129,128,130,131,57,153,129,128,130,131,57,154,0,0,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,0,0,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,141,140,141,140,0,0,0,0,141,140,141,140,139,41,139,141,140,139,41,141,140,139,41,139,41,139,41,139,41,139,141,140,139,41,141,140,139,41,141,140,139,41,141,140,139,41,139,140,140,140,140,140,140,140,141,140,141,141,141,141,141,140,140,139,41,139,41,41,41,139,141,140,139,41,141,140,139,41,141,140,139,41,141,140,139,41,139,139,139,141,140,139,41,41,41,41,41,139,139,41,141,140,140,139,41,140,141,140,139,41,141,140,139,41,141,140,139,41,141,140,139,41,141,140,139,41,141,140,139,41,139,139,139,139,0,0,0,4,4,4,4,4,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,4,4,4,4,4,4,4,0,0,0,145,145,61,145,145,145,145,145,30,145,61,61,61,61,61,61,30,145,30,145,145,145,145,145,145,145,145,61,61,30,145,30,145,30,145,145,145,145,145,145,145,145,0,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38],"f":"```{b{{j{{f{d}}h}}}}`````{{b{f{l}}{f{n}}{Ab{A`}}{f{Ad}}AfhAhAj}{{Bd{{j{{f{Al}}AnB`}}Bb}}}}```````{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{Bn}}}Bn}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{{Bf{c}}}c{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{Bf}{{Cj{f{l}}{f{Cl}}{f{n}}{f{Ad}}{j{{Db{{j{Cj{D`{Cn}}}}}}{Dd{{j{Cj{D`{Cn}}}}}}}}{j{{Db{{j{Cj{D`{Cn}}}}}}{Dd{{j{Cj{D`{Cn}}}}}}}}{j{{Db{{j{Cj{D`{Cn}}}}}}{Dd{{j{Cj{D`{Cn}}}}}}}}{j{{Db{{j{Cj{D`{Cn}}}}}}{Dd{{j{Cj{D`{Cn}}}}}}}}{Dj{Cj{Dj{DfDh}}}}{E`{{Dn{Dl}}}}AfhEb{Dj{Ed{j{{D`{Ef}}Eh}}}}EhbAhAj}{{Bd{{j{{Db{Bn}}{Ej{Bj}}}}Bb}}}}{{{Bf{c}}}e{}{}}{{Df{Bf{Bl{f{Cl}}}}{Bf{{E`{{Dn{Dl}}}}}}{Bf{b}}}{{Bd{BjBb}}}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}};``{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{F`}}}F`}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{{Bf{c}}}c{}}{{{Bf{F`}}}Cj}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}`{Bf}{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}9`{{{Bf{c}}Bh}Bj{}}{{{Bf{Fb}}{D`{Cj}}}{{Bd{BjBb}}}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{Fb}}}Fb}{{{Bf{Fb}}}{{f{d}}}}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{{Bf{c}}}c{}}{{{Bf{Fb}}}{{Bd{A`Bb}}}}{{{Bf{Fb}}}{{Bd{{j{Fd{Dj{Cj{j{DfFf}}}}}}Bb}}}}{{}C`}{{{Bf{Fb}}FhAf}{{Bd{BjBb}}}}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{{{Db{Fj}}{Db{Fl}}{Db{Fn}}{Db{G`}}{Db{Bn}}{Db{Gb}}}Fb}{{{Bf{Fb}}Fh}{{Bd{BjBb}}}}{Bf}{{{Bf{Fb}}Af}{{Bd{BjBb}}}}0{{{Bf{Fb}}{Gf{Fh{Ab{Gd}}}}{Gh{Fh}}}{{Bd{BjBb}}}}``````{{{Bf{BlFb}}}Bj}{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{Bf{Fb}}{D`{Cj}}}{{Bd{BjBb}}}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}?```````{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}```{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}`{{{f{Gj}}{f{l}}{f{n}}{f{Ad}}{Dd{{j{Cj{D`{Cn}}}}}}{Db{Fj}}{Dd{Fj}}{Dd{Fl}}{Db{Fl}}{Db{Fn}}{Db{G`}}{Db{Gb}}b{E`{{Dn{Gl}}}}{E`{{Dn{Gn}}}}{E`{{Dn{H`}}}}AfAhAj}Hb}{Bf}``{{{Bf{BlHb}}}Bj}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}:```{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}`{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{}C`}{{{Bf{BlH`}}{Bf{Cj}}{Bf{{Hd{Fh}}}}Hf}Bj}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}`{{HhHh}H`}{Bf}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}{{{Bf{BlH`}}{Bf{{Hj{Cj}}}}}Bj}:````{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{Fl}}}Fl}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{{{Bf{Fl}}{Bf{BlHl}}}Hn}{cc{}}{{{Bf{c}}}c{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{Bf}{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}9`````{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{Fj}}}Fj}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{{Bf{c}}}c{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{Bf}{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}9```````````````````````````{{{Bf{c}}Bh}Bj{}}00```{{{Bf{c}}}{{Bf{e}}}{}{}}0000000{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}0000000`{{{Bf{I`}}}I`}{{{Bf{Ib}}}Ib}{{{Bf{Id}}}Id}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}00{{{Bf{c}}}Bj{}}00{{}I`}{{}Id}{C`{{Bf{c}}}{}}0000000{C`{{Bf{Blc}}}{}}0000000{{{Bf{If}}{Bf{{Hd{Cn}}}}}{{Ij{{Bf{{Hd{Cn}}}}Ihc}}}{{Il{{Bf{{Hd{Cn}}}}}}{In{{Bf{{Hd{Cn}}}}}}}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}0000000{C`Bj}0000000`{{{Bf{I`}}{Bf{I`}}}Hf}{{{Bf{J`}}{Bf{J`}}}Hf}{{{Bf{Jb}}{Bf{Jb}}}Hf}{{{Bf{c}}{Bf{e}}}Hf{}{}}00000000000000000{{{Bf{I`}}{Bf{BlHl}}}Hn}{{{Bf{Ib}}{Bf{BlHl}}}Hn}{{{Bf{Ih}}{Bf{BlHl}}}Hn}{{{Bf{J`}}{Bf{BlHl}}}Hn}{{{Bf{Jb}}{Bf{BlHl}}}Hn}{cc{}}0000{{{Bf{Ih}}}J`}111{{{Bf{c}}}c{}}00``{{}C`}0000000{ce{}{}}0000000{c{{Cd{e}}}{}{}}0000000`{{}{{Bd{CfCh}}}}0000000`````````{JdIf}{{}Id}```{Bf}0000000`{{{Bf{Id}}{Bf{Ih}}{Bf{Bl{D`{Cn}}}}}{{Bd{BjJf}}}}`{{{Bf{c}}}e{}{}}00{c{{Bd{e}}}{}{}}0000{Jh{{Bd{J`{Jj{J`}}}}}}1{Jh{{Bd{Jb{Jj{Jb}}}}}}22{c{{Bd{J`{Jj{J`}}}}}{}}{c{{Bd{Jb{Jj{Jb}}}}}{}}44444444{{{Bf{c}}}El{}}0000000{{{f{c}}}{{f{En}}}{}}0000000{{{Bf{Blc}}}{{Bf{BlEn}}}{}}0000000{{{Bf{c}}}{{Bf{En}}}{}}0000000{ce{}{}}0000000`````````{{{Bf{BlJl}}{Bf{{Hd{Cj}}}}}Bj}`{{{Bf{c}}}{{Bf{e}}}{}{}}0{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}0``{C`{{Bf{c}}}{}}0{C`{{Bf{Blc}}}{}}0{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}0{C`Bj}0{{{Bf{Jn}}{Bf{BlHl}}}Hn}{cc{}}0`{{}C`}0::{c{{Cd{e}}}{}{}}0{{}{{Bd{CfCh}}}}0`{{{Bf{BlJl}}}Bj}{Bf}0`1{{{f{Gj}}{Dd{Fl}}{Db{Gb}}b{E`{{Dn{H`}}}}}{{Ej{Bj}}}}``{c{{Bd{e}}}{}{}}000{{{Bf{c}}}El{}}0{{{f{c}}}{{f{En}}}{}}0{{{Bf{Blc}}}{{Bf{BlEn}}}{}}0{{{Bf{c}}}{{Bf{En}}}{}}0{ce{}{}}0```{{{Bf{c}}Bh}Bj{}}```{{{Bf{BlK`}}{Bf{{Hd{Cj}}}}}{{Bd{BjBb}}}}``{{{Bf{c}}}{{Bf{e}}}{}{}}0{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}0`{{{Bf{K`}}{Bf{Gd}}}{{Bd{BjBb}}}}{{{Bf{Kb}}}Kb}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}``{C`{{Bf{c}}}{}}0{C`{{Bf{Blc}}}{}}0{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}0{C`Bj}0`{{{Bf{Kb}}{Bf{BlHl}}}Hn}{cc{}}0{{{Bf{c}}}c{}}{{{Bf{BlK`}}{Bf{Fh}}}Bj}{{{Bf{BlK`}}{Bf{Fh}}}{{Ab{{D`{Kd}}}}}}{{{Bf{Af}}{Bf{{Hd{Kd}}}}}C`}`{{}C`}0{ce{}{}}0{c{{Cd{e}}}{}{}}0{{}{{Bd{CfCh}}}}06``{{{Ab{Gd}}Af}Kb}`{{{Bf{BlK`}}{Bf{Gd}}{Bf{Cj}}}{{Bd{HfBb}}}}{{{Bf{BlK`}}CjFhI`}Bj}{{{Bf{BlK`}}CjFh{D`{Kf}}}Bj}{{{Bf{BlK`}}CjGd}Bj}{{{Bf{BlK`}}CjFhIb}Bj}{{{Bf{BlK`}}CjFh{D`{Kd}}}Bj}````{Bf}0```{{{Bf{BlK`}}{Bf{{Gh{Fh}}}}}Bj}{{{Bf{BlK`}}}Bj}```{{{f{Gj}}{f{l}}{f{n}}{f{Ad}}{Dd{{j{Cj{D`{Cn}}}}}}{Dd{Fj}}{Db{Fl}}{Db{Fn}}{Db{G`}}{Db{Gb}}b{E`{{Dn{Gl}}}}{E`{{Dn{Gn}}}}{E`{{Dn{H`}}}}AfAhAj}{{Ej{Bj}}}}``{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}000{{{Bf{c}}}El{}}0{{{f{c}}}{{f{En}}}{}}0{{{Bf{Blc}}}{{Bf{BlEn}}}{}}0{{{Bf{c}}}{{Bf{En}}}{}}07{ce{}{}}0`{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}```{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}``{cc{}}{{}C`}8{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}`{{{f{Ad}}{f{l}}{E`{{Dn{Gl}}}}Afb{f{Gj}}{Dd{{j{Cj{D`{Cn}}}}}}{Db{Kh}}{Dd{Kh}}{Db{G`}}{Dd{G`}}{Db{Gb}}Aj}Kj}{Bf}``{{{Bf{BlKj}}}Bj}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}{ce{}{}}``{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}`{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}`{cc{}}{{}C`}{{{Bf{BlGl}}Kl}Bj}{{{Bf{BlGl}}{Bf{Cj}}{Bf{{Hd{Kl}}}}}Bj}:{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}`{{HhHh}Gl}{Bf}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}{{{Bf{BlGl}}{Bf{{Hj{Cj}}}}}Bj}{ce{}{}}```{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{G`}}}G`}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{{Bf{c}}}c{}}{{}C`}={c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{Bf}{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}{ce{}{}}``{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{}C`}8{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{Bf}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}{ce{}{}}```````{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}0000{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}0000`{{{Bf{Kn}}}Kn}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{{}Kn}{C`{{Bf{c}}}{}}0000{C`{{Bf{Blc}}}{}}0000{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{{{Bf{L`}}{Bf{{Hd{Cn}}}}}{{Ij{{Bf{{Hd{Cn}}}}Lbc}}}{{Il{{Bf{{Hd{Cn}}}}}}{In{{Bf{{Hd{Cn}}}}}}}}1111{C`Bj}0000`{{{Bf{Lb}}{Bf{Lb}}}Hf}{{{Bf{Ld}}{Bf{Ld}}}Hf}{{{Bf{c}}{Bf{e}}}Hf{}{}}00000000000{{{Bf{Lb}}{Bf{BlHl}}}Hn}{{{Bf{Ld}}{Bf{BlHl}}}Hn}{cc{}}00{{{Bf{Lb}}}Ld}11{{{Bf{c}}}c{}}``{{}C`}0000{ce{}{}}0000{c{{Cd{e}}}{}{}}0000{{}{{Bd{CfCh}}}}0000```{LfL`}{{}Kn}{Bf}0000``{{{Bf{Kn}}{Bf{Lb}}{Bf{Bl{D`{Cn}}}}}{{Bd{BjJf}}}}`{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}00{Jh{{Bd{Ld{Jj{Ld}}}}}}11{c{{Bd{Ld{Jj{Ld}}}}}{}}22222{{{Bf{c}}}El{}}0000{{{f{c}}}{{f{En}}}{}}0000{{{Bf{Blc}}}{{Bf{BlEn}}}{}}0000{{{Bf{c}}}{{Bf{En}}}{}}0000>>>>>```{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}``{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}`{cc{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{Bf}{{{Bf{BlLh}}Af}Bj}`{{{Bf{BlLh}}}Bj}{{{Dd{G`}}{E`{{Dn{Gl}}}}b{f{Gj}}}{{Ej{Bj}}}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}};``{{{Bf{BlLj}}{Bf{Cj}}}{{Bd{BjBb}}}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}``{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}`{cc{}}{{}C`}`{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}`{{{D`{Ll}}{Bf{Cj}}{Bf{{E`{{Dn{Gl}}}}}}{Bf{l}}{Bf{Af}}{Bf{b}}{Bf{{Db{G`}}}}{Bf{BlAd}}}{{Bd{BjBb}}}}`{Bf}`{{{Bf{BlLj}}Cj{D`{Cn}}}Bj}``{{{Bf{BlLj}}}Bj}`{{{Dd{{j{Cj{D`{Cn}}}}}}{Dd{Kh}}{Db{G`}}{Db{Gb}}{E`{{Dn{Gl}}}}{f{l}}{f{Ad}}bAfAj}{{Ej{Bj}}}}`{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}<`{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}```{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}`{{{f{Ad}}Afb{E`{{Dn{Gn}}}}{f{Gj}}{Dd{{j{Cj{D`{Cn}}}}}}{Db{Ln}}{Dd{Ln}}{Db{Fn}}{Dd{Fn}}{Db{Gb}}Aj}M`}``{Bf}``{{{Bf{BlM`}}}Bj}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}:``{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}``{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{}C`}{{{Bf{BlGn}}Kd}Bj}{{{Bf{BlGn}}{Bf{Cj}}{Bf{{Hd{Mb}}}}}Bj}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}`{{HhHh}Gn}`{Bf}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}{{{Bf{BlGn}}{Bf{{Hj{Cj}}}}}Bj}:```{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{Fn}}}Fn}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{{Bf{c}}}c{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{Bf}{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}9``{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{Ln}}}Ln}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{{Bf{c}}}c{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{Bf}{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}9```````````{{{Bf{c}}Bh}Bj{}}{{{Bf{c}}}{{Bf{e}}}{}{}}0000{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}0000`{{{Bf{Md}}}Md}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}{{}Md}{C`{{Bf{c}}}{}}0000{C`{{Bf{Blc}}}{}}0000{{{Bf{Mf}}{Bf{{Hd{Cn}}}}}{{Ij{{Bf{{Hd{Cn}}}}Mhc}}}{{Il{{Bf{{Hd{Cn}}}}}}{In{{Bf{{Hd{Cn}}}}}}}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}0000{C`Bj}0000{{{Bf{Mj}}{Bf{Mj}}}Hf}{{{Bf{c}}{Bf{e}}}Hf{}{}}00000{{{Bf{Mh}}{Bf{BlHl}}}Hn}{{{Bf{Mj}}{Bf{BlHl}}}Hn}{cc{}}000{{{Bf{Mh}}}Mj}1{{{Bf{c}}}c{}}``{{}C`}0000{ce{}{}}0000{c{{Cd{e}}}{}{}}0000{{}{{Bd{CfCh}}}}0000````````{MlMf}{{}Md}````{Bf}0000{{{Bf{Md}}{Bf{Mh}}{Bf{Bl{D`{Cn}}}}}{{Bd{BjJf}}}}{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}000{Jh{{Bd{Mj{Jj{Mj}}}}}}1{c{{Bd{Mj{Jj{Mj}}}}}{}}22222{{{Bf{c}}}El{}}0000{{{f{c}}}{{f{En}}}{}}0000{{{Bf{Blc}}}{{Bf{BlEn}}}{}}0000{{{Bf{c}}}{{Bf{En}}}{}}0000>>>>>````{{{Bf{BlMn}}}Bj}{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}``{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{}C`}`{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}```{Bf}<<{{{Dd{Fn}}{f{Gj}}b{E`{{Dn{Gn}}}}AfAj}{{Ej{Bj}}}}`{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}9``````{{{Bf{BlN`}}{Bf{Cj}}}{{Bd{BjBb}}}}{{{Bf{c}}}{{Bf{e}}}{}{}}0{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}0``{C`{{Bf{c}}}{}}0{C`{{Bf{Blc}}}{}}0{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}0{C`Bj}0{cc{}}0{{}C`}0``{ce{}{}}0{c{{Cd{e}}}{}{}}0{{}{{Bd{CfCh}}}}0{{{Bf{Af}}{Bf{Bl{E`{{Dn{Gn}}}}}}{Bf{b}}{D`{Kf}}{Bf{Cj}}{Bf{Bl{Db{Fn}}}}{Bf{Bl{f{Ad}}}}}{{Bd{BjBb}}}}{{{Bf{BlN`}}{Bf{Cj}}Nb}{{Bd{BjBb}}}}{{{Bf{BlN`}}Nb{Bf{Cj}}}{{Bd{BjBb}}}}`````{Bf}0```{{{Bf{BlN`}}}Bj}{{{Dd{{j{Cj{D`{Cn}}}}}}{f{Ad}}Afb{E`{{Dn{Gn}}}}{f{Gj}}{Dd{Ln}}{Db{Fn}}{Db{Gb}}Aj}{{Ej{Bj}}}}`{c{{Bd{e}}}{}{}}000{{{Bf{c}}}El{}}0{{{f{c}}}{{f{En}}}{}}0{{{Bf{Blc}}}{{Bf{BlEn}}}{}}0{{{Bf{c}}}{{Bf{En}}}{}}0{{{Bf{BlN`}}}{{Bd{BjBb}}}}>>```{{{Bf{c}}Bh}Bj{}}```{{{Bf{c}}}{{Bf{e}}}{}{}}0{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}0{{{Bf{Nd}}}Nd}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}{{{Bf{c}}}Bj{}}`{C`{{Bf{c}}}{}}0{C`{{Bf{Blc}}}{}}0{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}0{C`Bj}0{{{Bf{BlNd}}{Bf{F`}}{Bf{BlNf}}{Bf{{Dj{DfDh}}}}}{{Nh{Bj}}}}{cc{}}0{{{Bf{c}}}c{}}{{{Bf{BlNd}}{Bf{Df}}}Bj}{{}C`}0{ce{}{}}0{c{{Cd{e}}}{}{}}0{{}{{Bd{CfCh}}}}0``{{{Dj{Cj{Dj{DfDh}}}}Cj{E`{{Dn{Dl}}}}{j{{Db{{j{Cj{D`{Cn}}}}}}{Dd{{j{Cj{D`{Cn}}}}}}}}{j{{Db{Gb}}{Dd{Gb}}}}Eb{f{Gj}}{Dj{Ed{j{{D`{Ef}}C`}}}}C`{Bf{b}}Aj}Nj}{{{E`{{Dn{Dl}}}}b}Nd}`````{{{Bf{BlNd}}{Bf{F`}}{Bf{BlNf}}{Bf{{Dj{DfDh}}}}Eb}{{Nh{Cj}}}}{Bf}0`{{{Bf{BlNj}}}Bj}```{{{Bf{c}}}e{}{}}{c{{Bd{e}}}{}{}}000{{{Bf{c}}}El{}}0{{{f{c}}}{{f{En}}}{}}0{{{Bf{Blc}}}{{Bf{BlEn}}}{}}0{{{Bf{c}}}{{Bf{En}}}{}}0``==````{{{Bf{c}}Bh}Bj{}}00{{{Bf{c}}}{{Bf{e}}}{}{}}000{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}000{{{Bf{Nl}}}Nl}{{{Bf{Nn}}}Nn}{{{Bf{O`}}}O`}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}00{{{Bf{c}}}Bj{}}00{C`{{Bf{c}}}{}}000{C`{{Bf{Blc}}}{}}000{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}000{{{Bf{O`}}{Bf{{Hd{Cn}}}}}{{Ij{{Bf{{Hd{Cn}}}}Nlc}}}{{Il{{Bf{{Hd{Cn}}}}}}{In{{Bf{{Hd{Cn}}}}}}}}{C`Bj}000{{{Bf{Nl}}{Bf{Nl}}}Hf}{{{Bf{c}}{Bf{e}}}Hf{}{}}00000{{{Bf{Nl}}{Bf{BlHl}}}Hn}{cc{}}000{{{Bf{c}}}c{}}00`{{}C`}000{ce{}{}}000{c{{Cd{e}}}{}{}}000`{{}{{Bd{CfCh}}}}000```{{{Dj{DfDh}}{Ab{Ef}}{Bf{An}}}{{Nh{Nl}}}}{{}Nn}{ObO`}{Bf}000{{{Bf{Nn}}{Bf{Nl}}{Bf{Bl{D`{Cn}}}}}{{Bd{BjJf}}}}```{{{Bf{c}}}e{}{}}00{c{{Bd{e}}}{}{}}0000000{{{Bf{c}}}El{}}000{{{f{c}}}{{f{En}}}{}}000{{{Bf{Blc}}}{{Bf{BlEn}}}{}}000{{{Bf{c}}}{{Bf{En}}}{}}000====`````````{{{Bf{c}}Bh}Bj{}}0{{{Bf{c}}}{{Bf{e}}}{}{}}0000{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}0000{{{Bf{Od}}}Od}{{{Bf{Of}}}Of}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}0{{{Bf{c}}}Bj{}}0{{}Of}{C`{{Bf{c}}}{}}0000{C`{{Bf{Blc}}}{}}0000{{{Bf{Oh}}{Bf{{Hd{Cn}}}}}{{Ij{{Bf{{Hd{Cn}}}}Odc}}}{{Il{{Bf{{Hd{Cn}}}}}}{In{{Bf{{Hd{Cn}}}}}}}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}0000{C`Bj}0000{{{Bf{Oj}}{Bf{Oj}}}Hf}{{{Bf{c}}{Bf{e}}}Hf{}{}}00000{{{Bf{Od}}{Bf{BlHl}}}Hn}{{{Bf{Oj}}{Bf{BlHl}}}Hn}{cc{}}000{{{Bf{Od}}}Oj}1{{{Bf{c}}}c{}}0``{{}C`}0000{ce{}{}}0000{c{{Cd{e}}}{}{}}0000``{{}{{Bd{CfCh}}}}0000`{{{Bf{{Hd{Cn}}}}{Bf{Ol}}}{{Ij{{Bf{{Hd{Cn}}}}{j{DfDh}}c}}}{{Il{{Bf{{Hd{Cn}}}}}}{In{{Bf{{Hd{Cn}}}}}}}}```{OnOh}{{}Of}```{Bf}0000{{{Bf{Of}}{Bf{Od}}{Bf{Bl{D`{Cn}}}}}{{Bd{BjJf}}}}{{{Bf{c}}}e{}{}}0{c{{Bd{e}}}{}{}}00{Jh{{Bd{Oj{Jj{Oj}}}}}}11{c{{Bd{Oj{Jj{Oj}}}}}{}}22222{{{Bf{c}}}El{}}0000{{{f{c}}}{{f{En}}}{}}0000{{{Bf{Blc}}}{{Bf{BlEn}}}{}}0000{{{Bf{c}}}{{Bf{En}}}{}}0000?????``````````````````{{{Bf{c}}Bh}Bj{}}0000{{{Bf{BlA@`}}{Bf{Cj}}}Bj}{{{Bf{c}}}{{Bf{e}}}{}{}}00000{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}00000{{{Bf{A@b}}}A@b}{{{Bf{A@`}}}A@`}{{{Bf{A@d}}}A@d}{{{Bf{A@f}}}A@f}{{{Bf{Gb}}}Gb}{{{Bf{A@`}}}{{f{Dl}}}}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}0000{{{Bf{c}}}Bj{}}0000{{{Bf{A@b}}{Bf{A@b}}}A@h}`{{{Bf{c}}{Bf{e}}}A@h{}{}}{{}A@b}{{}A@`}{C`{{Bf{c}}}{}}00000{C`{{Bf{Blc}}}{}}00000{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}00000{C`Bj}00000{{A@bC`{Ab{A@j}}}A@b}{{{Bf{A@b}}{Bf{A@b}}}Hf}{{{Bf{A@f}}{Bf{A@f}}}Hf}{{{Bf{c}}{Bf{e}}}Hf{}{}}00000000000{{{Bf{BlA@b}}}Bj}{{{Bf{A@d}}{Bf{BlHl}}}Hn}{{{Bf{A@f}}{Bf{BlHl}}}Hn}{cc{}}00000{{{Bf{c}}}c{}}0000{{{Bf{A@`}}}Jh}{{{Bf{A@`}}{Bf{Df}}}A@b}1{{{Bf{A@`}}A@l{Bf{{Hj{Df}}}}}{{Ab{Df}}}}{{{Bf{A@`}}}{{Bf{{Dj{CjA@d}}}}}}{{{Bf{A@`}}}{{Bf{{Hj{Df}}}}}}{{{Bf{BlA@`}}}{{Bf{Bl{Dj{CjA@d}}}}}}{{{Bf{A@`}}C`}{{D`{{j{Cj{Dj{DfDh}}}}}}}}{{{Bf{A@`}}}{{Bf{{Dj{DfA@j}}}}}}{{}C`}00000{{{Bf{BlA@`}}{Bf{Df}}}Hf}{{{Bf{BlA@`}}{Bf{Df}}A@j}Bj}{ce{}{}}00000{c{{Cd{e}}}{}{}}00000``````{{}{{Bd{CfCh}}}}00000`{{{Bf{A@b}}{Bf{A@b}}}{{Ab{A@h}}}}``{Bf}00000`6{{{Bf{BlA@`}}{Bf{Df}}}Bj}000`{{{Bf{BlA@b}}}Bj}00`{{{Bf{c}}}e{}{}}00001`{c{{Bd{e}}}{}{}}00000000000{{{Bf{c}}}El{}}00000{{{Bf{BlA@`}}{Bf{Cj}}}Bj}{{{f{c}}}{{f{En}}}{}}00000{{{Bf{Blc}}}{{Bf{BlEn}}}{}}00000{{{Bf{c}}}{{Bf{En}}}{}}00000======```{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}`{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{{{E`{{Dn{Dl}}}}{f{Gj}}b{Dd{{j{Cj{Dj{DfDh}}}}}}Eb{Dj{Ed{j{{D`{Ef}}C`}}}}C`Aj}A@n}{Bf}{{{Bf{b}}{f{Gj}}{E`{{Dn{Dl}}}}Eb{Dj{Ed{j{{D`{Ef}}C`}}}}C`Aj}{{j{{j{{Db{{j{Cj{Dj{DfDh}}}}}}{Dd{{j{Cj{Dj{DfDh}}}}}}}}{D`{A@n}}}}}}{{Eb{E`{{Dn{Dl}}}}O`AA`AAbDf{Bf{b}}Aj}{{Nh{Cj}}}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}};{EfEf}`{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}`{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{{{j{{Db{Bn}}{Ej{Bj}}}}}AAd}{Bf}{{{Bf{BlAAd}}}Bj}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}:````````````{{{Bf{c}}Bh}Bj{}}0`{{{Bf{c}}}{{Bf{e}}}{}{}}000{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}000{{{Bf{AAf}}}AAf}{{{Bf{Eb}}}Eb}{{{Bf{c}}{Bf{Ble}}}Bj{}{}}0{{{Bf{c}}}Bj{}}0{{}AAf}{C`{{Bf{c}}}{}}000{C`{{Bf{Blc}}}{}}000{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}000{C`Bj}000`{{{Bf{AAh}}{Bf{AAh}}}Hf}{{{Bf{c}}{Bf{e}}}Hf{}{}}00000{{{Bf{AAj}}{Bf{BlHl}}}Hn}{{{Bf{AAh}}{Bf{BlHl}}}Hn}{IhAAj}{MhAAj}{cc{}}{LbAAj}{OdAAj}2{{{Bf{AAj}}}AAh}33{{{Bf{c}}}c{}}0{{{Bf{Eb}}{Bf{{Hd{Cn}}}}{Bf{Cj}}}{{Nh{Bj}}}}``{{}C`}000{ce{}{}}000{c{{Cd{e}}}{}{}}000{{}{{Bd{CfCh}}}}000{{}AAf}``{Bf}000````{{{Bf{AAf}}{Bf{AAj}}{Bf{Bl{D`{Cn}}}}}{{Nh{Bj}}}}{{{Bf{c}}}e{}{}}0{c{{Bd{e}}}{}{}}0{Jh{{Bd{AAh{Jj{AAh}}}}}}11{c{{Bd{AAh{Jj{AAh}}}}}{}}2222{{{Bf{c}}}El{}}000{{{f{c}}}{{f{En}}}{}}000{{{Bf{Blc}}}{{Bf{BlEn}}}{}}000{{{Bf{c}}}{{Bf{En}}}{}}000===={{AAfId}AAf}{{AAfKn}AAf}{{AAfMd}AAf}{{AAfOf}AAf}`{{{Bf{{Hd{{j{AAlAAnAB`}}}}}}}{{Bd{BjBb}}}}```{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}`{b{{j{{f{d}}h}}}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}``{cc{}}{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}```{Bf}{{b{f{l}}{f{n}}{Ab{A`}}{f{Ad}}AfhAhAj}{{Bd{{j{{f{Al}}AnB`}}Bb}}}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}9```{{{Bf{c}}}{{Bf{e}}}{}{}}{{{Bf{Blc}}}{{Bf{Ble}}}{}{}}{{{Bf{Gj}}}{{f{Gj}}}}{C`{{Bf{c}}}{}}{C`{{Bf{Blc}}}{}}{{{Bf{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{C`Bj}{cc{}}{{{Bf{Cl}}}{{f{Gj}}}}{{{Bf{ABb}}}{{f{Gj}}}}{{{Bf{Gj}}}C`}0{{{Bf{Gj}}}{{Hj{Cj}}}}{{{Bf{Gj}}}{{Hj{Df}}}}{{{Bf{Gj}}}{{Dj{Cj{j{DfFf{Ab{Ed}}}}}}}}{{{Bf{Gj}}}{{Dj{Ed{j{JhJh}}}}}}{{{Bf{Cl}}}Jh}{{{Bf{ABb}}}Jh}10{{}C`}{ce{}{}}{c{{Cd{e}}}{}{}}{{}{{Bd{CfCh}}}}{{{ABd{CjF`NdEb}}}ABb}`{Bf}{{{Bf{Gj}}{Bf{Cj}}{Bf{AAf}}AAjHf}{{Bd{BjBb}}}}{{{Bf{BlGj}}{Bf{Cj}}}Bj}{{{Bf{BlCl}}DhDf}{{Bd{BjBb}}}}{{{Bf{BlABb}}DhDf}{{Bd{BjBb}}}}10{{{Bf{BlCl}}DfA@l}{{Bd{BjBb}}}}{{{Bf{BlABb}}DfA@l}{{Bd{BjBb}}}}{c{{Bd{e}}}{}{}}0{{{Bf{c}}}El{}}{{{f{c}}}{{f{En}}}{}}{{{Bf{Blc}}}{{Bf{BlEn}}}{}}{{{Bf{c}}}{{Bf{En}}}{}}?`{{{Bf{BlDl}}{Bf{Cj}}}Bj}{{{Bf{Dl}}}{{f{Dl}}}}{{{Bf{Dl}}}Jh}{{{Bf{Dl}}{Bf{Df}}}A@b}1{{{Bf{Dl}}A@l{Bf{{Hj{Df}}}}}{{Ab{Df}}}}{{{Bf{Dl}}}{{Bf{{Dj{CjA@d}}}}}}{{{Bf{Dl}}}{{Bf{{Hj{Df}}}}}}{{{Bf{BlDl}}}{{Bf{Bl{Dj{CjA@d}}}}}}{{{Bf{Dl}}C`}{{D`{{j{Cj{Dj{DfDh}}}}}}}}{{{Bf{Dl}}}{{Bf{{Dj{DfA@j}}}}}}{{{Bf{BlDl}}{Bf{Df}}}Hf}{{{Bf{BlDl}}{Bf{Df}}A@j}Bj}1{{{Bf{BlDl}}{Bf{Df}}}Bj}000<","D":"BAh","p":[[5,"ProtocolConfig",2152],[10,"ProtocolController",2153],[5,"Box",2154],[5,"ProtocolChannels",2057],[1,"tuple"],[10,"SelectorController",2155],[10,"ConsensusController",2156],[5,"BootstrapPeers",2157],[6,"Option",2158],[10,"PoolController",2159],[5,"Storage",2160],[5,"MipStore",2161],[5,"MassaMetrics",2162],[10,"ProtocolManager",2153],[6,"KeyPair",2163],[5,"NodeId",2164],[6,"ProtocolError",2165],[6,"Result",2166],[1,"reference"],[5,"Private",2167],[1,"unit"],[0,"mut"],[6,"ConnectivityCommand",13],[1,"usize"],[5,"With",2168],[5,"Request",2169],[5,"Layout",2170],[5,"LayoutError",2170],[5,"PeerId",2171],[10,"NetworkController",2087],[1,"u8"],[5,"Vec",2172],[5,"MassaSender",2173],[5,"MassaReceiver",2174],[6,"SocketAddr",2175],[6,"TransportType",2176],[5,"HashMap",2177],[10,"PeerDBTrait",2132],[8,"RwLock",2178],[5,"Arc",2179],[5,"MessagesHandler",1921],[5,"String",2180],[6,"IpAddr",2181],[5,"PeerCategoryInfo",2152],[5,"JoinHandle",2182],[5,"TypeId",2183],[10,"Any",2183],[5,"Context",45],[5,"ProtocolControllerImpl",73],[5,"NetworkStats",2184],[6,"PeerConnectionType",2185],[6,"BlockId",2186],[6,"BlockHandlerRetrievalCommand",210],[6,"BlockHandlerPropagationCommand",178],[6,"OperationHandlerPropagationCommand",1018],[6,"EndorsementHandlerPropagationCommand",702],[6,"PeerManagementCmd",1649],[8,"SecuredHeader",2187],[8,"PreHashMap",2188],[8,"PreHashSet",2188],[10,"ActiveConnectionsTrait",2087],[5,"EndorsementCache",674],[5,"OperationCache",989],[5,"BlockCache",151],[5,"BlockHandler",121],[1,"slice"],[1,"bool"],[1,"u32"],[5,"HashSet",2189],[5,"Formatter",2190],[8,"Result",2190],[6,"AskForBlockInfo",240],[6,"BlockInfoReply",240],[5,"BlockMessageSerializer",240],[5,"BlockMessageDeserializer",240],[6,"BlockMessage",240],[8,"IResult",2191],[10,"ParseError",2192],[10,"ContextError",2192],[6,"MessageTypeId",240],[6,"BlockInfoType",240],[5,"BlockMessageDeserializerArgs",240],[6,"SerializeError",2193],[1,"u64"],[5,"TryFromPrimitiveError",2194],[5,"PropagationThread",498],[5,"BlockPropagationData",498],[5,"RetrievalThread",554],[5,"BlockInfo",554],[6,"OperationId",2195],[8,"SecureShareOperation",2195],[6,"EndorsementHandlerRetrievalCommand",730],[5,"EndorsementHandler",644],[6,"EndorsementId",2196],[5,"EndorsementMessageSerializer",751],[5,"EndorsementMessageDeserializer",751],[6,"EndorsementMessage",751],[6,"MessageTypeId",751],[5,"EndorsementMessageDeserializerArgs",751],[5,"PropagationThread",893],[5,"RetrievalThread",922],[8,"SecureShareEndorsement",2196],[6,"OperationHandlerRetrievalCommand",1046],[5,"OperationHandler",959],[6,"OperationPrefixId",2195],[5,"OperationMessageSerializer",1073],[5,"OperationMessageDeserializer",1073],[6,"OperationMessage",1073],[6,"MessageTypeId",1073],[5,"OperationMessageDeserializerArgs",1073],[5,"PropagationThread",1217],[5,"RetrievalThread",1251],[8,"OperationPrefixIds",2195],[5,"MassaHandshake",1315],[6,"Endpoint",2197],[8,"PeerNetResult",2198],[5,"PeerManagementHandler",1315],[5,"Announcement",1385],[5,"AnnouncementSerializer",1385],[5,"AnnouncementDeserializer",1385],[5,"AnnouncementDeserializerArgs",1385],[6,"PeerManagementMessage",1504],[5,"PeerManagementMessageSerializer",1504],[5,"PeerManagementMessageDeserializer",1504],[6,"MessageTypeId",1504],[5,"IpAddrDeserializer",2199],[5,"PeerManagementMessageDeserializerArgs",1504],[5,"PeerDB",1649],[5,"ConnectionMetadata",1649],[5,"PeerInfo",1649],[6,"PeerState",1649],[6,"Ordering",2200],[5,"MassaTime",2201],[5,"Duration",2202],[5,"Tester",1872],[5,"VersionDeserializer",2203],[5,"PeerIdDeserializer",2171],[5,"ProtocolManagerImpl",1898],[5,"MessagesSerializer",1921],[6,"MessageTypeId",1921],[6,"Message",1921],[5,"Hash",2204],[6,"Signature",2163],[6,"PublicKey",2163],[5,"NetworkControllerImpl",2087],[5,"PeerNetManager",2205],[15,"GetStats",44],[15,"IntegratedBlock",208],[15,"WishlistDelta",238],[15,"DataRequest",494],[15,"DataResponse",494],[5,"OperationBatchItem",1251],[5,"PeerManagementChannel",1649],[15,"GetBootstrapPeers",1871]],"r":[[3,2057],[9,2057]],"b":[[1977,"impl-From%3CBlockMessage%3E-for-Message"],[1978,"impl-From%3COperationMessage%3E-for-Message"],[1980,"impl-From%3CEndorsementMessage%3E-for-Message"],[1981,"impl-From%3CPeerManagementMessage%3E-for-Message"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFwHmwAAAAMABQADAAsAEAAdAAEAIAAYADoAAgA+ABgAWAADAF4AAgBiAAAAZgAfAIcAAACJAAQAjwAIAJkAAACbAAEAngADAKMAAACmAAEAqQAJALYACwDDAAEAxgAKANMAAQDWAAkA4QABAOQACgDzAAQA+QAAAPsAAAD/AAIAAwEAAAYBAAAJAV4AbQEAAHEBDACGAWgA8wECAPoBAwAAAggADAIBABACAwAWAgEAGQIBAB0CDQAsAgUAMwIGADsCDgBMAgAATgIAAFECAQBVAgMAWgIDAGQCAQBnAgUAbgIFAHUCDACDAg0AkgIAAJQCDgCkAgIAqAIDAK4CAACyAgEAtgIGAL4CDQDNAgEA0AISAOQCAADmAg0A9QI3ADADAAAzAwcAQAM9AH8DCgCLAwAAjQMCAJEDCwCeAwgAqAMBAKsDAgCvAwIAswMWAMsDAADNAxAA3wMCAOQDAwDpAwAA7QMBAPIDBgD6AwEA/QMKAAkEAQAMBBYAJAQBACcECgAzBAMAOAQAADoEAAA8BAsASQQhAG8EAABxBAcAfgQJAJAEPgDQBAEA0wQFANoECQDlBAQA6wQNAPsEAQD+BAAAAQUEAAgFAQALBQAADQUaACkFEgA+BQMARAVWAJ8FAgCjBQMAqwUJALYFCADCBSUA6QUxAB8GAAAhBggALwYOAEAGlADbBgcA5AYCAOgGCAD3BhQADQcPAB4HBQAlBzMAWgcBAF0HAQBgBwoAbAcGAHQHAAB2BwMAewdAAL0HAQDABwAAwwcIANAHEgDkByMACggFABEIBQAYCAAAGggFACEIEAAzCAwAQQgnAA=="}],\ +["massa_sdk",{"t":"FFGFPFFFPFNNNNONNNNNNNNNNCOOOOCOONNNNNNNNNNNNNNNNNNHHNNNNNNNOOOOOHONNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNOONONNNNNNNHNNNNNNNNNNNNNNNNNNNNNOHHHFFFNNNNNNOOONNNNNNNNNOONNNNNNNNNOONNNNNNOOOOOONNNNNNNNNNNNNNN","n":["Client","ClientConfig","ClientError","ClientV2","Connect","HttpConfig","RpcClient","RpcClientV2","Url","WsConfig","_get_cliques","_get_graph_interval","_get_stakers","add_staking_secret_keys","api","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cert_manager","certificate_store","chain_id","client_config","client_config","config","enabled","enabled","execute_read_only_bytecode","execute_read_only_call","fmt","fmt","from","from","from","from","from","from","from","from_url","from_url","get_addresses","get_blocks","get_datastore_entries","get_endorsements","get_filtered_sc_output_event","get_headers","get_id_kind","get_largest_stakers","get_next_block_best_parents","get_operations","get_slots_transfers","get_staking_addresses","get_status","get_version","grpc_private","grpc_public","headers","http_client","http_client","http_client_from_url","id_kind","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","max_concurrent_requests","max_log_length","max_notifs_per_subscription","max_redirections","max_request_body_size","new","new","node_add_to_bootstrap_blacklist","node_add_to_bootstrap_whitelist","node_add_to_peers_whitelist","node_ban_by_id","node_ban_by_ip","node_bootstrap_blacklist","node_bootstrap_whitelist","node_bootstrap_whitelist_allow_all","node_peers_whitelist","node_remove_from_bootstrap_blacklist","node_remove_from_bootstrap_whitelist","node_remove_from_peers_whitelist","node_sign_message","node_unban_by_id","node_unban_by_ip","private","public","remove_staking_addresses","request_timeout","send_operations","source","stop_node","subscribe_new_blocks","subscribe_new_blocks_headers","subscribe_new_filled_blocks","subscribe_new_operations","to_error_obj","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","ws_client","ws_client_from_url","gen_cert_for_ca","gen_signed_cert","ClientConfig","HttpConfig","WsConfig","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","certificate_store","client_config","client_config","clone","clone","clone","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","enabled","enabled","fmt","fmt","fmt","from","from","from","from_ref","from_ref","from_ref","headers","id_kind","into","into","into","into_request","into_request","into_request","max_concurrent_requests","max_log_length","max_notifs_per_subscription","max_redirections","max_request_body_size","request_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","vzip","vzip","vzip"],"q":[[0,"massa_sdk"],[134,"massa_sdk::cert_manager"],[136,"massa_sdk::config"],[197,"massa_models::clique"],[198,"alloc::vec"],[199,"jsonrpsee_core"],[200,"massa_api_exports"],[201,"massa_api_exports::block"],[202,"massa_models::address"],[203,"massa_models::prehash"],[204,"alloc::string"],[205,"massa_api_exports::execution"],[206,"core::fmt"],[207,"tonic::transport::error"],[208,"http::uri"],[209,"core::net::socket_addr"],[210,"massa_api_exports::address"],[211,"massa_models::block_id"],[212,"massa_api_exports::datastore"],[213,"massa_models::endorsement"],[214,"massa_api_exports::endorsement"],[215,"massa_models::execution"],[216,"massa_models::output_event"],[217,"http::header::map"],[218,"jsonrpsee_core::client"],[219,"core::option"],[220,"massa_api_exports::page"],[221,"massa_models::operation"],[222,"massa_api_exports::operation"],[223,"massa_models::slot"],[224,"massa_api_exports::node"],[225,"massa_models::version"],[226,"jsonrpsee_http_client::transport"],[227,"jsonrpsee_http_client::client"],[228,"tonic::request"],[229,"core::net::ip_addr"],[230,"core::result"],[231,"massa_models::node"],[232,"massa_models::composite"],[233,"core::error"],[234,"jsonrpsee_core::client::error"],[235,"massa_models::block_header"],[236,"massa_models::secure_share"],[237,"massa_models::block"],[238,"jsonrpsee_types::error"],[239,"core::any"],[240,"jsonrpsee_core::client::async_client"],[241,"rcgen"],[242,"rcgen::error"]],"i":[0,0,0,0,17,0,0,0,17,0,1,1,1,1,57,55,1,57,26,17,55,1,57,26,17,0,74,55,23,25,0,23,25,1,1,17,17,55,1,57,26,17,17,17,1,26,1,1,1,1,1,0,0,26,26,1,1,1,1,26,55,55,74,1,26,0,74,55,1,57,26,17,55,1,57,26,17,74,74,25,25,74,55,57,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,55,55,1,74,1,17,1,26,26,26,26,0,17,55,1,57,26,17,55,1,57,26,17,55,1,57,26,17,55,1,57,26,17,26,0,0,0,0,0,0,74,23,25,74,23,25,74,23,25,74,23,25,74,23,25,74,23,25,23,25,74,23,25,74,23,25,74,23,25,74,74,74,23,25,74,23,25,74,74,25,25,74,74,74,23,25,74,23,25,74,23,25,74,23,25,74,23,25],"f":"``````````{{{d{b}}}{{j{{h{f}}}}}}{{{d{b}}l}{{j{{h{n}}}}}}{{{d{b}}}{{j{{Ad{A`Ab}}}}}}{{{d{b}}{h{Af}}}{{j{Ah}}}}`{{{d{c}}}{{d{e}}}{}{}}0000{{{d{Ajc}}}{{d{Aje}}}{}{}}0000````````{{{d{b}}Al}{{j{An}}}}{{{d{b}}B`}{{j{An}}}}{{{d{Bb}}{d{AjBd}}}Bf}0{cc{}}000{BhBb}{BjBb}2{{{d{Bl}}{d{Bn}}}b}{{C`{d{Bn}}{d{Cb}}}Cd}{{{d{b}}{h{A`}}}{{j{{h{Cf}}}}}}{{{d{b}}{h{Ch}}}{{j{{h{Cj}}}}}}{{{d{b}}{h{Cl}}}{{j{{h{Cn}}}}}}{{{d{b}}{h{D`}}}{{j{{h{Db}}}}}}{{{d{b}}Dd}{{j{{h{Df}}}}}}{{{d{{Dj{{Dh{AfAf}}}}}}}Dl}{{{d{Bl}}}Dn}{{{d{Cd}}{Eb{E`}}}{{j{{Ed{{Dh{ChAb}}}}}}}}{{{d{Cd}}}{{j{{h{{Dh{ChAb}}}}}}}}{{{d{b}}{h{Ef}}}{{j{{h{Eh}}}}}}{{{d{b}}{h{Ej}}}{{j{{h{{h{El}}}}}}}}{{{d{b}}}{{j{{En{A`}}}}}}{{{d{b}}}{{j{F`}}}}{{{d{Cd}}}{{j{Fb}}}}`````{{{d{Bl}}{d{Bn}}}{{Ff{Fd}}}}`{ce{}{}}0000{c{{Fh{e}}}{}{}}0000`````{{FjFlFlFlFlAb{d{Bn}}}{{G`{FnBb}}}}{{FjFl{d{Bn}}{d{Cb}}}Gb}{{{d{b}}{h{Fj}}}{{j{Ah}}}}00{{{d{b}}{h{Gd}}}{{j{Ah}}}}1{{{d{b}}}{{j{{h{Fj}}}}}}0{{{d{b}}}{{j{Ah}}}}1333{{{d{b}}{h{Gf}}}{{j{Gh}}}}34``{{{d{b}}{h{A`}}}{{j{Ah}}}}`{{{d{b}}{h{Gj}}}{{j{{h{Ef}}}}}}{{{d{Bb}}}{{Eb{{d{Gl}}}}}}4{{{d{Cd}}}{{G`{{Gn{Cj}}H`}}}}{{{d{Cd}}}{{G`{{Gn{{Hd{HbCh}}}}H`}}}}{{{d{Cd}}}{{G`{{Gn{Hf}}H`}}}}{{{d{Cd}}}{{G`{{Gn{Hh}}H`}}}}{AfHj}{{{d{c}}}Af{}}{c{{G`{e}}}{}{}}000000000{{{d{c}}}Hl{}}0000{ce{}{}}0000`{{{d{Bl}}{d{Cb}}}Hn}{{}{{G`{I`Ib}}}}{{{d{I`}}{h{Af}}}{{G`{{Dh{AfAf}}Ib}}}}```{{{d{c}}}{{d{e}}}{}{}}00{{{d{Ajc}}}{{d{Aje}}}{}{}}00```{{{d{Id}}}Id}{{{d{Bn}}}Bn}{{{d{Cb}}}Cb}{{{d{c}}{d{Aje}}}Ah{}{}}00{{{d{c}}}Ah{}}00``{{{d{Id}}{d{AjBd}}}Bf}{{{d{Bn}}{d{AjBd}}}Bf}{{{d{Cb}}{d{AjBd}}}Bf}{cc{}}00{{{d{c}}}c{}}00``???{c{{Fh{e}}}{}{}}00``````{{{d{c}}}e{}{}}00{c{{G`{e}}}{}{}}00000{{{d{c}}}Hl{}}00{ce{}{}}00","D":"Mh","p":[[5,"RpcClient",0],[1,"reference"],[5,"Clique",197],[5,"Vec",198],[8,"RpcResult",199],[5,"TimeInterval",200],[5,"BlockSummary",201],[6,"Address",202],[1,"u64"],[8,"PreHashMap",203],[5,"String",204],[1,"unit"],[0,"mut"],[5,"ReadOnlyBytecodeExecution",205],[5,"ExecuteReadOnlyResponse",205],[5,"ReadOnlyCall",205],[6,"ClientError",0],[5,"Formatter",206],[8,"Result",206],[5,"Error",207],[5,"InvalidUri",208],[1,"str"],[5,"HttpConfig",136],[6,"SocketAddr",209],[5,"WsConfig",136],[5,"RpcClientV2",0],[5,"AddressInfo",210],[6,"BlockId",211],[5,"BlockInfo",201],[5,"DatastoreEntryInput",212],[5,"DatastoreEntryOutput",212],[6,"EndorsementId",213],[5,"EndorsementInfo",214],[5,"EventFilter",215],[5,"SCOutputEvent",216],[1,"tuple"],[1,"slice"],[5,"HeaderMap",217],[6,"IdKind",218],[5,"ApiRequest",200],[6,"Option",219],[5,"PagedVecV2",220],[6,"OperationId",221],[5,"OperationInfo",222],[5,"Slot",223],[5,"Transfer",205],[8,"PreHashSet",203],[5,"NodeStatus",224],[5,"Version",225],[6,"HttpBackend",226],[5,"HttpClient",227],[5,"Request",228],[6,"IpAddr",229],[1,"u16"],[5,"Client",0],[6,"Result",230],[5,"ClientV2",0],[5,"NodeId",231],[1,"u8"],[5,"PubkeySig",232],[5,"OperationInput",222],[10,"Error",233],[5,"Subscription",218],[6,"Error",234],[5,"BlockHeader",235],[5,"SecureShare",236],[5,"FilledBlock",237],[5,"Operation",221],[5,"ErrorObject",238],[5,"TypeId",239],[5,"Client",240],[5,"Certificate",241],[6,"RcgenError",242],[5,"ClientConfig",136]],"r":[[1,136],[5,136],[9,136]],"b":[[35,"impl-Display-for-ClientError"],[36,"impl-Debug-for-ClientError"],[41,"impl-From%3CError%3E-for-ClientError"],[42,"impl-From%3CInvalidUri%3E-for-ClientError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFkAEAALAAAAEAAJAB8AAAAkAAEAKgABADQAAQBAAAIASQAEAGkAAABvABcAjAAFAJUACACgAAIApgACAK4AAgC3AA4A"}],\ ["massa_serialization",{"t":"FFFKPPFFFFGKPFFFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNMNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BoolDeserializer","BoolSerializer","DeserializeError","Deserializer","GeneralError","NumberTooBig","OptionDeserializer","OptionSerializer","RatioDeserializer","RatioSerializer","SerializeError","Serializer","StringTooBig","U128VarIntDeserializer","U128VarIntSerializer","U16VarIntDeserializer","U16VarIntSerializer","U32VarIntDeserializer","U32VarIntSerializer","U64VarIntDeserializer","U64VarIntSerializer","add_context","append","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","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_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","data_deserializer","data_deserializer","data_serializer","data_serializer","default","default","default","default","default","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","errors","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_char","from_error_kind","gen_varint","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","new","new","new","new","new","new","new","new","new","new","new","new","new","new","or","phantom_data","phantom_data","phantom_t","phantom_t","range","range","range","range","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_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","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_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"],"q":[[0,"massa_serialization"],[262,"nom::error"],[263,"core::clone"],[264,"num_integer"],[265,"core::default"],[266,"nom::internal"],[267,"core::option"],[268,"num_rational"],[269,"core::fmt"],[270,"core::ops::range"],[271,"alloc::vec"],[272,"core::result"],[273,"alloc::string"],[274,"core::any"]],"i":[0,0,0,0,8,8,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,5,5,8,5,9,10,11,12,13,14,15,16,17,20,22,23,24,26,8,5,9,10,11,12,13,14,15,16,17,20,22,23,24,26,8,5,9,10,11,12,13,14,15,16,17,20,22,23,24,26,8,5,9,10,11,12,13,14,15,16,17,20,22,23,24,26,8,5,9,10,11,12,13,14,15,16,17,20,22,23,24,26,20,26,17,24,9,11,13,15,22,23,24,21,10,12,14,16,20,23,26,5,8,8,5,5,22,23,24,8,5,9,10,11,12,13,14,15,16,17,20,22,23,24,26,5,5,0,8,5,9,10,11,12,13,14,15,16,17,20,22,23,24,26,9,10,11,12,13,14,15,16,17,20,22,23,24,26,5,24,26,17,20,10,12,14,16,19,9,11,13,15,17,22,24,8,5,9,10,11,12,13,14,15,16,17,20,22,23,24,26,8,5,8,5,9,10,11,12,13,14,15,16,17,20,22,23,24,26,8,5,9,10,11,12,13,14,15,16,17,20,22,23,24,26,8,5,9,10,11,12,13,14,15,16,17,20,22,23,24,26],"f":"`````````````````````{{{f{{d{b}}}}{f{h}}j}j}{{{f{{d{b}}}}lj}j}{{{f{c}}}{{f{e}}}{}{}}000000000000000{{{f{nc}}}{{f{ne}}}{}{}}000000000000000{{{f{A`}}}A`}{{{f{j}}}j}{{{f{Ab}}}Ab}{{{f{Ad}}}Ad}{{{f{Af}}}Af}{{{f{Ah}}}Ah}{{{f{Aj}}}Aj}{{{f{Al}}}Al}{{{f{An}}}An}{{{f{B`}}}B`}{{{f{{Bb{ce}}}}}{{Bb{ce}}}Bd{{Bf{c}}Bd}}{{{f{{Bh{ce}}}}}{{Bh{ce}}}{BdBd}{{Bj{c}}Bd}}{{{f{Bl}}}Bl}{{{f{Bn}}}Bn}{{{f{{C`{ce}}}}}{{C`{ce}}}{CbBdBd}{{Bf{c}}Bd}}{{{f{{Cd{ce}}}}}{{Cd{ce}}}{CbBdBd}{{Bj{c}}Bd}}{{{f{c}}{f{ne}}}Cf{}{}}000000000000000{{{f{c}}}Cf{}}000000000000000````{{}Ab}{{}Af}{{}Aj}{{}An}{{}Bl}{{}Bn}{{}{{C`{ce}}}{CbBdCh}{{Bf{c}}Ch}}{{{f{Bj}}{f{{d{b}}}}}{{Cj{{f{{d{b}}}}ce}}}{}{{Cl{{f{{d{b}}}}}}{Cn{{f{{d{b}}}}}}}}{{{f{Ad}}{f{{d{b}}}}}{{Cj{{f{{d{b}}}}D`c}}}{{Cl{{f{{d{b}}}}}}{Cn{{f{{d{b}}}}}}}}{{{f{Ah}}{f{{d{b}}}}}{{Cj{{f{{d{b}}}}Dbc}}}{{Cl{{f{{d{b}}}}}}{Cn{{f{{d{b}}}}}}}}{{{f{Al}}{f{{d{b}}}}}{{Cj{{f{{d{b}}}}Ddc}}}{{Cl{{f{{d{b}}}}}}{Cn{{f{{d{b}}}}}}}}{{{f{B`}}{f{{d{b}}}}}{{Cj{{f{{d{b}}}}Dfc}}}{{Cl{{f{{d{b}}}}}}{Cn{{f{{d{b}}}}}}}}{{{f{{Bh{ce}}}}{f{{d{b}}}}}{{Cj{{f{{d{b}}}}{Dh{c}}g}}}Bd{{Bj{c}}}{{Cl{{f{{d{b}}}}}}{Cn{{f{{d{b}}}}}}}}{{{f{Bn}}{f{{d{b}}}}}{{Cj{{f{{d{b}}}}Djc}}}{{Cl{{f{{d{b}}}}}}{Cn{{f{{d{b}}}}}}}}{{{f{{Cd{ce}}}}{f{{d{b}}}}}{{Cj{{f{{d{b}}}}{Dl{c}}g}}}{CbBd}{{Bj{c}}}{{Cl{{f{{d{b}}}}}}{Cn{{f{{d{b}}}}}}}}`{{{f{A`}}{f{nDn}}}E`}0{{{f{j}}{f{nDn}}}E`}0{{{f{Bl}}{f{nDn}}}E`}{{{f{Bn}}{f{nDn}}}E`}{{{f{{C`{ce}}}}{f{nDn}}}E`{CbBdEb}{{Bf{c}}Eb}}{cc{}}000000000000000{{{f{{d{b}}}}Ed}j}{{{f{{d{b}}}}l}j}`{ce{}{}}000000000000000{{}Ab}{{{Ef{D`}}{Ef{D`}}}Ad}{{}Af}{{{Ef{Db}}{Ef{Db}}}Ah}{{}Aj}{{{Ef{Dd}}{Ef{Dd}}}Al}{{}An}{{{Ef{Df}}{Ef{Df}}}B`}{e{{Bb{ce}}}{}{{Bf{c}}}}{e{{Bh{ce}}}Bd{{Bj{c}}}}{{}Bl}{{}Bn}{e{{C`{ce}}}{CbBd}{{Bf{c}}}}{e{{Cd{ce}}}{CbBd}{{Bj{c}}}}{{jj}j}````````{{{f{Bf}}{f{c}}{f{n{Eh{b}}}}}{{Ej{CfA`}}}{}}{{{f{Ab}}{f{D`}}{f{n{Eh{b}}}}}{{Ej{CfA`}}}}{{{f{Af}}{f{Db}}{f{n{Eh{b}}}}}{{Ej{CfA`}}}}{{{f{Aj}}{f{Dd}}{f{n{Eh{b}}}}}{{Ej{CfA`}}}}{{{f{An}}{f{Df}}{f{n{Eh{b}}}}}{{Ej{CfA`}}}}{{{f{{Bb{ce}}}}{f{{Dh{c}}}}{f{n{Eh{b}}}}}{{Ej{CfA`}}}{}{{Bf{c}}}}{{{f{Bl}}{f{Dj}}{f{n{Eh{b}}}}}{{Ej{CfA`}}}}{{{f{{C`{ce}}}}{f{{Dl{c}}}}{f{n{Eh{b}}}}}{{Ej{CfA`}}}{CbBd}{{Bf{c}}}}{{{f{c}}}e{}{}}000000000000000{{{f{c}}}El{}}0{c{{Ej{e}}}{}{}}0000000000000000000000000000000{{{f{c}}}En{}}000000000000000","D":"Gh","p":[[1,"u8"],[1,"slice"],[1,"reference"],[1,"str"],[5,"DeserializeError",0],[6,"ErrorKind",262],[0,"mut"],[6,"SerializeError",0],[5,"U16VarIntSerializer",0],[5,"U16VarIntDeserializer",0],[5,"U32VarIntSerializer",0],[5,"U32VarIntDeserializer",0],[5,"U64VarIntSerializer",0],[5,"U64VarIntDeserializer",0],[5,"U128VarIntSerializer",0],[5,"U128VarIntDeserializer",0],[5,"OptionSerializer",0],[10,"Clone",263],[10,"Serializer",0],[5,"OptionDeserializer",0],[10,"Deserializer",0],[5,"BoolSerializer",0],[5,"BoolDeserializer",0],[5,"RatioSerializer",0],[10,"Integer",264],[5,"RatioDeserializer",0],[1,"unit"],[10,"Default",265],[8,"IResult",266],[10,"ParseError",262],[10,"ContextError",262],[1,"u16"],[1,"u32"],[1,"u64"],[1,"u128"],[6,"Option",267],[1,"bool"],[5,"Ratio",268],[5,"Formatter",269],[8,"Result",269],[10,"Debug",269],[1,"char"],[6,"Bound",270],[5,"Vec",271],[6,"Result",272],[5,"String",273],[5,"TypeId",274]],"r":[],"b":[[123,"impl-Debug-for-SerializeError"],[124,"impl-Display-for-SerializeError"],[125,"impl-Display-for-DeserializeError%3C\'a%3E"],[126,"impl-Debug-for-DeserializeError%3C\'a%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAMoACgAAAAAAAwAAAAcAAgALAAAAFgBcAHQADgCTAAIArgABALIACgC+AEgA"}],\ ["massa_signature",{"t":"PGPGPGFFPGFPPPCCHPGPPPNNNNNNNNNNNNNNNGQFPQTSGQFFPQTSTGQFFPQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNN","n":["InvalidVersionError","KeyPair","KeyPairV0","MassaSignatureError","ParsingError","PublicKey","PublicKeyDeserializer","PublicKeyV0","PublicKeyV0","Signature","SignatureDeserializer","SignatureError","SignatureV0","WrongPrefix","error","signature_impl","verify_signature_batch","InvalidVersionError","MassaSignatureError","ParsingError","SignatureError","WrongPrefix","borrow","borrow_mut","clone","clone_into","clone_to_uninit","fmt","fmt","from","into","to_owned","to_string","try_from","try_into","type_id","vzip","KeyPair","KeyPair","KeyPairV0","KeyPairV0","KeyPairVariant","PUBLIC_KEY_SIZE_BYTES","PUBLIC_PREFIX","PublicKey","PublicKey","PublicKeyDeserializer","PublicKeyV0","PublicKeyV0","PublicKeyVariant","SECRET_KEY_BYTES_SIZE","SECRET_PREFIX","SIGNATURE_SIZE_BYTES","Signature","Signature","SignatureDeserializer","SignatureV0","SignatureV0","SignatureVariant","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_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","cmp","cmp","default","default","deserialize","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_bs58_check","from_bs58_check","from_bytes","from_bytes","from_bytes","from_bytes","from_bytes","from_bytes","from_str","from_str","from_str","generate","generate","get_public_key","get_public_key","get_ser_len","get_ser_len","get_ser_len","get_ser_len","get_ser_len","get_ser_len","get_version","get_version","hash","hash","into","into","into","into","into","into","into","into","new","new","partial_cmp","partial_cmp","serialize","serialize","serialize","sign","sign","to_bs58_check","to_bs58_check","to_bytes","to_bytes","to_bytes","to_bytes","to_bytes","to_bytes","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_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","verify_signature","verify_signature","verify_signature_batch","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"massa_signature"],[17,"massa_signature::error"],[37,"massa_signature::signature_impl"],[230,"massa_hash::hash"],[231,"core::result"],[232,"core::fmt"],[233,"alloc::string"],[234,"core::any"],[235,"core::cmp"],[236,"serde::de"],[237,"nom::internal"],[238,"nom::error"],[239,"core::hash"],[240,"core::option"],[241,"serde::ser"],[242,"alloc::vec"]],"i":[8,0,15,0,8,0,0,0,3,0,0,8,2,8,0,0,0,8,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,15,0,17,0,0,0,0,0,3,0,16,0,19,0,0,0,0,2,0,15,16,3,17,18,2,19,21,15,16,3,17,18,2,19,21,15,16,3,17,18,2,19,15,16,3,17,18,2,19,15,16,3,3,17,17,18,2,2,19,19,3,17,18,21,15,3,18,2,21,3,17,2,19,15,15,16,3,3,17,17,2,2,19,19,15,16,3,17,18,2,19,21,2,19,15,16,3,17,2,19,15,3,2,15,16,15,16,15,16,3,17,2,19,15,16,3,17,15,16,3,17,18,2,19,21,18,21,3,17,15,3,2,15,16,2,19,15,16,3,17,2,19,15,16,3,17,18,2,19,15,16,3,17,2,19,15,16,3,17,18,2,19,21,15,16,3,17,18,2,19,21,15,16,3,17,18,2,19,21,3,17,0,15,16,3,17,18,2,19,21],"f":"````````````````{{{l{{j{{h{bdf}}}}}}}{{Ab{nA`}}}}`````{{{l{c}}}{{l{e}}}{}{}}{{{l{Adc}}}{{l{Ade}}}{}{}}{{{l{A`}}}A`}{{{l{c}}{l{Ade}}}n{}{}}{{{l{c}}}n{}}{{{l{A`}}{l{AdAf}}}Ah}0{cc{}}{ce{}{}}{{{l{c}}}e{}{}}{{{l{c}}}Aj{}}{c{{Ab{e}}}{}{}}0{{{l{c}}}Al{}}4``````````````````````;;;;;;;;::::::::{{{l{An}}}An}{{{l{B`}}}B`}{{{l{f}}}f}{{{l{Bb}}}Bb}{{{l{Bd}}}Bd}{{{l{d}}}d}{{{l{Bf}}}Bf}???????>>>>>>>>>>>{{{l{f}}{l{f}}}Bh}{{{l{Bb}}{l{Bb}}}Bh}{{}Bd}{{}Bj}{c{{Ab{An}}}Bl}{c{{Ab{f}}}Bl}{{{l{Bd}}{l{{j{Bn}}}}}{{C`{{l{{j{Bn}}}}fc}}}{{Cb{{l{{j{Bn}}}}}}{Cd{{l{{j{Bn}}}}}}}}{c{{Ab{d}}}Bl}{{{l{Bj}}{l{{j{Bn}}}}}{{C`{{l{{j{Bn}}}}dc}}}{{Cb{{l{{j{Bn}}}}}}{Cd{{l{{j{Bn}}}}}}}}{{{l{f}}{l{f}}}Cf}{{{l{Bb}}{l{Bb}}}Cf}{{{l{d}}{l{d}}}Cf}{{{l{Bf}}{l{Bf}}}Cf}{{{l{An}}{l{AdAf}}}Ah}0{{{l{B`}}{l{AdAf}}}Ah}{{{l{f}}{l{AdAf}}}Ah}0{{{l{Bb}}{l{AdAf}}}Ah}0{{{l{d}}{l{AdAf}}}Ah}0{{{l{Bf}}{l{AdAf}}}Ah}0{cc{}}0000000{{{l{Ch}}}{{Ab{dA`}}}}{{{l{Ch}}}{{Ab{BfA`}}}}{{{l{{j{Bn}}}}}{{Ab{AnA`}}}}{{{l{{j{Bn}}}}}{{Ab{B`A`}}}}{{{l{{j{Bn}}}}}{{Ab{fA`}}}}{{{l{{j{Bn}}}}}{{Ab{BbA`}}}}{{{l{{j{Bn}}}}}{{Ab{dA`}}}}{{{l{{j{Bn}}}}}{{Ab{BfA`}}}}{{{l{Ch}}}{{Ab{Anc}}}{}}{{{l{Ch}}}{{Ab{fc}}}{}}{{{l{Ch}}}{{Ab{dc}}}{}}{Cj{{Ab{AnA`}}}}{{}B`}{{{l{An}}}f}{{{l{B`}}}Bb}{{{l{An}}}Cl}{{{l{B`}}}Cl}{{{l{f}}}Cl}{{{l{Bb}}}Cl}{{{l{d}}}Cl}{{{l{Bf}}}Cl}{{{l{An}}}Cj}{{{l{B`}}}Cj}{{{l{f}}{l{Adc}}}nCn}{{{l{Bb}}{l{Adc}}}nCn}{ce{}{}}0000000{{}Bd}{{}Bj}{{{l{f}}{l{f}}}{{D`{Bh}}}}{{{l{Bb}}{l{Bb}}}{{D`{Bh}}}}{{{l{An}}c}AbDb}{{{l{f}}c}AbDb}{{{l{d}}c}AbDb}{{{l{An}}{l{b}}}{{Ab{dA`}}}}{{{l{B`}}{l{b}}}{{Ab{BfA`}}}}{{{l{d}}}Aj}{BfAj}{{{l{An}}}{{Dd{Bn}}}}{{{l{B`}}}{{Dd{Bn}}}}{{{l{f}}}{{Dd{Bn}}}}{{{l{Bb}}}{{Dd{Bn}}}}{{{l{d}}}{{Dd{Bn}}}}{Bf{{Dd{Bn}}}}{{{l{c}}}e{}{}}000000{{{l{c}}}Aj{}}00000{c{{Ab{e}}}{}{}}000000000000000{{{l{c}}}Al{}}0000000{{{l{f}}{l{b}}{l{d}}}{{Ab{nA`}}}}{{{l{Bb}}{l{b}}{l{Bf}}}{{Ab{nA`}}}}{{{l{{j{{h{bdf}}}}}}}{{Ab{nA`}}}}{ce{}{}}0000000","D":"Kd","p":[[5,"Hash",230],[6,"Signature",37],[6,"PublicKey",37],[1,"tuple"],[1,"slice"],[1,"reference"],[1,"unit"],[6,"MassaSignatureError",17],[6,"Result",231],[0,"mut"],[5,"Formatter",232],[8,"Result",232],[5,"String",233],[5,"TypeId",234],[6,"KeyPair",37],[5,"KeyPairV0",37],[5,"PublicKeyV0",37],[5,"PublicKeyDeserializer",37],[5,"SignatureV0",37],[6,"Ordering",235],[5,"SignatureDeserializer",37],[10,"Deserializer",236],[1,"u8"],[8,"IResult",237],[10,"ParseError",238],[10,"ContextError",238],[1,"bool"],[1,"str"],[1,"u64"],[1,"usize"],[10,"Hasher",239],[6,"Option",240],[10,"Serializer",241],[5,"Vec",242]],"r":[[1,37],[3,17],[5,37],[6,37],[7,37],[9,37],[10,37],[16,37]],"b":[[27,"impl-Debug-for-MassaSignatureError"],[28,"impl-Display-for-MassaSignatureError"],[113,"impl-Debug-for-KeyPair"],[114,"impl-Display-for-KeyPair"],[116,"impl-Display-for-PublicKey"],[117,"impl-Debug-for-PublicKey"],[118,"impl-Display-for-PublicKeyV0"],[119,"impl-Debug-for-PublicKeyV0"],[120,"impl-Debug-for-Signature"],[121,"impl-Display-for-Signature"],[122,"impl-Display-for-SignatureV0"],[123,"impl-Debug-for-SignatureV0"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAIwAEwADAAAACQAAAA0AAAAPAAEAFwAGACAABQAnAAAAKQABACwAAAAuAAAAMQADADcAAAA6AC4AawAAAG0ADwCcAAEAqAABALcAJADfAAcA"}],\ ["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_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_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-Debug-for-MassaTime"],[41,"impl-Display-for-MassaTime"],[95,"impl-Display-for-TimeError"],[96,"impl-Debug-for-TimeError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAE8ACQAJAAAACwAhADEAAwA4AAMAQAAFAEcADwBbAAYAYwAAAGUABgA="}],\ +["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}{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}}}}}}1111111{{{Al{{An{{Al{AhAj}}}}D`}}}{{l{A`c}}}{}}2222222{{{Al{{An{{Al{AhAj}}}}D`}}}{{l{B`c}}}{}}3{{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{}}{Elj}1{{{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-Display-for-IsConsistentError"],[305,"impl-Debug-for-IsConsistentError"],[307,"impl-Display-for-StateAtError"],[308,"impl-Debug-for-StateAtError"],[312,"impl-Debug-for-UpdateWithError"],[313,"impl-Display-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-Debug-for-FactoryError"],[625,"impl-Display-for-FactoryError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJsCOQABABIAFgACABsAFAAxAAIANQAHAD4AAgBCAAQASAABAEsACQBXAAcAYQABAGQAAQBtAAMAcgABAHUAAwB6AAMAgQAAAIMAcQD2ACwAJAEdAEMBAABMAQAATgEAAFgBAABaAQAAXgERAHQBAAB7AQIAlQEWAK0BAACvAQAAsQEDALYBAAC4AQAAuwEAAMIBBQDJAQEAzQEBANABAQDWATAACQIvADoCBABBAhgAYAIBAGMCAQBmAgkAcQICAHUCAAB3AgEAgQIMAJACAQCUAgAAlgIBAKACLADZAgEA5wIMAAADUQA="}],\ +["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,"massa_cipher::error"],[119,"std::io::error"],[120,"massa_hash::error"],[121,"massa_models::error"],[122,"serde_qs::error"],[123,"massa_signature::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}{D`n}{Dbn}{cc{}}{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,"CipherError",118],[5,"Error",119],[6,"MassaHashError",120],[6,"ModelsError",121],[6,"Error",122],[6,"MassaSignatureError",123],[5,"Error",124],[10,"Error",125]],"r":[[10,73]],"b":[[34,"impl-Display-for-Wallet"],[35,"impl-Debug-for-Wallet"],[85,"impl-Display-for-WalletError"],[86,"impl-Debug-for-WalletError"],[87,"impl-From%3CCipherError%3E-for-WalletError"],[88,"impl-From%3CError%3E-for-WalletError"],[89,"impl-From%3CMassaHashError%3E-for-WalletError"],[90,"impl-From%3CModelsError%3E-for-WalletError"],[91,"impl-From%3CError%3E-for-WalletError"],[93,"impl-From%3CMassaSignatureError%3E-for-WalletError"],[94,"impl-From%3CError%3E-for-WalletError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADwAEAAJAAAADwAEABUABgAdAAMAIwACACgAAQAuAAEAMgABADUAAAA3AAAAOQABADwACwBJAAAAVAAIAF4AAQBhAAYA"}],\ ["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="}]\ ]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; diff --git a/search.desc/massa_api_exports/massa_api_exports-desc-0-.js b/search.desc/massa_api_exports/massa_api_exports-desc-0-.js index 5468da696c5..23531943a25 100644 --- a/search.desc/massa_api_exports/massa_api_exports-desc-0-.js +++ b/search.desc/massa_api_exports/massa_api_exports-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("massa_api_exports", 0, "Copyright (c) 2022 MASSA LABS info@massa.net All the …\nWrap request params into struct for ApiV2 method\ncontains banned entry\ncreate operation\ndelete operation\nBootstrap lists types\nread operation\nSCRUD operations\nsearch operation\nJust a wrapper with a optional beginning and end\nupdate operation\ncontains allowed entry\naddress related structures\nblock-related structures\nnode configuration\ndatastore serialization / deserialization\nDumb utils function to display nicely boolean value\nHelp to format Optional bool\noptional end slot\nendorsements\nmodels error\nexecution\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).\nledger structures\nnode related structure\noperations\npage\npagination\nrolls\nslots\noptional start slot\nfilter used when retrieving address information\nAll you ever dream to know about an address\nLess information about an address\nactive rolls\nthe address\nthe address\nAddress\ncandidate balance\ncandidate balance\ncandidate datastore keys\ncandidate roll count\ncandidate rolls\nOnly essential info about an address\ncreated blocks\ncreated endorsements\ncreated operations\ncycle information\ndeferred credits\nfinal balance\nfinal balance\nfinal datastore keys\nfinal roll count\nfinal rolls\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 means final false means candidate\nnext block draws\nnext endorsement draws\nthe thread the address belongs to\nthe thread it is\nrefactor to delete\nBlock content\nA block resume (without the block itself)\nblock\noptional block info content\nthe block creator\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nblock id\nid\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\ntrue if candidate (active any clique but not final)\ntrue if discarded\ntrue if final\ntrue if in a final block\ntrue if in the greatest clique (and not final)\ntrue if in the greatest block clique\ntrue if incompatible with a final block\nthe block parents\nthe slot the block is in\nAPI settings. the API settings\nhost filtering.\nbase gas used by any operation\nbatch request limit. 0 means disabled.\nbind for the Massa API\nbind for the private API\nbind for the public API\nbootstrap blacklist path\nbootstrap whitelist path\nchain id\ndeferred calls config\nDelta to compute upper bounds when fetching deferred …\nwhen looking for next draw we want to look at max …\nwhether to enable HTTP.\nwhether to enable WS.\nReturns the argument unchanged.\ngenesis_timestamp\nCalls U::from(self).\nkeypair file\nlast_start_period value, used to know if we are during a …\nmax argument count\nmaximum number of incoming connections allowed.\nmax datastore value length\nmax function name length\nmax gas in a block\nmax length for logging for requests and responses. Logs …\nmax op datastore entry\nmax datastore key length\nmax datastore value length\nmax parameter size\nmaximum size in bytes of a request.\nmaximum size in bytes of a response.\nmaximum number of subscriptions per connection.\nminimal fees to include an operation in a block\nopenrpc specification path\nperiods per cycle\nthe interval at which Ping frames are submitted.\nAmount required for a SinglePass compilation (ExecuteSC …\nt0\nthread count\nDatastore entry query input structure\nDatastore entry query output structure\nassociated address of the entry\ncandidate datastore entry value\nfinal datastore entry value\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\ndatastore key\nAll you wanna know about an endorsement\nthe endorsement itself\nReturns the argument unchanged.\nid\nthe endorsement appears in in_blocks if it appears in …\ntrue if endorsement is still in pool\nCalls U::from(self).\ntrue if the endorsement is final (for example in a final …\nErrors of the api component.\nBad request: {0}\nconsensus error: {0}\nexecution error: {0}\nVersioning Factory error: {0}\nInconsistency error: {0}\nInternal server error: {0}\nmassa_hash error: {0}\nMissing command sender: {0}\nMissing configuration: {0}\nModels error: {0}\nNot found\nProtocol error: {0}\nReceive channel error: {0}\nSend channel error: {0}\nTime error: {0}\nWallet error: {0}\nThe wrong API (either Public or Private) was called\nReturns the argument unchanged.\nCalls U::from(self).\nTransfer made in an asynchronous call\nresponse for deferred call\nrequest for deferred call quote\nThe response to a request for a deferred call quote.\nresponse for deferred calls by slot\nAn error occurred during execution.\nThe response to a request for a read-only execution.\nThe result of a successful execution.\nTransfer made in an operation\nread only bytecode execution request\nread SC call request\nThe result of the read-only execution.\nStructure defining a transfer\nContext of the transfer\ncaller’s address, optional\nThe amount of the transfer\nif the slot is bookable\nBlock ID\nbyte code\ndeferred call\ndeferred call id\ndeferred calls\ncaller’s address, optional\ncoins\nContext\nThe effective amount received by the receiver\nThe slot at which the read-only execution occurred.\nfee\nfee\nFee\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.\nThe sender of the transfer\nThe gas cost for the execution\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).\nmax available gas\nmax available gas\nThe maximum gas requested.\nThe maximum gas requested.\nOperation datastore, optional\nThe output events generated by the read-only execution.\nfunction parameter\nSize of parameters\nthe cost for booking the call\nThe result of the read-only execution.\ndeferred calls\nstate changes caused by the execution step\nIf the transfer succeed or not\ntarget address\ntarget function\nThe slot at which the deferred call is to be executed.\nThe slot at which the deferred call is to be executed.\nThe receiver of the transfer\nCurrent balance ledger info\nlatest data\nfinal data\nReturns the argument unchanged.\nCalls U::from(self).\nlocked balance, for example balance due to a roll sell\nnode status\nchain id\ncompact configuration\nconnected nodes (node id, ip address, true if the …\nconsensus stats\ncurrent cycle\ncurrent cycle starting timestamp\nnow\nexecution stats\nReturns the argument unchanged.\nCalls U::from(self).\nlatest slot, none if now is before genesis timestamp\nminimal fees to include an operation in a block\nnetwork stats\nnext cycle starting timestamp\nnext slot\nour node id\noptional node ip\npool stats (operation count and endorsement count)\nnode version\nOperation and contextual info about it\noperation input\nThe public key of the creator of the TX\nReturns the argument unchanged.\nReturns the argument unchanged.\nid\nthe operation appears in in_blocks if it appears in …\ntrue if operation is still in pool\nCalls U::from(self).\nCalls U::from(self).\ntrue if the operation is final (for example in a final …\ntrue if the operation execution succeeded, false if …\nthe operation itself\nThe serialized version of the content base58 encoded\nThe signature of the operation\nThread in which the operation can be included\nRepresents the request inputs for a PagedVec\nRepresents a Vec that can be split across Pages Cf. …\nRepresents the request inputs for a PagedVecV2\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe limit of elements in a page\nCreates a new Paged Vec with optional limits of item per …\nThe page offset\nRoll counts\ncount taken into account for the current cycle\nat latest blocks\nat final blocks\nReturns the argument unchanged.\nCalls U::from(self).\nslot / amount pair\namount\nReturns the argument unchanged.\nCalls U::from(self).\nslot") \ No newline at end of file +searchState.loadedDescShard("massa_api_exports", 0, "Copyright (c) 2022 MASSA LABS info@massa.net All the …\nWrap request params into struct for ApiV2 method\ncontains banned entry\ncreate operation\ndelete operation\nBootstrap lists types\nread operation\nSCRUD operations\nsearch operation\nJust a wrapper with a optional beginning and end\nupdate operation\ncontains allowed entry\naddress related structures\nblock-related structures\nnode configuration\ndatastore serialization / deserialization\nDumb utils function to display nicely boolean value\nHelp to format Optional bool\noptional end slot\nendorsements\nmodels error\nexecution\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).\nledger structures\nnode related structure\noperations\npage\npagination\nrolls\nslots\noptional start slot\nfilter used when retrieving address information\nAll you ever dream to know about an address\nLess information about an address\nactive rolls\nthe address\nthe address\nAddress\ncandidate balance\ncandidate balance\ncandidate datastore keys\ncandidate roll count\ncandidate rolls\nOnly essential info about an address\ncreated blocks\ncreated endorsements\ncreated operations\ncycle information\ndeferred credits\nfinal balance\nfinal balance\nfinal datastore keys\nfinal roll count\nfinal rolls\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 means final false means candidate\nnext block draws\nnext endorsement draws\nthe thread the address belongs to\nthe thread it is\nrefactor to delete\nBlock content\nA block resume (without the block itself)\nblock\noptional block info content\nthe block creator\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nblock id\nid\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\ntrue if candidate (active any clique but not final)\ntrue if discarded\ntrue if final\ntrue if in a final block\ntrue if in the greatest clique (and not final)\ntrue if in the greatest block clique\ntrue if incompatible with a final block\nthe block parents\nthe slot the block is in\nAPI settings. the API settings\nhost filtering.\nbase gas used by any operation\nbatch request limit. 0 means disabled.\nbind for the Massa API\nbind for the private API\nbind for the public API\nbootstrap blacklist path\nbootstrap whitelist path\nchain id\ndeferred calls config\nDelta to compute upper bounds when fetching deferred …\nwhen looking for next draw we want to look at max …\nwhether to enable HTTP.\nwhether to enable WS.\nReturns the argument unchanged.\ngenesis_timestamp\nCalls U::from(self).\nkeypair file\nlast_start_period value, used to know if we are during a …\nmax argument count\nmaximum number of incoming connections allowed.\nmax datastore value length\nmax function name length\nmax gas in a block\nmax length for logging for requests and responses. Logs …\nmax op datastore entry\nmax datastore key length\nmax datastore value length\nmax parameter size\nmaximum size in bytes of a request.\nmaximum size in bytes of a response.\nmaximum number of subscriptions per connection.\nminimal fees to include an operation in a block\nopenrpc specification path\nperiods per cycle\nthe interval at which Ping frames are submitted.\nAmount required for a SinglePass compilation (ExecuteSC …\nt0\nthread count\nDatastore entry query input structure\nDatastore entry query output structure\nassociated address of the entry\ncandidate datastore entry value\nfinal datastore entry value\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\ndatastore key\nAll you wanna know about an endorsement\nthe endorsement itself\nReturns the argument unchanged.\nid\nthe endorsement appears in in_blocks if it appears in …\ntrue if endorsement is still in pool\nCalls U::from(self).\ntrue if the endorsement is final (for example in a final …\nErrors of the api component.\nBad request: {0}\nconsensus error: {0}\nexecution error: {0}\nVersioning Factory error: {0}\nInconsistency error: {0}\nInternal server error: {0}\nmassa_hash error: {0}\nMissing command sender: {0}\nMissing configuration: {0}\nModels error: {0}\nNot found\nProtocol error: {0}\nReceive channel error: {0}\nSend channel error: {0}\nTime error: {0}\nWallet error: {0}\nThe wrong API (either Public or Private) was called\nReturns the argument unchanged.\nCalls U::from(self).\nTransfer made in an asynchronous call\nresponse for deferred call\nrequest for deferred call quote\nThe response to a request for a deferred call quote.\nresponse for deferred calls by slot\nAn error occurred during execution.\nThe response to a request for a read-only execution.\nThe result of a successful execution.\nTransfer made in an operation\nread only bytecode execution request\nread SC call request\nThe result of the read-only execution.\nStructure defining a transfer\nContext of the transfer\ncaller’s address, optional\nThe amount of the transfer\nif the slot is bookable\nBlock ID\nbyte code\ndeferred call\ndeferred call id\ndeferred calls\ncaller’s address, optional\ncoins\nContext\nThe effective amount received by the receiver\nThe slot at which the read-only execution occurred.\nfee\nfee\nFee\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.\nThe sender of the transfer\nThe gas cost for the execution\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).\nmax available gas\nmax available gas\nThe maximum gas requested.\nThe maximum gas requested.\nOperation datastore, optional\nThe output events generated by the read-only execution.\nfunction parameter\nSize of parameters\nthe cost for booking the call\nThe result of the read-only execution.\ndeferred calls\nstate changes caused by the execution step\nIf the transfer succeed or not\ntarget address\ntarget function\nThe slot at which the deferred call is to be executed.\nThe slot at which the deferred call is to be executed.\nThe receiver of the transfer\nCurrent balance ledger info\nlatest data\nfinal data\nReturns the argument unchanged.\nCalls U::from(self).\nlocked balance, for example balance due to a roll sell\nnode status\nchain id\ncompact configuration\nconnected nodes (node id, ip address, true if the …\nconsensus stats\ncurrent cycle\ncurrent cycle starting timestamp\ncurrent mip version\nnow\nexecution stats\nReturns the argument unchanged.\nCalls U::from(self).\nlatest slot, none if now is before genesis timestamp\nminimal fees to include an operation in a block\nnetwork stats\nnext cycle starting timestamp\nnext slot\nour node id\noptional node ip\npool stats (operation count and endorsement count)\nnode version\nOperation and contextual info about it\noperation input\nThe public key of the creator of the TX\nReturns the argument unchanged.\nReturns the argument unchanged.\nid\nthe operation appears in in_blocks if it appears in …\ntrue if operation is still in pool\nCalls U::from(self).\nCalls U::from(self).\ntrue if the operation is final (for example in a final …\ntrue if the operation execution succeeded, false if …\nthe operation itself\nThe serialized version of the content base58 encoded\nThe signature of the operation\nThread in which the operation can be included\nRepresents the request inputs for a PagedVec\nRepresents a Vec that can be split across Pages Cf. …\nRepresents the request inputs for a PagedVecV2\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe limit of elements in a page\nCreates a new Paged Vec with optional limits of item per …\nThe page offset\nRoll counts\ncount taken into account for the current cycle\nat latest blocks\nat final blocks\nReturns the argument unchanged.\nCalls U::from(self).\nslot / amount pair\namount\nReturns the argument unchanged.\nCalls U::from(self).\nslot") \ No newline at end of file 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 e0d2d5d7933..e55e008f998 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 a667e7b0d50..b3b22ae2e07 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_final_state/massa_final_state-desc-0-.js b/search.desc/massa_final_state/massa_final_state-desc-0-.js index 0169e417603..3ee78834b83 100644 --- a/search.desc/massa_final_state/massa_final_state-desc-0-.js +++ b/search.desc/massa_final_state/massa_final_state-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("massa_final_state", 0, "Copyright (c) 2022 MASSA LABS info@massa.net\nExtendFromDbError\nRepresents a final state …\nLedger configuration\nTrait for final state controller.\nFinal state error\ninvalid slot: {0}\nledger error: {0}\nIsConsistentWithShutdownPeriodError\nPoS error: {0}\nSnapshot error: {0}\nrepresents changes that can be applied to the execution …\nBasic StateChanges deserializer\nBasic StateChanges serializer.\nasynchronous pool containing messages sorted by priority …\nasynchronous pool changes\nasynchronous pool configuration\nPerforms the initial draws.\nCopyright (c) 2022 MASSA LABS info@massa.net This file …\nexecution state configuration\nthe RocksDB instance used to write every final_state …\ndeferred call changes\ndeferred calls\nconfig for deferred calls\nendorsement count\nCopyright (c) 2022 MASSA LABS info@massa.net This file …\nexecuted denunciations\nexecuted denunciations changes\nexecuted denunciations configuration\nexecuted operations\nexecuted operations changes\nexecuted operations configuration\ncheck if an operation is in the executed ops\nexecution trail hash change\nfinal changes history length\nCopyright (c) 2022 MASSA LABS info@massa.net This file …\nApplies changes to the execution state at a given slot, …\nTODO\nGet async pool\nGet the database\nGet deferred call registry\nGet executed denunciations\nGets the hash of the execution trail\nGet the fingerprint (hash) of the final state. Note that …\nGet last slot before downtime\nGet last start period\nGet ledger\nGet ledger mut\nGet MIP Store\nGet mutable reference to MIP Store\nGet the executed status ops\nGet pos state\nGet pos state mut\nGet the slot at the end of which the final state is …\nInitialize the execution trail hash to zero.\ninitial rolls file path\ninitial PoS seed string\nDeserialize the entire DB and check the data. Useful to …\nlast_slot_before_downtime\nlast_start_period\nfinal ledger associating addresses to their balance, …\nInterval of periods between creation of each ledger backup\nledger changes\nledger configuration\nmax number of denunciations that can be included in a …\nmax number of denunciation index in executed denunciations …\nMIP store\nperiods per cycle\nroll state changes\nproof-of-stake configuration\nproof of stake state containing cycle history and deferred …\nAfter bootstrap or load from disk, recompute all the …\nReset the final state to the initial state.\nSet last slot before downtime\nSet last start period\nCopyright (c) 2022 MASSA LABS info@massa.net This file …\nTODO\nthread count\nLedger configuration\nasynchronous pool configuration\nconfig for deferred calls\nendorsement count\nexecuted denunciations configuration\nexecuted operations configuration\nfinal changes history length\nReturns the argument unchanged.\nTODO\ninitial rolls file path\ninitial PoS seed string\nCalls U::from(self).\nInterval of periods between creation of each ledger backup\nledger configuration\nmax number of denunciations that can be included in a …\nmax number of denunciation index in executed denunciations …\nperiods per cycle\nproof-of-stake configuration\nTODO\nthread count\nTrait for final state controller.\nPerforms the initial draws.\ncheck if an operation is in the executed ops\nApplies changes to the execution state at a given slot, …\nGet async pool\nGet the database\nGet deferred call registry\nGet executed denunciations\nGets the hash of the execution trail\nGet the fingerprint (hash) of the final state. Note that …\nGet last slot before downtime\nGet last start period\nGet ledger\nGet ledger mut\nGet MIP Store\nGet mutable reference to MIP Store\nGet the executed status ops\nGet pos state\nGet pos state mut\nGet the slot at the end of which the final state is …\nInitialize the execution trail hash to zero.\nDeserialize the entire DB and check the data. Useful to …\nAfter bootstrap or load from disk, recompute all the …\nReset the final state to the initial state.\nSet last slot before downtime\nSet last start period\nExtendFromDbError\nFinal state error\ninvalid slot: {0}\nledger error: {0}\nIsConsistentWithShutdownPeriodError\nPoS error: {0}\nSnapshot error: {0}\nReturns the argument unchanged.\nCalls U::from(self).\nRepresents a final state …\nInternal function called by is_db_valid\nasynchronous pool containing messages sorted by priority …\nexecution state configuration\nthe RocksDB instance used to write every final_state …\ndeferred calls\nexecuted denunciations\nexecuted operations\nUsed during interpolation, when a new cycle is set as …\nReturns the argument unchanged.\nOnce we created a FinalState from a snapshot, we need to …\nThis helper function is to be called if the downtime spans …\nThis helper function is to be called if the downtime does …\nCalls U::from(self).\nlast_slot_before_downtime\nlast_start_period\nfinal ledger associating addresses to their balance, …\nMIP store\nInitializes a new FinalState\nInitializes a FinalState from a snapshot.\nproof of stake state containing cycle history and deferred …\nrepresents changes that can be applied to the execution …\nBasic StateChanges deserializer\nBasic StateChanges serializer.\nasynchronous pool changes\ndeferred call changes\nexecuted denunciations changes\nexecuted operations changes\nexecution trail hash change\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nledger changes\nCreates a StateChangesSerializer\nCreates a StateChangesDeserializer\nroll state changes") \ No newline at end of file +searchState.loadedDescShard("massa_final_state", 0, "Copyright (c) 2022 MASSA LABS info@massa.net\nExtendFromDbError\nRepresents a final state …\nLedger configuration\nTrait for final state controller.\nFinal state error\ninvalid slot: {0}\nledger error: {0}\nIsConsistentWithShutdownPeriodError\nPoS error: {0}\nSnapshot error: {0}\nrepresents changes that can be applied to the execution …\nBasic StateChanges deserializer\nBasic StateChanges serializer.\nasynchronous pool containing messages sorted by priority …\nasynchronous pool changes\nasynchronous pool configuration\nPerforms the initial draws.\nCopyright (c) 2022 MASSA LABS info@massa.net This file …\nexecution state configuration\nthe RocksDB instance used to write every final_state …\ndeferred call changes\ndeferred calls\nconfig for deferred calls\nendorsement count\nCopyright (c) 2022 MASSA LABS info@massa.net This file …\nexecuted denunciations\nexecuted denunciations changes\nexecuted denunciations configuration\nexecuted operations\nexecuted operations changes\nexecuted operations configuration\ncheck if an operation is in the executed ops\nexecution trail hash change\nfinal changes history length\nCopyright (c) 2022 MASSA LABS info@massa.net This file …\nApplies changes to the execution state at a given slot, …\nTODO\nGet async pool\nGet the database\nGet deferred call registry\nGet executed denunciations\nGets the hash of the execution trail\nGet the fingerprint (hash) of the final state. Note that …\nGet last slot before downtime\nGet last start period\nGet ledger\nGet ledger mut\nGet MIP Store\nGet mutable reference to MIP Store\nGet the executed status ops\nGet pos state\nGet pos state mut\nGet the slot at the end of which the final state is …\nInitialize the execution trail hash to zero.\ninitial rolls file path\ninitial PoS seed string\nDeserialize the entire DB and check the data. Useful to …\nlast_slot_before_downtime\nlast_start_period\nfinal ledger associating addresses to their balance, …\nInterval of periods between creation of each ledger backup\nledger changes\nledger configuration\nmax number of denunciations that can be included in a …\nmax number of denunciation index in executed denunciations …\nMIP store\nperiods per cycle\nroll state changes\nproof-of-stake configuration\nproof of stake state containing cycle history and deferred …\nAfter bootstrap or load from disk, recompute all the …\nReset the final state to the initial state.\nSet last slot before downtime\nSet last start period\nCopyright (c) 2022 MASSA LABS info@massa.net This file …\nTODO\nthread count\nLedger configuration\nasynchronous pool configuration\nconfig for deferred calls\nendorsement count\nexecuted denunciations configuration\nexecuted operations configuration\nfinal changes history length\nReturns the argument unchanged.\nTODO\ninitial rolls file path\ninitial PoS seed string\nCalls U::from(self).\nInterval of periods between creation of each ledger backup\nledger configuration\nmax number of denunciations that can be included in a …\nmax number of denunciation index in executed denunciations …\nperiods per cycle\nproof-of-stake configuration\nTODO\nthread count\nTrait for final state controller.\nPerforms the initial draws.\ncheck if an operation is in the executed ops\nApplies changes to the execution state at a given slot, …\nGet async pool\nGet the database\nGet deferred call registry\nGet executed denunciations\nGets the hash of the execution trail\nGet the fingerprint (hash) of the final state. Note that …\nGet last slot before downtime\nGet last start period\nGet ledger\nGet ledger mut\nGet MIP Store\nGet mutable reference to MIP Store\nGet the executed status ops\nGet pos state\nGet pos state mut\nGet the slot at the end of which the final state is …\nInitialize the execution trail hash to zero.\nDeserialize the entire DB and check the data. Useful to …\nAfter bootstrap or load from disk, recompute all the …\nReset the final state to the initial state.\nSet last slot before downtime\nSet last start period\nExtendFromDbError\nFinal state error\ninvalid slot: {0}\nledger error: {0}\nIsConsistentWithShutdownPeriodError\nPoS error: {0}\nSnapshot error: {0}\nReturns the argument unchanged.\nCalls U::from(self).\nRepresents a final state …\nInternal function called by is_db_valid\nasynchronous pool containing messages sorted by priority …\nexecution state configuration\nthe RocksDB instance used to write every final_state …\ndeferred calls\nexecuted denunciations\nexecuted operations\nUsed during interpolation, when a new cycle is set as …\nReturns the argument unchanged.\nOnce we created a FinalState from a snapshot, we need to …\nThis helper function is to be called if the downtime spans …\nThis helper function is to be called if the downtime does …\nCalls U::from(self).\nlast_slot_before_downtime\nlast_start_period\nfinal ledger associating addresses to their balance, …\nMIP store\nInitializes a new FinalState\nInitializes a FinalState from a snapshot.\nproof of stake state containing cycle history and deferred …\nrepresents changes that can be applied to the execution …\nBasic StateChanges deserializer\nBasic StateChanges serializer.\nextends the current StateChanges with another one\nasynchronous pool changes\ndeferred call changes\nexecuted denunciations changes\nexecuted operations changes\nexecution trail hash change\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nledger changes\nCreates a StateChangesSerializer\nCreates a StateChangesDeserializer\nroll state changes") \ 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 01d883e3851..0e2b4e73a44 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.\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 diff --git a/src/massa_api/public.rs.html b/src/massa_api/public.rs.html index f305c4ee362..f598cfa1917 100644 --- a/src/massa_api/public.rs.html +++ b/src/massa_api/public.rs.html @@ -1505,6 +1505,43 @@ 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
    //! Copyright (c) 2022 MASSA LABS <info@massa.net>
     #![allow(clippy::too_many_arguments)]
     
    @@ -1965,6 +2002,12 @@
             let config = CompactConfig::default();
             let now = MassaTime::now();
     
    +        let current_mip_version = self
    +            .0
    +            .keypair_factory
    +            .mip_store
    +            .get_network_version_current();
    +
             let last_slot_result = get_latest_block_slot_at_timestamp(
                 api_settings.thread_count,
                 api_settings.t0,
    @@ -2062,6 +2105,7 @@
                 current_cycle,
                 chain_id: self.0.api_settings.chain_id,
                 minimal_fees: self.0.api_settings.minimal_fees,
    +            current_mip_version,
             })
         }
     
    @@ -2667,6 +2711,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 +2766,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 +2816,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_api_exports/node.rs.html b/src/massa_api_exports/node.rs.html
    index e7398a4e0a3..0407056d6e2 100644
    --- a/src/massa_api_exports/node.rs.html
    +++ b/src/massa_api_exports/node.rs.html
    @@ -94,6 +94,8 @@
     94
     95
     96
    +97
    +98
     

    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     use massa_models::amount::Amount;
    @@ -142,6 +144,8 @@
         pub chain_id: u64,
         /// minimal fees to include an operation in a block
         pub minimal_fees: Amount,
    +    /// current mip version
    +    pub current_mip_version: u32,
     }
     
     impl std::fmt::Display for NodeStatus {
    diff --git a/src/massa_client/display.rs.html b/src/massa_client/display.rs.html
    index fbda10bddd8..ff1beb628d4 100644
    --- a/src/massa_client/display.rs.html
    +++ b/src/massa_client/display.rs.html
    @@ -598,6 +598,7 @@
     598
     599
     600
    +601
     
    // Copyright (c) 2023 MASSA LABS <info@massa.net>
     
     use crate::cmds::ExtendedWallet;
    @@ -875,6 +876,7 @@
     
             println!();
             println!("Chain id: {}", self.chain_id);
    +        println!("Current MIP version: {}", self.current_mip_version);
         }
     }
     
    diff --git a/src/massa_db_worker/massa_db.rs.html b/src/massa_db_worker/massa_db.rs.html
    index cb39120a4dc..ca98861363c 100644
    --- a/src/massa_db_worker/massa_db.rs.html
    +++ b/src/massa_db_worker/massa_db.rs.html
    @@ -2170,8 +2170,8 @@
             change_id: Option<ChangeID>,
             reset_history: bool,
         ) -> Result<(), MassaDBError> {
    -        if let Some(change_id) = change_id.as_ref() {
    -            if *change_id < self.get_change_id().expect(CHANGE_ID_DESER_ERROR) {
    +        if let Some(change_id) = change_id.clone() {
    +            if change_id < self.get_change_id().expect(CHANGE_ID_DESER_ERROR) {
                     return Err(MassaDBError::InvalidChangeID(String::from(
                         "change_id should monotonically increase after every write",
                     )));
    diff --git a/src/massa_event_cache/event_cache.rs.html b/src/massa_event_cache/event_cache.rs.html
    index 03cd80e4f8f..2506bf8a79c 100644
    --- a/src/massa_event_cache/event_cache.rs.html
    +++ b/src/massa_event_cache/event_cache.rs.html
    @@ -2764,7 +2764,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_V1, MAX_EVENT_PER_OPERATION, MAX_OPERATIONS_PER_BLOCK,
             MAX_RECURSIVE_CALLS_DEPTH, THREAD_COUNT,
         };
         use massa_models::operation::OperationId;
    @@ -2779,7 +2779,7 @@
                 300,
                 THREAD_COUNT,
                 MAX_RECURSIVE_CALLS_DEPTH,
    -            MAX_EVENT_DATA_SIZE as u64,
    +            MAX_EVENT_DATA_SIZE_V1 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 9636dc10b87..2b2169f77b4 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 cf91942453a..50ecaeccb8f 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 34fa59d8ca4..f609e632d62 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,
                     _ => (),
                 }
    @@ -829,11 +841,11 @@
                 return SlotIndexPosition::Past; // too old
             }
             let index: usize = match slot.slots_since(first_slot, thread_count) {
    -            Err(_) => return SlotIndexPosition::Past, // first_slot > slot - see slots_since docstring
    +            Err(_) => return SlotIndexPosition::Past, // overflow
                 Ok(d) => {
                     match d.try_into() {
                         Ok(d) => d,
    -                    Err(_) => return SlotIndexPosition::Future, // conversion from u64 to usize fail
    +                    Err(_) => return SlotIndexPosition::Future, // usize overflow
                     }
                 }
             };
    @@ -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
    @@ -1136,7 +1148,7 @@
             // Expect updates to be empty (or default) here
             {
                 let current_updates = AsyncMessageUpdate::default();
    -            let fetched = active_history.fetch_message(&message_id_3_2, current_updates);
    +            let fetched = active_history.fetch_message(&message_id_3_2, current_updates, 1);
                 if let HistorySearchResult::Present(SetUpdateOrDelete::Update(updates)) = fetched {
                     assert_eq!(updates, AsyncMessageUpdate::default());
                 } else {
    diff --git a/src/massa_execution_worker/context.rs.html b/src/massa_execution_worker/context.rs.html
    index 00dee7b3573..23cb5ac0747 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 df43a9001a6..3f71025ffd8 100644
    --- a/src/massa_execution_worker/execution.rs.html
    +++ b/src/massa_execution_worker/execution.rs.html
    @@ -2521,6 +2521,222 @@
     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
    +2711
    +2712
    +2713
    +2714
    +2715
    +2716
    +2717
    +2718
    +2719
    +2720
    +2721
    +2722
    +2723
    +2724
    +2725
    +2726
    +2727
    +2728
    +2729
    +2730
    +2731
    +2732
    +2733
    +2734
    +2735
    +2736
    +2737
    +2738
    +2739
     
    // 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 +2784,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};
    @@ -2663,6 +2879,7 @@
         pub(crate) execution_info: Arc<RwLock<ExecutionInfo>>,
         #[cfg(feature = "dump-block")]
         block_storage_backend: Arc<RwLock<dyn StorageBackend>>,
    +    cur_execution_version: u32,
     }
     
     impl ExecutionState {
    @@ -2711,14 +2928,16 @@
             })));
     
             // Create an empty placeholder execution context, with shared atomic access
    -        let execution_context = Arc::new(Mutex::new(ExecutionContext::new(
    +        let execution_context = ExecutionContext::new(
                 config.clone(),
                 final_state.clone(),
                 active_history.clone(),
                 module_cache.clone(),
                 mip_store.clone(),
                 execution_trail_hash,
    -        )));
    +        );
    +        let cur_execution_version = execution_context.execution_component_version;
    +        let execution_context = Arc::new(Mutex::new(execution_context));
     
             // Instantiate the interface providing ABI access to the VM, share the execution context with it
             let execution_interface = Box::new(InterfaceImpl::new(
    @@ -2761,6 +2980,7 @@
                 config,
                 #[cfg(feature = "dump-block")]
                 block_storage_backend,
    +            cur_execution_version,
             }
         }
     
    @@ -2824,6 +3044,30 @@
     
             // append generated events to the final event store
             exec_out.events.finalize();
    +
    +        let ts = get_block_slot_timestamp(
    +            self.config.thread_count,
    +            self.config.t0,
    +            self.config.genesis_timestamp,
    +            exec_out.slot,
    +        )
    +        .expect("Time overflow");
    +
    +        let cur_version = self
    +            .final_state
    +            .read()
    +            .get_mip_store()
    +            .get_network_version_active_at(ts);
    +
    +        if cur_version == 0 {
    +            // Truncate the events before saving them to the event store
    +            // Note: this is only needed during the MIP transition period
    +            // When it becomes active, we will refuse such events so no need to truncate them
    +            for event in exec_out.events.0.iter_mut() {
    +                event.data.truncate(self.config.max_event_size_v1);
    +            }
    +        }
    +
             self.final_events_cache.save_events(exec_out.events.0);
     
             // update the prometheus metrics
    @@ -2969,6 +3213,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 +3235,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 +3265,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 +3731,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 +3751,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 +3806,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 +3857,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 +3869,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 +3904,7 @@
             &self,
             message: AsyncMessage,
             bytecode: Option<Bytecode>,
    +        execution_version: u32,
         ) -> Result<AsyncMessageExecutionResult, ExecutionError> {
             let mut result = AsyncMessageExecutionResult::new();
             #[cfg(feature = "execution-info")]
    @@ -3659,7 +3924,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 +3979,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 +4131,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,
    @@ -3918,7 +4201,7 @@
         /// # Returns
         /// An `ExecutionOutput` structure summarizing the output of the executed slot
         pub fn execute_slot(
    -        &self,
    +        &mut self,
             slot: &Slot,
             exec_target: Option<&(BlockId, ExecutionBlockMetadata)>,
             selector: Box<dyn SelectorController>,
    @@ -3947,40 +4230,94 @@
                 self.mip_store.clone(),
             );
     
    -        // Deferred calls
    -        let calls = execution_context.deferred_calls_advance_slot(*slot);
    +        let execution_version = execution_context.execution_component_version;
    +        if self.cur_execution_version != execution_version {
    +            // Reset the cache because a new execution version has become active
    +            info!("A new execution version has become active! Resetting the module-cache.");
    +            self.module_cache.write().reset();
    +            self.cur_execution_version = execution_version;
    +        }
    +
    +        let mut deferred_calls_slot_gas = 0;
     
    -        // Apply the created execution context for slot execution
    -        *context_guard!(self) = execution_context;
    +        // deferred calls execution
     
    -        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));
    +        match execution_version {
    +            0 => {
    +                // Get asynchronous messages to execute
    +                let messages = execution_context.take_async_batch_v0(
    +                    self.config.max_async_gas,
    +                    self.config.async_msg_cst_gas_cost,
    +                );
    +
    +                // Apply the created execution context for slot execution
    +                *context_guard!(self) = execution_context;
    +
    +                // 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 deferred call: {}", err);
    -                    #[cfg(feature = "execution-info")]
    -                    exec_info.deferred_calls_messages.push(Err(msg.clone()));
    -                    dbg!(msg);
    +            }
    +            _ => {
    +                // 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);
    +                        }
    +                    }
                     }
                 }
             }
     
    -        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 +4499,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 +4674,44 @@
                 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
    +
    +        if execution_version > 0 {
    +            // 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);
    +                    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 +4938,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 +4952,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 +4964,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 +4983,7 @@
                         .unwrap_or_default()
                         .0;
     
    +                let condom_limits = execution_context.get_condom_limits();
                     {
                         let mut context = context_guard!(self);
                         *context = execution_context;
    @@ -4577,10 +5008,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 +5021,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 d92470d9177..fce48441005 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 7ecf7e120d2..1f6cf0ab0ea 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 eb812184858..a0cb23c8c30 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 9cafa87d5b5..a4b1a2d0848 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 35254facfea..3c8b0fa02c7 100644
    --- a/src/massa_final_state/state_changes.rs.html
    +++ b/src/massa_final_state/state_changes.rs.html
    @@ -382,6 +382,24 @@
     382
     383
     384
    +385
    +386
    +387
    +388
    +389
    +390
    +391
    +392
    +393
    +394
    +395
    +396
    +397
    +398
    +399
    +400
    +401
    +402
     
    //! Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! This file provides structures representing changes to the final state
    @@ -614,6 +632,24 @@
         }
     }
     
    +impl StateChanges {
    +    /// extends the current `StateChanges` with another one
    +    pub fn apply(&mut self, changes: StateChanges) {
    +        // TODO deferred_call_changes ?
    +        use massa_models::types::Applicable;
    +        self.ledger_changes.apply(changes.ledger_changes);
    +        self.async_pool_changes.apply(changes.async_pool_changes);
    +        self.pos_changes.extend(changes.pos_changes);
    +        self.executed_ops_changes
    +            .extend(changes.executed_ops_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);
    +    }
    +}
    +
     #[cfg(test)]
     mod test {
         use std::collections::BTreeMap;
    diff --git a/src/massa_grpc/private.rs.html b/src/massa_grpc/private.rs.html
    index f522efd7367..57fa1e23c88 100644
    --- a/src/massa_grpc/private.rs.html
    +++ b/src/massa_grpc/private.rs.html
    @@ -471,6 +471,7 @@
     471
     472
     473
    +474
     
    // Copyright (c) 2023 MASSA LABS <info@massa.net>
     
     use std::net::IpAddr;
    @@ -778,6 +779,7 @@
             execution_stats: Some(execution_stats.into()),
             config: Some(config.into()),
             chain_id: grpc.grpc_config.chain_id,
    +        current_mip_version: grpc.mip_store.get_network_version_current(),
         };
     
         Ok(grpc_api::GetNodeStatusResponse {
    diff --git a/src/massa_grpc/public.rs.html b/src/massa_grpc/public.rs.html
    index 4b927b6e696..1cbf97dda89 100644
    --- a/src/massa_grpc/public.rs.html
    +++ b/src/massa_grpc/public.rs.html
    @@ -1524,6 +1524,9 @@
     1524
     1525
     1526
    +1527
    +1528
    +1529
     
    // Copyright (c) 2023 MASSA LABS <info@massa.net>
     
     use crate::error::GrpcError;
    @@ -2486,6 +2489,7 @@
             config: Some(config.into()),
             chain_id: grpc.grpc_config.chain_id,
             minimal_fees: Some(grpc.grpc_config.minimal_fees.into()),
    +        current_mip_version: grpc.keypair_factory.mip_store.get_network_version_current(),
         };
     
         Ok(grpc_api::GetStatusResponse {
    @@ -2518,11 +2522,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 ce4cdd2c443..18c5838fce9 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 d7aa5aed282..07be27f95ba 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 14bb8ec77c4..8be67a979de 100644
    --- a/src/massa_ledger_worker/ledger_db.rs.html
    +++ b/src/massa_ledger_worker/ledger_db.rs.html
    @@ -720,8 +720,6 @@
     720
     721
     722
    -723
    -724
     
    //! Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! Module to interact with the disk ledger
    @@ -836,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(
    @@ -851,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) => {
    @@ -869,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);
                     }
                 }
             }
    @@ -1009,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
    @@ -1161,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
    @@ -1185,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);
         }
     }
     
    @@ -1196,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, &[]);
    @@ -1205,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());
         }
    @@ -1352,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
    @@ -1399,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()
    @@ -1421,29 +1441,5 @@
             assert_eq!(end_prefix(&[5, 6, 7]), Some(vec![5, 6, 8]));
             assert_eq!(end_prefix(&[5, 6, 255]), Some(vec![5, 7]));
         }
    -
    -    #[test]
    -    fn test_ledger_delete() {
    -        let keypair = KeyPair::generate(0).unwrap();
    -        let addr = Address::from_public_key(&keypair.get_public_key());
    -        let (ledger_db, _data) = init_test_ledger(addr);
    -
    -        let datastore = ledger_db.get_entire_datastore(&addr);
    -        // println!("datastore: {:?}", datastore);
    -        assert!(!datastore.is_empty());
    -
    -        let mut batch = DBBatch::new();
    -        let guard = ledger_db.db.read();
    -        delete_datastore_entries(&addr, &guard, &mut batch);
    -        drop(guard);
    -
    -        let mut guard = ledger_db.db.write();
    -        guard.write_batch(batch, Default::default(), None);
    -        drop(guard);
    -
    -        let datastore = ledger_db.get_entire_datastore(&addr);
    -        // println!("datastore: {:?}", datastore);
    -        assert!(datastore.is_empty());
    -    }
     }
     
    \ No newline at end of file diff --git a/src/massa_models/config/constants.rs.html b/src/massa_models/config/constants.rs.html index cbbe99b3c02..0568800c604 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 534fb8daaa7..16aca166a8b 100644
    --- a/src/massa_module_cache/controller.rs.html
    +++ b/src/massa_module_cache/controller.rs.html
    @@ -203,9 +203,19 @@
     203
     204
     205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
     
    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;
     
    @@ -244,13 +254,23 @@
             }
         }
     
    +    pub fn reset(&mut self) {
    +        self.lru_cache.reset();
    +        self.hd_cache.reset();
    +    }
    +
         /// 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 +285,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 +298,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 +324,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 +343,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 +367,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 +379,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 +408,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 +423,7 @@
                 bytecode,
                 self.cfg.gas_costs.clone(),
                 Compiler::SP,
    -            self.cfg.condom_limits.clone(),
    +            condom_limits,
             )?;
             Ok(module)
         }
    diff --git a/src/massa_module_cache/hd_cache.rs.html b/src/massa_module_cache/hd_cache.rs.html
    index 6ca492e38a9..869bd9f467d 100644
    --- a/src/massa_module_cache/hd_cache.rs.html
    +++ b/src/massa_module_cache/hd_cache.rs.html
    @@ -341,6 +341,38 @@
     341
     342
     343
    +344
    +345
    +346
    +347
    +348
    +349
    +350
    +351
    +352
    +353
    +354
    +355
    +356
    +357
    +358
    +359
    +360
    +361
    +362
    +363
    +364
    +365
    +366
    +367
    +368
    +369
    +370
    +371
    +372
    +373
    +374
    +375
     
    use crate::types::{
         ModuleInfo, ModuleMetadata, ModuleMetadataDeserializer, ModuleMetadataSerializer,
     };
    @@ -379,7 +411,7 @@
     
     pub(crate) struct HDCache {
         /// RocksDB database
    -    db: DB,
    +    db: Option<DB>,
         /// How many entries are in the db. Count is initialized at creation time by iterating
         /// over all the entries in the db then it is maintained in memory
         entry_count: usize,
    @@ -412,7 +444,7 @@
             let entry_count = 0;
     
             Self {
    -            db,
    +            db: Some(db),
                 entry_count,
                 max_entry_count,
                 snip_amount,
    @@ -421,6 +453,24 @@
             }
         }
     
    +    pub fn reset(&mut self) {
    +        let path = self.db.as_ref().unwrap().path().to_path_buf();
    +
    +        // Close the existing database by dropping it
    +        let _ = self.db.take();
    +
    +        // Destroy the database files
    +        if path.exists() {
    +            if let Err(e) = DB::destroy(&Options::default(), path.clone()) {
    +                warn!("Failed to destroy the db: {:?}", e);
    +            }
    +        }
    +        // Reopen the database
    +        let db = DB::open_default(&path).expect(OPEN_ERROR);
    +        self.db = Some(db);
    +        self.entry_count = 0;
    +    }
    +
         /// Insert a new module in the cache
         pub fn insert(&mut self, hash: Hash, module_info: ModuleInfo) {
             if self.entry_count >= self.max_entry_count {
    @@ -452,7 +502,11 @@
             let mut batch = WriteBatch::default();
             batch.put(module_key!(hash), ser_module);
             batch.put(metadata_key!(hash), ser_metadata);
    -        self.db.write(batch).expect(CRUD_ERROR);
    +        self.db
    +            .as_ref()
    +            .expect(CRUD_ERROR)
    +            .write(batch)
    +            .expect(CRUD_ERROR);
     
             self.entry_count = self.entry_count.saturating_add(1);
     
    @@ -470,6 +524,8 @@
                 .serialize(&ModuleMetadata::Delta(init_cost), &mut ser_metadata)
                 .expect(DATA_SER_ERROR);
             self.db
    +            .as_ref()
    +            .expect(CRUD_ERROR)
                 .put(metadata_key!(hash), ser_metadata)
                 .expect(CRUD_ERROR);
         }
    @@ -481,6 +537,8 @@
                 .serialize(&ModuleMetadata::Invalid(err_msg), &mut ser_metadata)
                 .expect(DATA_SER_ERROR);
             self.db
    +            .as_ref()
    +            .expect(CRUD_ERROR)
                 .put(metadata_key!(hash), ser_metadata)
                 .expect(CRUD_ERROR);
         }
    @@ -494,6 +552,8 @@
         ) -> Option<ModuleInfo> {
             let mut iterator = self
                 .db
    +            .as_ref()
    +            .expect(CRUD_ERROR)
                 .iterator(IteratorMode::From(&module_key!(hash), Direction::Forward));
     
             if let (Some(Ok((key_1, ser_module))), Some(Ok((key_2, ser_metadata)))) =
    @@ -530,7 +590,7 @@
     
         /// Try to remove as much as `self.amount_to_snip` entries from the db
         fn snip(&mut self) {
    -        let mut iter = self.db.raw_iterator();
    +        let mut iter = self.db.as_ref().expect(CRUD_ERROR).raw_iterator();
             let mut batch = WriteBatch::default();
             let mut snipped_count: usize = 0;
     
    @@ -567,7 +627,11 @@
             }
     
             // delete the key and reduce entry_count
    -        self.db.write(batch).expect(CRUD_ERROR);
    +        self.db
    +            .as_ref()
    +            .expect(CRUD_ERROR)
    +            .write(batch)
    +            .expect(CRUD_ERROR);
             self.entry_count -= snipped_count;
         }
     }
    diff --git a/src/massa_module_cache/lru_cache.rs.html b/src/massa_module_cache/lru_cache.rs.html
    index 4c26cb1fb62..7a4205550ae 100644
    --- a/src/massa_module_cache/lru_cache.rs.html
    +++ b/src/massa_module_cache/lru_cache.rs.html
    @@ -65,6 +65,10 @@
     65
     66
     67
    +68
    +69
    +70
    +71
     
    use massa_hash::Hash;
     use massa_models::prehash::BuildHashMapper;
     use schnellru::{ByLength, LruMap};
    @@ -94,6 +98,10 @@
             }
         }
     
    +    pub fn reset(&mut self) {
    +        self.cache.clear();
    +    }
    +
         /// If the module is contained in the cache:
         /// * retrieve a copy of it
         /// * move it up in the LRU cache
    diff --git a/src/massa_node/main.rs.html b/src/massa_node/main.rs.html
    index e902bb024a1..3905e72d2d1 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 61f919cdc99..9f7e2031735 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 5efad5cd97b..e309e510beb 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 a25dd4228bd..06dc873b6b4 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 c3f7a9edfe8..c97afe5b2f3 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 f08c7efd453..60a812ec870 100644 --- a/trait.impl/core/convert/trait.From.js +++ b/trait.impl/core/convert/trait.From.js @@ -1,5 +1,5 @@ (function() {var implementors = { -"massa_api_exports":[["impl From<ApiError> for ErrorObjectOwned"],["impl From<FactoryError> for ApiError"],["impl From<MassaHashError> for ApiError"],["impl From<ModelsError> for ApiError"],["impl From<TimeError> for ApiError"],["impl From<WalletError> for ApiError"],["impl<T> From<PagedVec<T>> for PagedVecV2<T>"]], +"massa_api_exports":[["impl From<ApiError> for ErrorObjectOwned"],["impl From<WalletError> for ApiError"],["impl From<FactoryError> for ApiError"],["impl From<MassaHashError> for ApiError"],["impl From<ModelsError> for ApiError"],["impl From<TimeError> for ApiError"],["impl<T> From<PagedVec<T>> for PagedVecV2<T>"]], "massa_async_pool":[["impl From<AsyncMessage> for AsyncMessageInfo"],["impl From<AsyncMessage> for AsyncMessage"],["impl From<AsyncMessageTrigger> for AsyncMessageTrigger"],["impl From<AsyncMessageUpdate> for AsyncMessageUpdate"]], "massa_bootstrap":[["impl From<&BootstrapClientConfig> for BootstrapServerMessageDeserializerArgs"],["impl From<&BootstrapConfig> for BootstrapClientConfig"],["impl From<&BootstrapConfig> for BootstrapSrvBindCfg"],["impl From<&BootstrapServerMessageDeserializerArgs> for BlockDeserializerArgs"],["impl From<MessageClientTypeId> for u32"],["impl From<MessageServerTypeId> for u32"],["impl From<FinalStateError> for BootstrapError"],["impl From<MassaHashError> for BootstrapError"],["impl From<ModelsError> for BootstrapError"],["impl From<PosError> for BootstrapError"],["impl From<ProtocolError> for BootstrapError"],["impl From<SerializeError> for BootstrapError"],["impl From<MassaSignatureError> for BootstrapError"],["impl From<TimeError> for BootstrapError"],["impl From<Error> for BootstrapError"],["impl From<ConsensusError> for BootstrapError"]], "massa_cipher":[["impl From<Utf8Error> for CipherError"]], @@ -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<MassaSignatureError> for DenunciationError"],["impl From<MassaSignatureError> 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"],["impl From<TimeError> for ModelsError"]], +"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_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_pool_exports/controller_traits/trait.PoolController.js b/trait.impl/massa_pool_exports/controller_traits/trait.PoolController.js index fb9c3c671e7..861511e6de0 100644 --- a/trait.impl/massa_pool_exports/controller_traits/trait.PoolController.js +++ b/trait.impl/massa_pool_exports/controller_traits/trait.PoolController.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"massa_pool_worker":[["impl PoolController for PoolControllerImpl"]] +"massa_pool_worker":[["impl PoolController for PoolControllerImpl"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/massa_pool_exports/controller_traits/trait.PoolManager.js b/trait.impl/massa_pool_exports/controller_traits/trait.PoolManager.js index 428365f3e80..98295c03cd2 100644 --- a/trait.impl/massa_pool_exports/controller_traits/trait.PoolManager.js +++ b/trait.impl/massa_pool_exports/controller_traits/trait.PoolManager.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"massa_pool_worker":[["impl PoolManager for PoolManagerImpl"]] +"massa_pool_worker":[["impl PoolManager for PoolManagerImpl"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/massa_serialization/trait.Deserializer.js b/trait.impl/massa_serialization/trait.Deserializer.js index 11900cfba85..4856beed671 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 79e03487466..33931c0ca55 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"]],