From b1a22e4a15b01812fe0a0c411ef0343e342c155b Mon Sep 17 00:00:00 2001 From: modship Date: Tue, 14 Jan 2025 16:39:41 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20massalab?= =?UTF-8?q?s/massa@a8b5fb0662879a7f2b2ece1914d01020d33078fe=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- massa_api/all.html | 2 +- massa_api/api/fn.broadcast_via_ws.html | 2 +- massa_api/fn.serve.html | 2 +- massa_api/fn.wrong_api.html | 2 +- massa_api/index.html | 2 +- massa_api/private/fn.get_file_len.html | 2 +- .../private/fn.read_ips_from_jsonfile.html | 2 +- massa_api/private/fn.run_scrud_operation.html | 2 +- .../private/fn.write_ips_to_jsonfile.html | 2 +- massa_api/private/index.html | 2 +- .../public/fn.check_input_operation.html | 2 +- ...ss_datastore_keys_to_state_query_item.html | 6 + massa_api/public/index.html | 4 +- massa_api/public/sidebar-items.js | 2 +- massa_api/struct.API.html | 12 +- massa_api/struct.ApiV2.html | 2 +- massa_api/struct.Private.html | 2 +- massa_api/struct.Public.html | 2 +- massa_api/struct.StopHandle.html | 4 +- massa_api/trait.ApiServer.html | 4 +- massa_api/trait.MassaRpcServer.html | 100 +-- massa_api/trait.RpcServer.html | 6 +- massa_api_exports/address/index.html | 4 +- massa_api_exports/address/sidebar-items.js | 2 +- .../address/struct.AddressFilter.html | 10 +- .../address/struct.AddressInfo.html | 10 +- .../address/struct.CompactAddressInfo.html | 10 +- ...struct.GetAddressDatastoreKeysRequest.html | 121 ++++ ...truct.GetAddressDatastoreKeysResponse.html | 110 +++ massa_api_exports/all.html | 2 +- massa_api_exports/block/struct.BlockInfo.html | 10 +- .../block/struct.BlockInfoContent.html | 10 +- .../block/struct.BlockSummary.html | 10 +- massa_api_exports/config/index.html | 2 +- .../config/struct.APIConfig.html | 16 +- .../datastore/struct.DatastoreEntryInput.html | 10 +- .../struct.DatastoreEntryOutput.html | 10 +- .../endorsement/struct.EndorsementInfo.html | 10 +- massa_api_exports/error/enum.ApiError.html | 2 +- .../execution/enum.ReadOnlyResult.html | 10 +- .../execution/enum.TransferContext.html | 10 +- .../struct.DeferredCallResponse.html | 10 +- .../struct.DeferredCallsQuoteRequest.html | 10 +- .../struct.DeferredCallsQuoteResponse.html | 10 +- .../struct.DeferredCallsSlotResponse.html | 10 +- .../struct.ExecuteReadOnlyResponse.html | 10 +- .../struct.ReadOnlyBytecodeExecution.html | 10 +- .../execution/struct.ReadOnlyCall.html | 10 +- .../execution/struct.Transfer.html | 10 +- .../ledger/struct.LedgerInfo.html | 10 +- massa_api_exports/node/index.html | 2 +- massa_api_exports/node/struct.NodeStatus.html | 14 +- .../operation/struct.OperationInfo.html | 10 +- .../operation/struct.OperationInput.html | 10 +- .../page/struct.PageRequest.html | 10 +- massa_api_exports/page/struct.PagedVec.html | 4 +- massa_api_exports/page/struct.PagedVecV2.html | 14 +- massa_api_exports/rolls/struct.RollsInfo.html | 10 +- massa_api_exports/slot/struct.SlotAmount.html | 10 +- massa_api_exports/struct.ApiRequest.html | 10 +- massa_api_exports/struct.TimeInterval.html | 10 +- .../changes/struct.AsyncPoolChanges.html | 12 +- .../message/struct.AsyncMessage.html | 14 +- .../message/struct.AsyncMessageTrigger.html | 12 +- .../message/struct.AsyncMessageUpdate.html | 18 +- massa_async_pool/struct.AsyncMessage.html | 14 +- .../struct.AsyncMessageTrigger.html | 12 +- .../struct.AsyncMessageUpdate.html | 18 +- massa_async_pool/struct.AsyncPoolChanges.html | 12 +- .../enum.BootstrapClientMessage.html | 4 +- massa_bootstrap/enum.BootstrapError.html | 4 +- .../enum.BootstrapServerMessage.html | 4 +- massa_bootstrap/enum.IpType.html | 8 +- .../error/enum.BootstrapError.html | 4 +- .../messages/enum.BootstrapClientMessage.html | 4 +- .../messages/enum.BootstrapServerMessage.html | 4 +- .../messages/enum.MessageClientTypeId.html | 2 +- massa_bootstrap/settings/enum.IpType.html | 8 +- .../struct.BootstrapClientConfig.html | 8 +- .../settings/struct.BootstrapConfig.html | 8 +- .../settings/struct.BootstrapSrvBindCfg.html | 8 +- massa_bootstrap/struct.BootstrapConfig.html | 8 +- massa_cipher/enum.CipherError.html | 2 +- massa_cipher/error/enum.CipherError.html | 2 +- massa_client/cmds/enum.Command.html | 2 +- .../cmds/fn.get_file_as_byte_vec.html | 2 +- massa_client/cmds/fn.parse_key_value.html | 2 +- massa_client/cmds/fn.parse_vec.html | 2 +- massa_client/cmds/fn.send_operation.html | 2 +- massa_client/cmds/struct.ExtendedWallet.html | 8 +- .../cmds/struct.ExtendedWalletEntry.html | 6 +- massa_client/display/index.html | 2 +- massa_client/display/trait.Output.html | 2 +- massa_client/fn.main.html | 2 +- massa_client/fn.run.html | 2 +- massa_client/repl/fn.run.html | 2 +- .../settings/struct.ClientSettings.html | 8 +- massa_client/settings/struct.DefaultNode.html | 8 +- .../settings/struct.HttpSettings.html | 8 +- massa_client/settings/struct.Settings.html | 8 +- massa_client/struct.JsonError.html | 6 +- .../block_status/enum.DiscardReason.html | 12 +- .../block_status/enum.ExportBlockStatus.html | 10 +- .../block_status/enum.Status.html | 12 +- .../struct.ExportCompiledBlock.html | 10 +- .../struct.BootstrapableGraph.html | 16 +- .../error/enum.ConsensusError.html | 6 +- .../error/enum.LedgerError.html | 6 +- .../struct.ExportActiveBlock.html | 12 +- .../settings/struct.ConsensusConfig.html | 10 +- .../struct.ConsensusConfig.html | 10 +- .../call/struct.DeferredCall.html | 12 +- .../config/struct.DeferredCallsConfig.html | 8 +- .../struct.DeferredCallRegistryChanges.html | 12 +- .../struct.DeferredRegistrySlotChanges.html | 12 +- massa_deferred_calls/struct.DeferredCall.html | 12 +- .../enum.ExecutionError.html | 2 +- .../enum.ExecutionQueryError.html | 2 +- .../enum.ExecutionQueryExecutionStatus.html | 2 +- .../enum.ExecutionQueryRequestItem.html | 26 +- .../enum.ExecutionQueryResponseItem.html | 6 +- .../enum.ReadOnlyExecutionTarget.html | 4 +- .../enum.SlotExecutionOutput.html | 4 +- .../error/enum.ExecutionError.html | 2 +- .../error/enum.ExecutionQueryError.html | 2 +- .../event_store/struct.EventStore.html | 4 +- .../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 | 4 +- .../mapping_grpc/index.html | 2 +- .../struct.EventStore.html | 4 +- .../struct.ExecutedBlockInfo.html | 6 +- .../struct.ExecutionAddressInfo.html | 4 +- .../struct.ExecutionBlockMetadata.html | 4 +- .../struct.ExecutionOutput.html | 6 +- .../struct.ExecutionQueryCycleInfos.html | 2 +- .../struct.ExecutionQueryRequest.html | 2 +- .../struct.ExecutionQueryResponse.html | 2 +- .../struct.ExecutionQueryStakerInfo.html | 2 +- .../struct.ExecutionStackElement.html | 4 +- massa_execution_exports/struct.GasCosts.html | 2 +- .../struct.ReadOnlyCallRequest.html | 4 +- .../struct.ReadOnlyExecutionOutput.html | 4 +- .../struct.ReadOnlyExecutionRequest.html | 4 +- .../enum.ExecutionQueryExecutionStatus.html | 2 +- .../types/enum.ExecutionQueryRequestItem.html | 26 +- .../enum.ExecutionQueryResponseItem.html | 6 +- .../types/enum.ReadOnlyExecutionTarget.html | 4 +- .../types/enum.SlotExecutionOutput.html | 4 +- massa_execution_exports/types/index.html | 2 +- .../types/struct.ExecutedBlockInfo.html | 6 +- .../types/struct.ExecutionAddressInfo.html | 4 +- .../types/struct.ExecutionBlockMetadata.html | 4 +- .../types/struct.ExecutionOutput.html | 6 +- .../struct.ExecutionQueryCycleInfos.html | 2 +- .../types/struct.ExecutionQueryRequest.html | 2 +- .../types/struct.ExecutionQueryResponse.html | 2 +- .../struct.ExecutionQueryStakerInfo.html | 2 +- .../types/struct.ExecutionStackElement.html | 4 +- .../types/struct.ReadOnlyCallRequest.html | 4 +- .../types/struct.ReadOnlyExecutionOutput.html | 4 +- .../struct.ReadOnlyExecutionRequest.html | 4 +- massa_execution_worker/all.html | 2 +- .../fn.generate_execution_trail_hash.html | 2 +- .../context/fn.init_prng.html | 2 +- massa_execution_worker/context/index.html | 2 +- .../context/struct.ExecutionContext.html | 103 +-- .../struct.ExecutionContextSnapshot.html | 2 +- massa_execution_worker/controller/index.html | 2 +- .../struct.ExecutionControllerImpl.html | 24 +- .../struct.ExecutionManagerImpl.html | 4 +- .../datastore_scan/fn.scan_datastore.html | 23 + .../datastore_scan/index.html | 3 + .../datastore_scan/sidebar-items.js | 1 + massa_execution_worker/execution/index.html | 2 +- .../execution/struct.ExecutionState.html | 40 +- massa_execution_worker/index.html | 5 +- .../fn.amount_from_native_amount.html | 2 +- .../fn.get_address_from_opt_or_context.html | 2 +- .../fn.massa_time_from_native_time.html | 2 +- .../interface_impl/index.html | 2 +- .../interface_impl/struct.InterfaceImpl.html | 230 +++---- massa_execution_worker/sidebar-items.js | 2 +- .../speculative_ledger/index.html | 2 +- .../struct.SpeculativeLedger.html | 24 +- massa_final_state/enum.FinalStateError.html | 2 +- .../error/enum.FinalStateError.html | 2 +- .../final_state/struct.FinalState.html | 2 +- .../state_changes/struct.StateChanges.html | 12 +- massa_final_state/struct.FinalState.html | 2 +- massa_final_state/struct.StateChanges.html | 12 +- massa_grpc/config/enum.ServiceName.html | 10 +- massa_grpc/config/index.html | 2 +- massa_grpc/config/struct.GrpcApiConfig.html | 10 +- massa_grpc/config/struct.GrpcConfig.html | 14 +- 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_hash/hash/struct.Hash.html | 16 +- massa_hash/struct.Hash.html | 16 +- massa_ledger_exports/controller/index.html | 2 +- .../controller/trait.LedgerController.html | 16 +- massa_ledger_exports/enum.LedgerError.html | 2 +- .../error/enum.LedgerError.html | 2 +- .../ledger_changes/struct.LedgerChanges.html | 12 +- .../struct.LedgerEntryUpdate.html | 12 +- .../ledger_entry/struct.LedgerEntry.html | 16 +- .../struct.LedgerChanges.html | 12 +- massa_ledger_exports/struct.LedgerEntry.html | 16 +- .../struct.LedgerEntryUpdate.html | 12 +- .../trait.LedgerController.html | 16 +- massa_ledger_worker/ledger/index.html | 2 +- .../ledger/struct.FinalLedger.html | 25 +- .../fn.delete_datastore_entries.html | 2 +- .../ledger_db/fn.end_prefix.html | 2 +- massa_ledger_worker/ledger_db/index.html | 2 +- .../ledger_db/struct.LedgerDB.html | 15 +- massa_ledger_worker/struct.FinalLedger.html | 25 +- massa_logging/index.html | 2 +- .../active_block/struct.ActiveBlock.html | 10 +- massa_models/address/enum.Address.html | 10 +- massa_models/address/enum.SCAddress.html | 2 +- massa_models/address/enum.UserAddress.html | 2 +- .../address/struct.AddressDeserializer.html | 6 +- .../address/struct.AddressSerializer.html | 10 +- .../struct.ExecutionAddressCycleInfo.html | 10 +- massa_models/address/struct.SCAddressV0.html | 2 +- .../address/struct.UserAddressV0.html | 2 +- massa_models/all.html | 2 +- massa_models/amount/struct.Amount.html | 14 +- massa_models/amount/struct.AmountVisitor.html | 82 +-- massa_models/block/enum.BlockGraphStatus.html | 12 +- massa_models/block/struct.Block.html | 16 +- massa_models/block/struct.FilledBlock.html | 10 +- .../block_header/struct.BlockHeader.html | 20 +- massa_models/block_id/enum.BlockId.html | 18 +- massa_models/block_id/struct.BlockIdV0.html | 16 +- massa_models/bytecode/struct.Bytecode.html | 12 +- massa_models/clique/struct.Clique.html | 12 +- ...enum.OperationSearchResultBlockStatus.html | 10 +- .../enum.OperationSearchResultStatus.html | 10 +- .../struct.OperationSearchResult.html | 10 +- massa_models/composite/struct.PubkeySig.html | 10 +- .../struct.StakersCycleProductionStats.html | 10 +- .../compact_config/struct.CompactConfig.html | 22 +- .../constant.MAX_OPERATION_STORAGE_TIME.html | 2 +- .../config/constants/constant.T0.html | 2 +- ...stant.VERSIONING_ACTIVATION_DELAY_MIN.html | 2 +- .../constants/struct.END_TIMESTAMP.html | 4 +- .../constants/struct.GENESIS_TIMESTAMP.html | 14 +- .../config/fn.build_massa_settings.html | 2 +- .../fn.build_massa_settings.html | 2 +- massa_models/config/struct.CompactConfig.html | 22 +- .../fn.cleanup_datastore_key_range_query.html | 11 + .../datastore/fn.get_prefix_bounds.html | 2 +- .../datastore/fn.range_intersection.html | 5 + massa_models/datastore/index.html | 8 +- massa_models/datastore/sidebar-items.js | 2 +- .../struct.DatastoreDeserializer.html | 6 +- .../datastore/struct.DatastoreSerializer.html | 6 +- massa_models/datastore/type.Datastore.html | 2 +- .../deferred_calls/enum.DeferredCallId.html | 10 +- .../denunciation/enum.Denunciation.html | 18 +- .../denunciation/enum.DenunciationError.html | 2 +- .../denunciation/enum.DenunciationIndex.html | 16 +- .../enum.DenunciationIndexTypeId.html | 4 +- .../denunciation/enum.DenunciationTypeId.html | 2 +- .../struct.BlockHeaderDenunciation.html | 12 +- .../struct.EndorsementDenunciation.html | 12 +- .../endorsement/enum.EndorsementId.html | 18 +- .../endorsement/struct.Endorsement.html | 18 +- .../struct.EndorsementIdDeserializer.html | 4 +- .../endorsement/struct.EndorsementIdV0.html | 16 +- massa_models/error/enum.ModelsError.html | 6 +- .../execution/struct.EventFilter.html | 10 +- massa_models/ledger/struct.LedgerChange.html | 12 +- massa_models/ledger/struct.LedgerChanges.html | 12 +- massa_models/ledger/struct.LedgerData.html | 16 +- massa_models/node/struct.NodeId.html | 16 +- massa_models/operation/enum.OperationId.html | 18 +- .../operation/enum.OperationPrefixId.html | 16 +- .../operation/enum.OperationType.html | 18 +- .../operation/enum.OperationTypeId.html | 2 +- massa_models/operation/struct.Operation.html | 16 +- .../struct.OperationIdDeserializer.html | 4 +- .../operation/struct.OperationIdV0.html | 16 +- .../operation/struct.OperationPrefixIdV0.html | 12 +- .../struct.EventExecutionContext.html | 12 +- .../output_event/struct.SCOutputEvent.html | 12 +- .../rolls/struct.RollCompensation.html | 10 +- massa_models/rolls/struct.RollCounts.html | 10 +- massa_models/rolls/struct.RollUpdate.html | 16 +- massa_models/rolls/struct.RollUpdates.html | 10 +- .../secure_share/struct.SecureShare.html | 24 +- massa_models/slot/struct.IndexedSlot.html | 12 +- massa_models/slot/struct.Slot.html | 14 +- massa_models/stats/struct.ConsensusStats.html | 18 +- massa_models/stats/struct.ExecutionStats.html | 18 +- massa_models/stats/struct.NetworkStats.html | 10 +- massa_models/stats/struct.PoolStats.html | 10 +- .../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 | 16 +- massa_models/types/enum.SetOrKeep.html | 16 +- .../types/enum.SetUpdateOrDelete.html | 20 +- massa_models/version/struct.Version.html | 12 +- .../version/struct.VersionVisitor.html | 82 +-- massa_module_cache/error/enum.CacheError.html | 2 +- .../types/enum.ModuleMetadataId.html | 2 +- massa_node/fn.configure_grpc.html | 2 +- massa_node/fn.launch.html | 4 +- massa_node/fn.load_wallet.html | 4 +- massa_node/fn.main.html | 2 +- massa_node/fn.run.html | 2 +- massa_node/fn.stop.html | 2 +- massa_node/index.html | 2 +- massa_node/settings/index.html | 2 +- massa_node/settings/struct.APISettings.html | 12 +- .../settings/struct.BlockDumpSettings.html | 10 +- .../settings/struct.BootstrapSettings.html | 12 +- .../settings/struct.ConsensusSettings.html | 10 +- .../settings/struct.ExecutionSettings.html | 8 +- .../settings/struct.FactorySettings.html | 8 +- .../settings/struct.GrpcApiSettings.html | 10 +- massa_node/settings/struct.GrpcSettings.html | 12 +- .../settings/struct.LedgerSettings.html | 8 +- .../settings/struct.LoggingSettings.html | 8 +- .../settings/struct.MetricsSettings.html | 10 +- .../settings/struct.NetworkSettings.html | 10 +- massa_node/settings/struct.PoolSettings.html | 8 +- .../settings/struct.ProtocolSettings.html | 10 +- .../settings/struct.SelectionSettings.html | 8 +- massa_node/settings/struct.Settings.html | 10 +- .../settings/struct.VersioningSettings.html | 10 +- massa_node/struct.Args.html | 14 +- massa_node/struct.Managers.html | 8 +- .../config/struct.PoolConfig.html | 10 +- massa_pool_exports/struct.PoolConfig.html | 10 +- .../cycle_info/struct.ProductionStats.html | 12 +- .../struct.DeferredCredits.html | 12 +- massa_pos_exports/enum.PosError.html | 2 +- massa_pos_exports/error/enum.PosError.html | 2 +- .../pos_changes/struct.PoSChanges.html | 12 +- .../settings/struct.SelectorConfig.html | 10 +- massa_pos_exports/struct.DeferredCredits.html | 12 +- massa_pos_exports/struct.PoSChanges.html | 12 +- massa_pos_exports/struct.ProductionStats.html | 12 +- massa_pos_exports/struct.SelectorConfig.html | 10 +- .../struct.BootstrapPeers.html | 12 +- .../bootstrap_peers/struct.PeerData.html | 12 +- .../enum.ProtocolError.html | 6 +- .../enum.TransportType.html | 16 +- .../error/enum.ProtocolError.html | 6 +- .../peer_id/struct.PeerId.html | 12 +- .../settings/struct.PeerCategoryInfo.html | 8 +- .../settings/struct.ProtocolConfig.html | 8 +- .../struct.BootstrapPeers.html | 12 +- .../struct.PeerCategoryInfo.html | 8 +- massa_protocol_exports/struct.PeerData.html | 12 +- massa_protocol_exports/struct.PeerId.html | 12 +- .../struct.ProtocolConfig.html | 8 +- .../messages/enum.BlockMessage.html | 2 +- .../messages/enum.MessageTypeId.html | 4 +- .../messages/enum.EndorsementMessage.html | 2 +- .../messages/enum.MessageTypeId.html | 4 +- .../messages/enum.MessageTypeId.html | 4 +- .../messages/enum.PeerManagementMessage.html | 2 +- .../messages/enum.Message.html | 2 +- .../messages/enum.MessageTypeId.html | 2 +- massa_sdk/enum.ClientError.html | 2 +- massa_signature/enum.KeyPair.html | 14 +- massa_signature/enum.MassaSignatureError.html | 2 +- massa_signature/enum.PublicKey.html | 14 +- massa_signature/enum.Signature.html | 12 +- .../error/enum.MassaSignatureError.html | 2 +- .../signature_impl/enum.KeyPair.html | 14 +- .../signature_impl/enum.PublicKey.html | 14 +- .../signature_impl/enum.Signature.html | 12 +- massa_time/enum.TimeError.html | 2 +- massa_time/error/enum.TimeError.html | 2 +- massa_time/struct.MassaTime.html | 14 +- .../versioning/enum.ComponentStateTypeId.html | 2 +- ...m.IsConsistentWithShutdownPeriodError.html | 2 +- .../versioning/enum.MipComponent.html | 2 +- .../versioning/enum.UpdateWithError.html | 2 +- .../versioning_factory/enum.FactoryError.html | 2 +- massa_wallet/enum.WalletError.html | 2 +- massa_wallet/error/enum.WalletError.html | 2 +- massa_wallet/struct.Wallet.html | 10 +- massa_wallet/struct.WalletFileFormat.html | 10 +- search-index.js | 50 +- search.desc/massa_api/massa_api-desc-0-.js | 2 +- .../massa_api_exports-desc-0-.js | 2 +- .../massa_execution_exports-desc-0-.js | 2 +- .../massa_execution_worker-desc-0-.js | 2 +- search.desc/massa_grpc/massa_grpc-desc-0-.js | 2 +- .../massa_models/massa_models-desc-0-.js | 2 +- search.desc/massa_node/massa_node-desc-0-.js | 2 +- src-files.js | 2 +- src/massa_api/lib.rs.html | 18 +- src/massa_api/private.rs.html | 20 +- src/massa_api/public.rs.html | 230 ++++++- src/massa_api_exports/address.rs.html | 64 ++ src/massa_api_exports/config.rs.html | 12 + src/massa_api_exports/node.rs.html | 4 + src/massa_client/display.rs.html | 2 + .../mapping_grpc.rs.html | 116 +++- src/massa_execution_exports/types.rs.html | 38 +- src/massa_execution_worker/context.rs.html | 52 +- src/massa_execution_worker/controller.rs.html | 84 ++- .../datastore_scan.rs.html | 571 ++++++++++++++++ src/massa_execution_worker/execution.rs.html | 108 +-- .../interface_impl.rs.html | 74 +- src/massa_execution_worker/lib.rs.html | 2 + .../speculative_ledger.rs.html | 120 +--- src/massa_grpc/config.rs.html | 8 + src/massa_grpc/private.rs.html | 2 + src/massa_grpc/public.rs.html | 26 +- src/massa_ledger_exports/controller.rs.html | 18 +- src/massa_ledger_worker/ledger.rs.html | 28 +- src/massa_ledger_worker/ledger_db.rs.html | 284 +++++++- src/massa_models/datastore.rs.html | 644 +++++++++++++++++- src/massa_node/main.rs.html | 10 + src/massa_node/settings.rs.html | 8 + trait.impl/core/clone/trait.Clone.js | 2 +- trait.impl/core/convert/trait.From.js | 8 +- trait.impl/core/fmt/trait.Debug.js | 2 +- trait.impl/core/marker/trait.Freeze.js | 2 +- trait.impl/core/marker/trait.Send.js | 2 +- trait.impl/core/marker/trait.Sync.js | 2 +- trait.impl/core/marker/trait.Unpin.js | 2 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 2 +- .../panic/unwind_safe/trait.UnwindSafe.js | 2 +- trait.impl/serde/de/trait.Deserialize.js | 36 +- trait.impl/serde/de/trait.Visitor.js | 2 +- trait.impl/serde/ser/trait.Serialize.js | 32 +- .../collections/btree/map/struct.BTreeMap.js | 4 +- type.impl/alloc/sync/struct.Arc.js | 6 +- type.impl/alloc/vec/struct.Vec.js | 4 +- type.impl/core/pin/struct.Pin.js | 2 +- type.impl/core/result/enum.Result.js | 6 +- .../secure_share/struct.SecureShare.js | 2 +- .../massa_models/types/enum.SetOrDelete.js | 2 +- .../massa_models/types/enum.SetOrKeep.js | 2 +- .../collections/hash/map/struct.HashMap.js | 4 +- .../collections/hash/set/struct.HashSet.js | 4 +- 468 files changed, 4525 insertions(+), 2095 deletions(-) create mode 100644 massa_api/public/fn.get_address_datastore_keys_to_state_query_item.html create mode 100644 massa_api_exports/address/struct.GetAddressDatastoreKeysRequest.html create mode 100644 massa_api_exports/address/struct.GetAddressDatastoreKeysResponse.html create mode 100644 massa_execution_worker/datastore_scan/fn.scan_datastore.html create mode 100644 massa_execution_worker/datastore_scan/index.html create mode 100644 massa_execution_worker/datastore_scan/sidebar-items.js create mode 100644 massa_models/datastore/fn.cleanup_datastore_key_range_query.html create mode 100644 massa_models/datastore/fn.range_intersection.html create mode 100644 src/massa_execution_worker/datastore_scan.rs.html diff --git a/massa_api/all.html b/massa_api/all.html index 1b3801da3f0..42240edce20 100644 --- a/massa_api/all.html +++ b/massa_api/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/massa_api/api/fn.broadcast_via_ws.html b/massa_api/api/fn.broadcast_via_ws.html index b14e8fa2d88..6a5cae394ab 100644 --- a/massa_api/api/fn.broadcast_via_ws.html +++ b/massa_api/api/fn.broadcast_via_ws.html @@ -1,4 +1,4 @@ -broadcast_via_ws in massa_api::api - Rust

Function massa_api::api::broadcast_via_ws

source ·
async fn broadcast_via_ws<T: Serialize + Send + Clone + 'static>(
+broadcast_via_ws in massa_api::api - Rust

Function massa_api::api::broadcast_via_ws

source ·
async fn broadcast_via_ws<T: Serialize + Send + Clone + 'static>(
     sender: Sender<T>,
     pending: PendingSubscriptionSink,
 ) -> SubscriptionResult
\ No newline at end of file diff --git a/massa_api/fn.serve.html b/massa_api/fn.serve.html index 2ae2f370f51..c282b0f554e 100644 --- a/massa_api/fn.serve.html +++ b/massa_api/fn.serve.html @@ -1,4 +1,4 @@ -serve in massa_api - Rust

Function massa_api::serve

source ·
pub(crate) async fn serve<T>(
+serve in massa_api - Rust

Function massa_api::serve

source ·
pub(crate) async fn serve<T>(
     api: RpcModule<T>,
     url: &SocketAddr,
     api_config: &APIConfig,
diff --git a/massa_api/fn.wrong_api.html b/massa_api/fn.wrong_api.html
index 8b2db1bc548..a5da018bc5a 100644
--- a/massa_api/fn.wrong_api.html
+++ b/massa_api/fn.wrong_api.html
@@ -1 +1 @@
-wrong_api in massa_api - Rust

Function massa_api::wrong_api

source ·
pub(crate) fn wrong_api<T>() -> RpcResult<T>
\ No newline at end of file +wrong_api in massa_api - Rust

Function massa_api::wrong_api

source ·
pub(crate) fn wrong_api<T>() -> RpcResult<T>
\ No newline at end of file diff --git a/massa_api/index.html b/massa_api/index.html index 97ab41b1f87..abbefc6c097 100644 --- a/massa_api/index.html +++ b/massa_api/index.html @@ -1,4 +1,4 @@ -massa_api - Rust

Crate massa_api

source ·
Expand description

Copyright (c) 2022 MASSA LABS info@massa.net +massa_api - Rust

Crate massa_api

source ·
Expand description

Copyright (c) 2022 MASSA LABS info@massa.net Json RPC API for a massa-node

Modules§

  • api 🔒
    Copyright (c) 2022 MASSA LABS info@massa.net Json RPC API for a massa-node
  • api_trait 🔒
    Copyright (c) 2022 MASSA LABS info@massa.net diff --git a/massa_api/private/fn.get_file_len.html b/massa_api/private/fn.get_file_len.html index 6a0716207ad..d89b891f3a5 100644 --- a/massa_api/private/fn.get_file_len.html +++ b/massa_api/private/fn.get_file_len.html @@ -1,4 +1,4 @@ -get_file_len in massa_api::private - Rust

    Function massa_api::private::get_file_len

    source ·
    fn get_file_len(
    +get_file_len in massa_api::private - Rust

    Function massa_api::private::get_file_len

    source ·
    fn get_file_len(
         bootstrap_list_file: PathBuf,
         list_type: &ListType,
         create: bool,
    diff --git a/massa_api/private/fn.read_ips_from_jsonfile.html b/massa_api/private/fn.read_ips_from_jsonfile.html
    index 276c06e4cc7..14b839d3173 100644
    --- a/massa_api/private/fn.read_ips_from_jsonfile.html
    +++ b/massa_api/private/fn.read_ips_from_jsonfile.html
    @@ -1,4 +1,4 @@
    -read_ips_from_jsonfile in massa_api::private - Rust

    Function massa_api::private::read_ips_from_jsonfile

    source ·
    fn read_ips_from_jsonfile(
    +read_ips_from_jsonfile in massa_api::private - Rust

    Function massa_api::private::read_ips_from_jsonfile

    source ·
    fn read_ips_from_jsonfile(
         bootstrap_list_file: PathBuf,
         list_type: &ListType,
     ) -> RpcResult<Vec<IpAddr>>
    Expand description

    Read bootstrap list IP(s) from json file

    diff --git a/massa_api/private/fn.run_scrud_operation.html b/massa_api/private/fn.run_scrud_operation.html index 3c090ce5016..a8c9b42e5a5 100644 --- a/massa_api/private/fn.run_scrud_operation.html +++ b/massa_api/private/fn.run_scrud_operation.html @@ -1,4 +1,4 @@ -run_scrud_operation in massa_api::private - Rust

    Function massa_api::private::run_scrud_operation

    source ·
    fn run_scrud_operation(
    +run_scrud_operation in massa_api::private - Rust

    Function massa_api::private::run_scrud_operation

    source ·
    fn run_scrud_operation(
         bootstrap_list_file: PathBuf,
         ips: Vec<IpAddr>,
         list_type: ListType,
    diff --git a/massa_api/private/fn.write_ips_to_jsonfile.html b/massa_api/private/fn.write_ips_to_jsonfile.html
    index f197c9f498a..4a584364f4f 100644
    --- a/massa_api/private/fn.write_ips_to_jsonfile.html
    +++ b/massa_api/private/fn.write_ips_to_jsonfile.html
    @@ -1,4 +1,4 @@
    -write_ips_to_jsonfile in massa_api::private - Rust

    Function massa_api::private::write_ips_to_jsonfile

    source ·
    fn write_ips_to_jsonfile(
    +write_ips_to_jsonfile in massa_api::private - Rust

    Function massa_api::private::write_ips_to_jsonfile

    source ·
    fn write_ips_to_jsonfile(
         bootstrap_list_file: PathBuf,
         ips: BTreeSet<IpAddr>,
         list_type: &ListType,
    diff --git a/massa_api/private/index.html b/massa_api/private/index.html
    index 22ed528d8d3..bfb80a39dde 100644
    --- a/massa_api/private/index.html
    +++ b/massa_api/private/index.html
    @@ -1,2 +1,2 @@
    -massa_api::private - Rust

    Module massa_api::private

    source ·
    Expand description

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

    +massa_api::private - Rust

    Module massa_api::private

    source ·
    Expand description

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

    Functions§

    \ No newline at end of file diff --git a/massa_api/public/fn.check_input_operation.html b/massa_api/public/fn.check_input_operation.html index b5bb8425ffa..256b722cbc6 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/fn.get_address_datastore_keys_to_state_query_item.html b/massa_api/public/fn.get_address_datastore_keys_to_state_query_item.html
    new file mode 100644
    index 00000000000..3dd3a478938
    --- /dev/null
    +++ b/massa_api/public/fn.get_address_datastore_keys_to_state_query_item.html
    @@ -0,0 +1,6 @@
    +get_address_datastore_keys_to_state_query_item in massa_api::public - Rust
    fn get_address_datastore_keys_to_state_query_item(
    +    value: GetAddressDatastoreKeysRequest,
    +    max_datastore_query_config: Option<u32>,
    +    max_datastore_key_length: u8,
    +) -> RpcResult<ExecutionQueryRequestItem>
    Expand description

    Convert GetAddressDatastoreKeys to ExecutionQueryRequestItem

    +
    \ No newline at end of file diff --git a/massa_api/public/index.html b/massa_api/public/index.html index d8a24c3d0b9..9f081b078f7 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

    -

    Functions§

    \ No newline at end of file +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/public/sidebar-items.js b/massa_api/public/sidebar-items.js index 658321db9d7..e3a4351a637 100644 --- a/massa_api/public/sidebar-items.js +++ b/massa_api/public/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":["check_input_operation"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["check_input_operation","get_address_datastore_keys_to_state_query_item"]}; \ No newline at end of file diff --git a/massa_api/struct.API.html b/massa_api/struct.API.html index 395a611ef82..33431ba965d 100644 --- a/massa_api/struct.API.html +++ b/massa_api/struct.API.html @@ -1,4 +1,4 @@ -API in massa_api - Rust

    Struct massa_api::API

    source ·
    pub struct API<T>(pub(crate) T);
    Expand description

    The API wrapper

    +API in massa_api - Rust

    Struct massa_api::API

    source ·
    pub struct API<T>(pub(crate) T);
    Expand description

    The API wrapper

    Tuple Fields§

    §0: T

    Implementations§

    source§

    impl API<ApiV2>

    source

    pub fn new( consensus_controller: Box<dyn ConsensusController>, consensus_broadcasts: ConsensusBroadcasts, @@ -7,14 +7,14 @@ api_settings: APIConfig, version: Version, ) -> Self

    generate a new massa API

    -
    source§

    impl API<Private>

    source

    pub fn new( +

    source§

    impl API<Private>

    source

    pub fn new( protocol_controller: Box<dyn ProtocolController>, execution_controller: Box<dyn ExecutionController>, api_settings: APIConfig, stop_cv: Arc<(Mutex<bool>, Condvar)>, node_wallet: Arc<RwLock<Wallet>>, ) -> Self

    generate a new private API

    -
    source§

    impl API<Public>

    source

    pub fn new( +

    source§

    impl API<Public>

    source

    pub fn new( consensus_controller: Box<dyn ConsensusController>, execution_controller: Box<dyn ExecutionController>, api_settings: APIConfig, @@ -27,21 +27,21 @@ storage: Storage, mip_store: MipStore, ) -> Self

    generate a new public API

    -

    Trait Implementations§

    source§

    impl ApiServer for API<ApiV2>

    source§

    fn serve<'life0, 'life1, 'async_trait>( +

    Trait Implementations§

    source§

    impl ApiServer for API<ApiV2>

    source§

    fn serve<'life0, 'life1, 'async_trait>( self, url: &'life0 SocketAddr, api_config: &'life1 APIConfig, ) -> Pin<Box<dyn Future<Output = Result<StopHandle, JsonRpseeError>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

    Start the API
    source§

    impl RpcServer for API<Private>

    source§

    fn serve<'life0, 'life1, 'async_trait>( + 'life1: 'async_trait,

    Start the API
source§

impl RpcServer for API<Private>

source§

fn serve<'life0, 'life1, 'async_trait>( self, url: &'life0 SocketAddr, settings: &'life1 APIConfig, ) -> Pin<Box<dyn Future<Output = Result<StopHandle, JsonRpseeError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, - 'life1: 'async_trait,

Start the API
source§

impl RpcServer for API<Public>

source§

fn serve<'life0, 'life1, 'async_trait>( + 'life1: 'async_trait,

Start the API
source§

impl RpcServer for API<Public>

source§

fn serve<'life0, 'life1, 'async_trait>( self, url: &'life0 SocketAddr, api_config: &'life1 APIConfig, diff --git a/massa_api/struct.ApiV2.html b/massa_api/struct.ApiV2.html index a72463cdc59..5bcd8c4a1a3 100644 --- a/massa_api/struct.ApiV2.html +++ b/massa_api/struct.ApiV2.html @@ -1,4 +1,4 @@ -ApiV2 in massa_api - Rust

Struct massa_api::ApiV2

source ·
pub struct ApiV2 {
+ApiV2 in massa_api - Rust

Struct massa_api::ApiV2

source ·
pub struct ApiV2 {
     pub consensus_controller: Box<dyn ConsensusController>,
     pub consensus_broadcasts: ConsensusBroadcasts,
     pub execution_controller: Box<dyn ExecutionController>,
diff --git a/massa_api/struct.Private.html b/massa_api/struct.Private.html
index 7d45292928b..db00e645382 100644
--- a/massa_api/struct.Private.html
+++ b/massa_api/struct.Private.html
@@ -1,4 +1,4 @@
-Private in massa_api - Rust

Struct massa_api::Private

source ·
pub struct Private {
+Private in massa_api - Rust

Struct massa_api::Private

source ·
pub struct Private {
     pub protocol_controller: Box<dyn ProtocolController>,
     pub execution_controller: Box<dyn ExecutionController>,
     pub api_settings: APIConfig,
diff --git a/massa_api/struct.Public.html b/massa_api/struct.Public.html
index 21bc7f02cbf..8abb64b0845 100644
--- a/massa_api/struct.Public.html
+++ b/massa_api/struct.Public.html
@@ -1,4 +1,4 @@
-Public in massa_api - Rust

Struct massa_api::Public

source ·
pub struct Public {
+Public in massa_api - Rust

Struct massa_api::Public

source ·
pub struct Public {
     pub consensus_controller: Box<dyn ConsensusController>,
     pub execution_controller: Box<dyn ExecutionController>,
     pub selector_controller: Box<dyn SelectorController>,
diff --git a/massa_api/struct.StopHandle.html b/massa_api/struct.StopHandle.html
index 79fc68fc0f7..fa6e2ff724a 100644
--- a/massa_api/struct.StopHandle.html
+++ b/massa_api/struct.StopHandle.html
@@ -1,7 +1,7 @@
-StopHandle in massa_api - Rust

Struct massa_api::StopHandle

source ·
pub struct StopHandle {
+StopHandle in massa_api - Rust

Struct massa_api::StopHandle

source ·
pub struct StopHandle {
     pub(crate) server_handler: ServerHandle,
 }
Expand description

Used to be able to stop the API

-

Fields§

§server_handler: ServerHandle

Implementations§

source§

impl StopHandle

source

pub async fn stop(self)

stop the API gracefully

+

Fields§

§server_handler: ServerHandle

Implementations§

source§

impl StopHandle

source

pub async fn stop(self)

stop the API gracefully

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_api/trait.ApiServer.html b/massa_api/trait.ApiServer.html index 58faccb7404..48844b50dd8 100644 --- a/massa_api/trait.ApiServer.html +++ b/massa_api/trait.ApiServer.html @@ -1,4 +1,4 @@ -ApiServer in massa_api - Rust

Trait massa_api::ApiServer

source ·
pub trait ApiServer: MassaApiServer {
+ApiServer in massa_api - Rust

Trait massa_api::ApiServer

source ·
pub trait ApiServer: MassaApiServer {
     // Required method
     fn serve<'life0, 'life1, 'async_trait>(
         self,
@@ -9,7 +9,7 @@
              'life0: 'async_trait,
              'life1: 'async_trait;
 }
Expand description

Used to manage the API

-

Required Methods§

source

fn serve<'life0, 'life1, 'async_trait>( +

Required Methods§

source

fn serve<'life0, 'life1, 'async_trait>( self, url: &'life0 SocketAddr, api_config: &'life1 APIConfig, diff --git a/massa_api/trait.MassaRpcServer.html b/massa_api/trait.MassaRpcServer.html index 9d64a71cc87..d4a7edcaa77 100644 --- a/massa_api/trait.MassaRpcServer.html +++ b/massa_api/trait.MassaRpcServer.html @@ -1,5 +1,5 @@ -MassaRpcServer in massa_api - Rust

Trait massa_api::MassaRpcServer

source ·
pub trait MassaRpcServer: Sized + Send + Sync + 'static {
-
Show 40 methods // Required methods +MassaRpcServer in massa_api - Rust

Trait massa_api::MassaRpcServer

source ·
pub trait MassaRpcServer: Sized + Send + Sync + 'static {
+
Show 41 methods // Required methods fn stop_node(&self) -> RpcResult<()>; fn node_sign_message<'life0, 'async_trait>( &'life0 self, @@ -200,7 +200,7 @@ 'life0: 'async_trait; fn get_openrpc_spec<'life0, 'async_trait>( &'life0 self, - ) -> Pin<Box<dyn Future<Output = RpcResult<Value>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = RpcResult<Value>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_deferred_call_quote<'life0, 'async_trait>( @@ -221,69 +221,75 @@ ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<DeferredCallsSlotResponse>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; + fn get_address_datastore_keys<'life0, 'async_trait>( + &'life0 self, + arg: Vec<GetAddressDatastoreKeysRequest>, + ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<GetAddressDatastoreKeysResponse>>> + Send + 'async_trait>> + where Self: 'async_trait, + 'life0: 'async_trait; // Provided method fn into_rpc(self) -> RpcModule<Self> { ... }
}
Expand description

Server trait implementation for the MassaRpc RPC API.

-

Required Methods§

source

fn stop_node(&self) -> RpcResult<()>

Gracefully stop the node.

-
source

fn node_sign_message<'life0, 'async_trait>( +

Required Methods§

source

fn stop_node(&self) -> RpcResult<()>

Gracefully stop the node.

+
source

fn node_sign_message<'life0, 'async_trait>( &'life0 self, arg: Vec<u8>, ) -> Pin<Box<dyn Future<Output = RpcResult<PubkeySig>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Sign message with node’s key. Returns the public key that signed the message and the signature.

-
source

fn add_staking_secret_keys<'life0, 'async_trait>( +

source

fn add_staking_secret_keys<'life0, 'async_trait>( &'life0 self, arg: Vec<String>, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Add a vector of new secret(private) keys for the node to use to stake. No confirmation to expect.

-
source

fn execute_read_only_bytecode<'life0, 'async_trait>( +

source

fn execute_read_only_bytecode<'life0, 'async_trait>( &'life0 self, arg: Vec<ReadOnlyBytecodeExecution>, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<ExecuteReadOnlyResponse>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Execute bytecode in read-only mode.

-
source

fn execute_read_only_call<'life0, 'async_trait>( +

source

fn execute_read_only_call<'life0, 'async_trait>( &'life0 self, arg: Vec<ReadOnlyCall>, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<ExecuteReadOnlyResponse>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Execute an SC function in read-only mode.

-
source

fn remove_staking_addresses<'life0, 'async_trait>( +

source

fn remove_staking_addresses<'life0, 'async_trait>( &'life0 self, arg: Vec<Address>, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Remove a vector of addresses used to stake. No confirmation to expect.

-
source

fn get_staking_addresses<'life0, 'async_trait>( +

source

fn get_staking_addresses<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = RpcResult<PreHashSet<Address>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Return hash set of staking addresses.

-
source

fn node_ban_by_ip<'life0, 'async_trait>( +

source

fn node_ban_by_ip<'life0, 'async_trait>( &'life0 self, arg: Vec<IpAddr>, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Bans given IP address(es). No confirmation to expect.

-
source

fn node_ban_by_id<'life0, 'async_trait>( +

source

fn node_ban_by_id<'life0, 'async_trait>( &'life0 self, arg: Vec<NodeId>, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Bans given node id. No confirmation to expect.

-
source

fn node_peers_whitelist<'life0, 'async_trait>( +

source

fn node_peers_whitelist<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<IpAddr>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns node peers whitelist IP address(es).

-
source

fn node_add_to_peers_whitelist<'life0, 'async_trait>( +

source

fn node_add_to_peers_whitelist<'life0, 'async_trait>( &'life0 self, arg: Vec<IpAddr>, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
where @@ -291,7 +297,7 @@ 'life0: 'async_trait,

Add IP address(es) to node peers whitelist. No confirmation to expect. Note: If the ip was unknown it adds it to the known peers, otherwise it updates the peer type

-
source

fn node_remove_from_peers_whitelist<'life0, 'async_trait>( +

source

fn node_remove_from_peers_whitelist<'life0, 'async_trait>( &'life0 self, arg: Vec<IpAddr>, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
where @@ -299,139 +305,139 @@ 'life0: 'async_trait,

Remove from peers whitelist given IP address(es). keep it as standard No confirmation to expect.

-
source

fn node_bootstrap_whitelist<'life0, 'async_trait>( +

source

fn node_bootstrap_whitelist<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<IpAddr>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns node bootstrap whitelist IP address(es).

-
source

fn node_bootstrap_whitelist_allow_all<'life0, 'async_trait>( +

source

fn node_bootstrap_whitelist_allow_all<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Allow everyone to bootstrap from the node. remove bootstrap whitelist configuration file.

-
source

fn node_add_to_bootstrap_whitelist<'life0, 'async_trait>( +

source

fn node_add_to_bootstrap_whitelist<'life0, 'async_trait>( &'life0 self, arg: Vec<IpAddr>, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Add IP address(es) to node bootstrap whitelist.

-
source

fn node_remove_from_bootstrap_whitelist<'life0, 'async_trait>( +

source

fn node_remove_from_bootstrap_whitelist<'life0, 'async_trait>( &'life0 self, arg: Vec<IpAddr>, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Remove IP address(es) to bootstrap whitelist.

-
source

fn node_bootstrap_blacklist<'life0, 'async_trait>( +

source

fn node_bootstrap_blacklist<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<IpAddr>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns node bootstrap blacklist IP address(es).

-
source

fn node_add_to_bootstrap_blacklist<'life0, 'async_trait>( +

source

fn node_add_to_bootstrap_blacklist<'life0, 'async_trait>( &'life0 self, arg: Vec<IpAddr>, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Add IP address(es) to node bootstrap blacklist.

-
source

fn node_remove_from_bootstrap_blacklist<'life0, 'async_trait>( +

source

fn node_remove_from_bootstrap_blacklist<'life0, 'async_trait>( &'life0 self, arg: Vec<IpAddr>, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Remove IP address(es) to bootstrap blacklist.

-
source

fn node_unban_by_ip<'life0, 'async_trait>( +

source

fn node_unban_by_ip<'life0, 'async_trait>( &'life0 self, arg: Vec<IpAddr>, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Unban given IP address(es). No confirmation to expect.

-
source

fn node_unban_by_id<'life0, 'async_trait>( +

source

fn node_unban_by_id<'life0, 'async_trait>( &'life0 self, arg: Vec<NodeId>, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Unban given node id. No confirmation to expect.

-
source

fn get_status<'life0, 'async_trait>( +

source

fn get_status<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = RpcResult<NodeStatus>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Summary of the current state: time, last final blocks (hash, thread, slot, timestamp), clique count, connected nodes count.

-
source

fn get_cliques<'life0, 'async_trait>( +

source

fn get_cliques<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<Clique>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get cliques.

-
source

fn get_stakers<'life0, 'async_trait>( +

source

fn get_stakers<'life0, 'async_trait>( &'life0 self, page_request: Option<PageRequest>, ) -> Pin<Box<dyn Future<Output = RpcResult<PagedVec<(Address, u64)>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns the active stakers and their active roll counts for the current cycle.

-
source

fn get_operations<'life0, 'async_trait>( +

source

fn get_operations<'life0, 'async_trait>( &'life0 self, arg: Vec<OperationId>, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<OperationInfo>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns operation(s) information associated to a given list of operation(s) ID(s).

-
source

fn get_endorsements<'life0, 'async_trait>( +

source

fn get_endorsements<'life0, 'async_trait>( &'life0 self, arg: Vec<EndorsementId>, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<EndorsementInfo>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns endorsement(s) information associated to a given list of endorsement(s) ID(s)

-
source

fn get_blocks<'life0, 'async_trait>( +

source

fn get_blocks<'life0, 'async_trait>( &'life0 self, arg: Vec<BlockId>, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<BlockInfo>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns block(s) information associated to a given list of block(s) ID(s)

-
source

fn get_blockclique_block_by_slot<'life0, 'async_trait>( +

source

fn get_blockclique_block_by_slot<'life0, 'async_trait>( &'life0 self, arg: Slot, ) -> Pin<Box<dyn Future<Output = RpcResult<Option<Block>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get information on the block at a slot in the blockclique. If there is no block at this slot a None is returned.

-
source

fn get_graph_interval<'life0, 'async_trait>( +

source

fn get_graph_interval<'life0, 'async_trait>( &'life0 self, arg: TimeInterval, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<BlockSummary>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the block graph within the specified time interval. Optional parameters: from <time_start> (included) and to <time_end> (excluded) millisecond timestamp

-
source

fn get_datastore_entries<'life0, 'async_trait>( +

source

fn get_datastore_entries<'life0, 'async_trait>( &'life0 self, arg: Vec<DatastoreEntryInput>, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<DatastoreEntryOutput>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get multiple datastore entries.

-
source

fn get_addresses<'life0, 'async_trait>( +

source

fn get_addresses<'life0, 'async_trait>( &'life0 self, arg: Vec<Address>, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<AddressInfo>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get addresses.

-
source

fn get_addresses_bytecode<'life0, 'async_trait>( +

source

fn get_addresses_bytecode<'life0, 'async_trait>( &'life0 self, args: Vec<AddressFilter>, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<Vec<u8>>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get addresses bytecode.

-
source

fn get_slots_transfers<'life0, 'async_trait>( +

source

fn get_slots_transfers<'life0, 'async_trait>( &'life0 self, arg: Vec<Slot>, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<Vec<Transfer>>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get all the transfers for a slot

-
source

fn send_operations<'life0, 'async_trait>( +

source

fn send_operations<'life0, 'async_trait>( &'life0 self, arg: Vec<OperationInput>, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<OperationId>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Adds operations to pool. Returns operations that were ok and sent to pool.

-
source

fn get_filtered_sc_output_event<'life0, 'async_trait>( +

source

fn get_filtered_sc_output_event<'life0, 'async_trait>( &'life0 self, arg: EventFilter, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<SCOutputEvent>>> + Send + 'async_trait>>
where @@ -444,28 +450,34 @@
  • original caller address
  • operation id
  • -

    source

    fn get_openrpc_spec<'life0, 'async_trait>( +

    source

    fn get_openrpc_spec<'life0, 'async_trait>( &'life0 self, -) -> Pin<Box<dyn Future<Output = RpcResult<Value>> + Send + 'async_trait>>
    where +) -> Pin<Box<dyn Future<Output = RpcResult<Value>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait,

    Get OpenRPC specification.

    -
    source

    fn get_deferred_call_quote<'life0, 'async_trait>( +

    source

    fn get_deferred_call_quote<'life0, 'async_trait>( &'life0 self, arg: Vec<DeferredCallsQuoteRequest>, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<DeferredCallsQuoteResponse>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait,

    DeferredCall quote

    -
    source

    fn get_deferred_call_info<'life0, 'async_trait>( +

    source

    fn get_deferred_call_info<'life0, 'async_trait>( &'life0 self, arg: Vec<String>, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<DeferredCallResponse>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait,

    DeferredCall get info

    -
    source

    fn get_deferred_call_ids_by_slot<'life0, 'async_trait>( +

    source

    fn get_deferred_call_ids_by_slot<'life0, 'async_trait>( &'life0 self, arg: Vec<Slot>, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<DeferredCallsSlotResponse>>> + Send + 'async_trait>>
    where Self: 'async_trait, 'life0: 'async_trait,

    List deferred calls for given slot

    -

    Provided Methods§

    source

    fn into_rpc(self) -> RpcModule<Self>

    Collects all the methods and subscriptions defined in the trait and adds them into a single RpcModule.

    +
    source

    fn get_address_datastore_keys<'life0, 'async_trait>( + &'life0 self, + arg: Vec<GetAddressDatastoreKeysRequest>, +) -> Pin<Box<dyn Future<Output = RpcResult<Vec<GetAddressDatastoreKeysResponse>>> + Send + 'async_trait>>
    where + Self: 'async_trait, + 'life0: 'async_trait,

    Get keys gor given address

    +

    Provided Methods§

    source

    fn into_rpc(self) -> RpcModule<Self>

    Collects all the methods and subscriptions defined in the trait and adds them into a single RpcModule.

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file diff --git a/massa_api/trait.RpcServer.html b/massa_api/trait.RpcServer.html index b6864639bcd..0992795540a 100644 --- a/massa_api/trait.RpcServer.html +++ b/massa_api/trait.RpcServer.html @@ -1,4 +1,4 @@ -RpcServer in massa_api - Rust

    Trait massa_api::RpcServer

    source ·
    pub trait RpcServer: MassaRpcServer {
    +RpcServer in massa_api - Rust

    Trait massa_api::RpcServer

    source ·
    pub trait RpcServer: MassaRpcServer {
         // Required method
         fn serve<'life0, 'life1, 'async_trait>(
             self,
    @@ -9,7 +9,7 @@
                  'life0: 'async_trait,
                  'life1: 'async_trait;
     }
    Expand description

    Used to manage the API

    -

    Required Methods§

    source

    fn serve<'life0, 'life1, 'async_trait>( +

    Required Methods§

    source

    fn serve<'life0, 'life1, 'async_trait>( self, url: &'life0 SocketAddr, api_config: &'life1 APIConfig, @@ -17,4 +17,4 @@ Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

    Start the API

    -

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file +

    Object Safety§

    This trait is not object safe.

    Implementors§

    \ No newline at end of file diff --git a/massa_api_exports/address/index.html b/massa_api_exports/address/index.html index 476c8b2b66c..4c235a69c66 100644 --- a/massa_api_exports/address/index.html +++ b/massa_api_exports/address/index.html @@ -1,2 +1,2 @@ -massa_api_exports::address - Rust

    Module massa_api_exports::address

    source ·
    Expand description

    address related structures

    -

    Structs§

    \ No newline at end of file +massa_api_exports::address - Rust

    Module massa_api_exports::address

    source ·
    Expand description

    address related structures

    +

    Structs§

    \ No newline at end of file diff --git a/massa_api_exports/address/sidebar-items.js b/massa_api_exports/address/sidebar-items.js index 7cacd748139..3938ecb7747 100644 --- a/massa_api_exports/address/sidebar-items.js +++ b/massa_api_exports/address/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"struct":["AddressFilter","AddressInfo","CompactAddressInfo"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":["AddressFilter","AddressInfo","CompactAddressInfo","GetAddressDatastoreKeysRequest","GetAddressDatastoreKeysResponse"]}; \ No newline at end of file diff --git a/massa_api_exports/address/struct.AddressFilter.html b/massa_api_exports/address/struct.AddressFilter.html index faed616e69b..3a4879aa319 100644 --- a/massa_api_exports/address/struct.AddressFilter.html +++ b/massa_api_exports/address/struct.AddressFilter.html @@ -5,9 +5,9 @@

    Fields§

    §address: Address

    Address

    §is_final: bool

    true means final false means candidate

    -

    Trait Implementations§

    source§

    impl Clone for AddressFilter

    source§

    fn clone(&self) -> AddressFilter

    Returns a copy of 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 AddressFilter

    source§

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

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

    impl<'de> Deserialize<'de> for AddressFilter

    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 AddressFilter

    source§

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

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

    impl Serialize for AddressFilter

    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 +

    Trait Implementations§

    source§

    impl Clone for AddressFilter

    source§

    fn clone(&self) -> AddressFilter

    Returns a copy of 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 AddressFilter

    source§

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

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

    impl<'de> Deserialize<'de> for AddressFilter

    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 AddressFilter

    source§

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

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

    impl Serialize for AddressFilter

    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 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 @@ -106,7 +106,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/address/struct.AddressInfo.html b/massa_api_exports/address/struct.AddressInfo.html index 6c9aa8d7d43..e3a5d2b6fb9 100644 --- a/massa_api_exports/address/struct.AddressInfo.html +++ b/massa_api_exports/address/struct.AddressInfo.html @@ -31,9 +31,9 @@ §created_endorsements: Vec<EndorsementId>

    created endorsements

    §cycle_infos: Vec<ExecutionAddressCycleInfo>

    cycle information

    Implementations§

    source§

    impl AddressInfo

    source

    pub fn compact(&self) -> CompactAddressInfo

    Only essential info about an address

    -

    Trait Implementations§

    source§

    impl Clone for AddressInfo

    source§

    fn clone(&self) -> AddressInfo

    Returns a copy of 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 AddressInfo

    source§

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

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

    impl<'de> Deserialize<'de> for AddressInfo

    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 AddressInfo

    source§

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

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

    impl Serialize for AddressInfo

    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 +

    Trait Implementations§

    source§

    impl Clone for AddressInfo

    source§

    fn clone(&self) -> AddressInfo

    Returns a copy of 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 AddressInfo

    source§

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

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

    impl<'de> Deserialize<'de> for AddressInfo

    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 AddressInfo

    source§

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

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

    impl Serialize for AddressInfo

    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 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 @@ -132,7 +132,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ 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..50417bb18aa 100644 --- a/massa_api_exports/address/struct.CompactAddressInfo.html +++ b/massa_api_exports/address/struct.CompactAddressInfo.html @@ -14,9 +14,9 @@ §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 - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    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 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 @@ -112,7 +112,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/address/struct.GetAddressDatastoreKeysRequest.html b/massa_api_exports/address/struct.GetAddressDatastoreKeysRequest.html new file mode 100644 index 00000000000..0529ab68107 --- /dev/null +++ b/massa_api_exports/address/struct.GetAddressDatastoreKeysRequest.html @@ -0,0 +1,121 @@ +GetAddressDatastoreKeysRequest in massa_api_exports::address - Rust
    pub struct GetAddressDatastoreKeysRequest {
    +    pub address: Address,
    +    pub prefix: Vec<u8>,
    +    pub is_final: bool,
    +    pub start_key: Option<Vec<u8>>,
    +    pub inclusive_start_key: Option<bool>,
    +    pub end_key: Option<Vec<u8>>,
    +    pub inclusive_end_key: Option<bool>,
    +    pub count: Option<u32>,
    +}
    Expand description

    Datastore keys entry query input structure

    +

    Fields§

    §address: Address

    The address for which to get the datastore keys

    +
    §prefix: Vec<u8>

    The prefix to filter the keys

    +
    §is_final: bool

    final true means final

    +
    §start_key: Option<Vec<u8>>

    The start key to filter the keys

    +
    §inclusive_start_key: Option<bool>

    inclusive start key

    +
    §end_key: Option<Vec<u8>>

    The end key to filter the keys

    +
    §inclusive_end_key: Option<bool>

    inclusive end key

    +
    §count: Option<u32>

    The count of keys to return

    +

    Trait Implementations§

    source§

    impl Clone for GetAddressDatastoreKeysRequest

    source§

    fn clone(&self) -> GetAddressDatastoreKeysRequest

    Returns a copy of 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 GetAddressDatastoreKeysRequest

    source§

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

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

    impl<'de> Deserialize<'de> for GetAddressDatastoreKeysRequest

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 + T: Clone,

    source§

    default unsafe fn clone_to_uninit(&self, dst: *mut T)

    🔬This is a nightly-only experimental API. (clone_to_uninit)
    Performs copy-assignment from self to dst. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where + Self: Into<T>,

    Converts self into T using Into<T>. Read more
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where + Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where + Self: Display,

    Causes self to use its Display implementation when +Debug-formatted.
    §

    fn fmt_lower_exp(self) -> FmtLowerExp<Self>
    where + Self: LowerExp,

    Causes self to use its LowerExp implementation when +Debug-formatted.
    §

    fn fmt_lower_hex(self) -> FmtLowerHex<Self>
    where + Self: LowerHex,

    Causes self to use its LowerHex implementation when +Debug-formatted.
    §

    fn fmt_octal(self) -> FmtOctal<Self>
    where + Self: Octal,

    Causes self to use its Octal implementation when Debug-formatted.
    §

    fn fmt_pointer(self) -> FmtPointer<Self>
    where + Self: Pointer,

    Causes self to use its Pointer implementation when +Debug-formatted.
    §

    fn fmt_upper_exp(self) -> FmtUpperExp<Self>
    where + Self: UpperExp,

    Causes self to use its UpperExp implementation when +Debug-formatted.
    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where + Self: UpperHex,

    Causes self to use its UpperHex implementation when +Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> FromRef<T> for T
    where + T: Clone,

    §

    fn from_ref(input: &T) -> T

    Converts to this type from a reference to the input type.
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> IntoRequest<T> for T

    source§

    fn into_request(self) -> Request<T>

    Wrap the input message T in a tonic::Request
    §

    impl<T> Pipe for T
    where + T: ?Sized,

    §

    fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
    where + Self: Sized,

    Pipes by value. This is generally the method you want to use. Read more
    §

    fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
    where + R: 'a,

    Borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
    where + R: 'a,

    Mutably borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
    where + Self: Borrow<B>, + B: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.borrow() into the pipe function. Read more
    §

    fn pipe_borrow_mut<'a, B, R>( + &'a mut self, + func: impl FnOnce(&'a mut B) -> R, +) -> R
    where + Self: BorrowMut<B>, + B: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more
    §

    fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
    where + Self: AsRef<U>, + U: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.as_ref() into the pipe function.
    §

    fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
    where + Self: AsMut<U>, + U: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.as_mut() into the pipe +function.
    §

    fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
    where + Self: Deref<Target = T>, + T: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.deref() into the pipe function.
    §

    fn pipe_deref_mut<'a, T, R>( + &'a mut self, + func: impl FnOnce(&'a mut T) -> R, +) -> R
    where + Self: DerefMut<Target = T> + Deref, + T: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe +function.
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Mutable access to the BorrowMut<B> of a value. Read more
    §

    fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Immutable access to the AsRef<R> view of a value. Read more
    §

    fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Mutable access to the AsMut<R> view of a value. Read more
    §

    fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Immutable access to the Deref::Target of a value. Read more
    §

    fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Mutable access to the Deref::Target of a value. Read more
    §

    fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

    Calls .tap() only in debug builds, and is erased in release builds.
    §

    fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

    Calls .tap_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Calls .tap_borrow() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Calls .tap_ref() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Calls .tap_ref_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Calls .tap_deref() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Calls .tap_deref_mut() only in debug builds, and is erased in release +builds.
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

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

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

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

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where + T: 'static,

    §

    impl<T> MaybeSend for T
    where + T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/address/struct.GetAddressDatastoreKeysResponse.html b/massa_api_exports/address/struct.GetAddressDatastoreKeysResponse.html new file mode 100644 index 00000000000..235a7e07156 --- /dev/null +++ b/massa_api_exports/address/struct.GetAddressDatastoreKeysResponse.html @@ -0,0 +1,110 @@ +GetAddressDatastoreKeysResponse in massa_api_exports::address - Rust
    pub struct GetAddressDatastoreKeysResponse {
    +    pub address: Address,
    +    pub is_final: bool,
    +    pub keys: Vec<Vec<u8>>,
    +}
    Expand description

    Response object for datastore keys query

    +

    Fields§

    §address: Address

    The address for which to get the datastore keys

    +
    §is_final: bool

    final true means final

    +
    §keys: Vec<Vec<u8>>

    keys list

    +

    Trait Implementations§

    source§

    impl Clone for GetAddressDatastoreKeysResponse

    source§

    fn clone(&self) -> GetAddressDatastoreKeysResponse

    Returns a copy of 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 GetAddressDatastoreKeysResponse

    source§

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

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

    impl Serialize for GetAddressDatastoreKeysResponse

    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 + 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 + T: Clone,

    source§

    default unsafe fn clone_to_uninit(&self, dst: *mut T)

    🔬This is a nightly-only experimental API. (clone_to_uninit)
    Performs copy-assignment from self to dst. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where + Self: Into<T>,

    Converts self into T using Into<T>. Read more
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where + Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where + Self: Display,

    Causes self to use its Display implementation when +Debug-formatted.
    §

    fn fmt_lower_exp(self) -> FmtLowerExp<Self>
    where + Self: LowerExp,

    Causes self to use its LowerExp implementation when +Debug-formatted.
    §

    fn fmt_lower_hex(self) -> FmtLowerHex<Self>
    where + Self: LowerHex,

    Causes self to use its LowerHex implementation when +Debug-formatted.
    §

    fn fmt_octal(self) -> FmtOctal<Self>
    where + Self: Octal,

    Causes self to use its Octal implementation when Debug-formatted.
    §

    fn fmt_pointer(self) -> FmtPointer<Self>
    where + Self: Pointer,

    Causes self to use its Pointer implementation when +Debug-formatted.
    §

    fn fmt_upper_exp(self) -> FmtUpperExp<Self>
    where + Self: UpperExp,

    Causes self to use its UpperExp implementation when +Debug-formatted.
    §

    fn fmt_upper_hex(self) -> FmtUpperHex<Self>
    where + Self: UpperHex,

    Causes self to use its UpperHex implementation when +Debug-formatted.
    §

    fn fmt_list(self) -> FmtList<Self>
    where + &'a Self: for<'a> IntoIterator,

    Formats each item in a sequence. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> FromRef<T> for T
    where + T: Clone,

    §

    fn from_ref(input: &T) -> T

    Converts to this type from a reference to the input type.
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

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

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    source§

    impl<T> IntoRequest<T> for T

    source§

    fn into_request(self) -> Request<T>

    Wrap the input message T in a tonic::Request
    §

    impl<T> Pipe for T
    where + T: ?Sized,

    §

    fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
    where + Self: Sized,

    Pipes by value. This is generally the method you want to use. Read more
    §

    fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
    where + R: 'a,

    Borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
    where + R: 'a,

    Mutably borrows self and passes that borrow into the pipe function. Read more
    §

    fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
    where + Self: Borrow<B>, + B: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.borrow() into the pipe function. Read more
    §

    fn pipe_borrow_mut<'a, B, R>( + &'a mut self, + func: impl FnOnce(&'a mut B) -> R, +) -> R
    where + Self: BorrowMut<B>, + B: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more
    §

    fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
    where + Self: AsRef<U>, + U: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.as_ref() into the pipe function.
    §

    fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
    where + Self: AsMut<U>, + U: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.as_mut() into the pipe +function.
    §

    fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
    where + Self: Deref<Target = T>, + T: 'a + ?Sized, + R: 'a,

    Borrows self, then passes self.deref() into the pipe function.
    §

    fn pipe_deref_mut<'a, T, R>( + &'a mut self, + func: impl FnOnce(&'a mut T) -> R, +) -> R
    where + Self: DerefMut<Target = T> + Deref, + T: 'a + ?Sized, + R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe +function.
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Mutable access to the BorrowMut<B> of a value. Read more
    §

    fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Immutable access to the AsRef<R> view of a value. Read more
    §

    fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Mutable access to the AsMut<R> view of a value. Read more
    §

    fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Immutable access to the Deref::Target of a value. Read more
    §

    fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Mutable access to the Deref::Target of a value. Read more
    §

    fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

    Calls .tap() only in debug builds, and is erased in release builds.
    §

    fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

    Calls .tap_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
    where + Self: Borrow<B>, + B: ?Sized,

    Calls .tap_borrow() only in debug builds, and is erased in release +builds.
    §

    fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
    where + Self: BorrowMut<B>, + B: ?Sized,

    Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
    where + Self: AsRef<R>, + R: ?Sized,

    Calls .tap_ref() only in debug builds, and is erased in release +builds.
    §

    fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
    where + Self: AsMut<R>, + R: ?Sized,

    Calls .tap_ref_mut() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
    where + Self: Deref<Target = T>, + T: ?Sized,

    Calls .tap_deref() only in debug builds, and is erased in release +builds.
    §

    fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
    where + Self: DerefMut<Target = T> + Deref, + T: ?Sized,

    Calls .tap_deref_mut() only in debug builds, and is erased in release +builds.
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    §

    impl<T> TryConv for T

    §

    fn try_conv<T>(self) -> Result<T, Self::Error>
    where + Self: TryInto<T>,

    Attempts to convert self into T using TryInto<T>. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    §

    type Error = Infallible

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

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    §

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

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

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

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

    impl<T> ErasedDestructor for T
    where + T: 'static,

    §

    impl<T> MaybeSend for T
    where + T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/all.html b/massa_api_exports/all.html index 1bbe3842c75..8f0b4299baa 100644 --- a/massa_api_exports/all.html +++ b/massa_api_exports/all.html @@ -1 +1 @@ -List of all items in this crate
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/massa_api_exports/block/struct.BlockInfo.html b/massa_api_exports/block/struct.BlockInfo.html index 8010ef37fb0..137298f9b19 100644 --- a/massa_api_exports/block/struct.BlockInfo.html +++ b/massa_api_exports/block/struct.BlockInfo.html @@ -4,9 +4,9 @@ }
    Expand description

    refactor to delete

    Fields§

    §id: BlockId

    block id

    §content: Option<BlockInfoContent>

    optional block info content

    -

    Trait Implementations§

    source§

    impl Clone for BlockInfo

    source§

    fn clone(&self) -> BlockInfo

    Returns a copy of 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 BlockInfo

    source§

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

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

    impl<'de> Deserialize<'de> for BlockInfo

    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 BlockInfo

    source§

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

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

    impl Serialize for BlockInfo

    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 +

    Trait Implementations§

    source§

    impl Clone for BlockInfo

    source§

    fn clone(&self) -> BlockInfo

    Returns a copy of 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 BlockInfo

    source§

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

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

    impl<'de> Deserialize<'de> for BlockInfo

    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 BlockInfo

    source§

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

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

    impl Serialize for BlockInfo

    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 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 @@ -105,7 +105,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/block/struct.BlockInfoContent.html b/massa_api_exports/block/struct.BlockInfoContent.html index 89e755ee6a5..d5bc253fb24 100644 --- a/massa_api_exports/block/struct.BlockInfoContent.html +++ b/massa_api_exports/block/struct.BlockInfoContent.html @@ -10,9 +10,9 @@ §is_candidate: bool

    true if candidate (active any clique but not final)

    §is_discarded: bool

    true if discarded

    §block: Block

    block

    -

    Trait Implementations§

    source§

    impl Clone for BlockInfoContent

    source§

    fn clone(&self) -> BlockInfoContent

    Returns a copy of 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 BlockInfoContent

    source§

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

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

    impl<'de> Deserialize<'de> for BlockInfoContent

    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 Serialize for BlockInfoContent

    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 +

    Trait Implementations§

    source§

    impl Clone for BlockInfoContent

    source§

    fn clone(&self) -> BlockInfoContent

    Returns a copy of 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 BlockInfoContent

    source§

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

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

    impl<'de> Deserialize<'de> for BlockInfoContent

    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 Serialize for BlockInfoContent

    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 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 @@ -110,7 +110,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/block/struct.BlockSummary.html b/massa_api_exports/block/struct.BlockSummary.html index 2a5794e9ee4..276d82315d4 100644 --- a/massa_api_exports/block/struct.BlockSummary.html +++ b/massa_api_exports/block/struct.BlockSummary.html @@ -14,9 +14,9 @@ §slot: Slot

    the slot the block is in

    §creator: Address

    the block creator

    §parents: Vec<BlockId>

    the block parents

    -

    Trait Implementations§

    source§

    impl Clone for BlockSummary

    source§

    fn clone(&self) -> BlockSummary

    Returns a copy of 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 BlockSummary

    source§

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

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

    impl<'de> Deserialize<'de> for BlockSummary

    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 BlockSummary

    source§

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

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

    impl Serialize for BlockSummary

    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 +

    Trait Implementations§

    source§

    impl Clone for BlockSummary

    source§

    fn clone(&self) -> BlockSummary

    Returns a copy of 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 BlockSummary

    source§

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

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

    impl<'de> Deserialize<'de> for BlockSummary

    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 BlockSummary

    source§

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

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

    impl Serialize for BlockSummary

    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 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 @@ -115,7 +115,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/config/index.html b/massa_api_exports/config/index.html index 6214881dce1..5d8b046fd58 100644 --- a/massa_api_exports/config/index.html +++ b/massa_api_exports/config/index.html @@ -1,3 +1,3 @@ -massa_api_exports::config - Rust

    Module massa_api_exports::config

    source ·
    Expand description

    node configuration

    +massa_api_exports::config - Rust

    Module massa_api_exports::config

    source ·
    Expand description

    node configuration

    Structs§

    \ No newline at end of file diff --git a/massa_api_exports/config/struct.APIConfig.html b/massa_api_exports/config/struct.APIConfig.html index 1761385a324..68096c305c4 100644 --- a/massa_api_exports/config/struct.APIConfig.html +++ b/massa_api_exports/config/struct.APIConfig.html @@ -1,4 +1,4 @@ -APIConfig in massa_api_exports::config - Rust

    Struct massa_api_exports::config::APIConfig

    source ·
    pub struct APIConfig {
    Show 37 fields +APIConfig in massa_api_exports::config - Rust

    Struct massa_api_exports::config::APIConfig

    source ·
    pub struct APIConfig {
    Show 40 fields pub draw_lookahead_period_count: u64, pub bind_private: SocketAddr, pub bind_public: SocketAddr, @@ -18,6 +18,7 @@ pub enable_http: bool, pub enable_ws: bool, pub max_datastore_value_length: u64, + pub max_datastore_key_length: u8, pub max_op_datastore_entry_count: u64, pub max_op_datastore_key_length: u8, pub max_op_datastore_value_length: u64, @@ -36,6 +37,8 @@ pub deferred_credits_delta: MassaTime, pub minimal_fees: Amount, pub deferred_calls_config: DeferredCallsConfig, + pub max_datastore_keys_queries: Option<u32>, + pub max_addresses_datastore_keys_query: Option<u32>,
    }
    Expand description

    API settings. the API settings

    Fields§

    §draw_lookahead_period_count: u64

    when looking for next draw we want to look at max draw_lookahead_period_count

    @@ -57,6 +60,7 @@
    §enable_http: bool

    whether to enable HTTP.

    §enable_ws: bool

    whether to enable WS.

    §max_datastore_value_length: u64

    max datastore value length

    +
    §max_datastore_key_length: u8

    max datastore key length

    §max_op_datastore_entry_count: u64

    max op datastore entry

    §max_op_datastore_key_length: u8

    max datastore key length

    §max_op_datastore_value_length: u64

    max datastore value length

    @@ -75,8 +79,10 @@
    §deferred_credits_delta: MassaTime

    Delta to compute upper bounds when fetching deferred credits

    §minimal_fees: Amount

    minimal fees to include an operation in a block

    §deferred_calls_config: DeferredCallsConfig

    deferred calls config

    -

    Trait Implementations§

    source§

    impl Clone for APIConfig

    source§

    fn clone(&self) -> APIConfig

    Returns a copy of 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 APIConfig

    source§

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

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

    impl<'de> Deserialize<'de> for APIConfig

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +
    §max_datastore_keys_queries: Option<u32>

    max datastore keys queries

    +
    §max_addresses_datastore_keys_query: Option<u32>

    Limit the number of addresses in a single datastore keys request

    +

    Trait Implementations§

    source§

    impl Clone for APIConfig

    source§

    fn clone(&self) -> APIConfig

    Returns a copy of 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 APIConfig

    source§

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

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

    impl<'de> Deserialize<'de> for APIConfig

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 @@ -174,7 +180,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/datastore/struct.DatastoreEntryInput.html b/massa_api_exports/datastore/struct.DatastoreEntryInput.html index e172d2e9a99..60319a7727b 100644 --- a/massa_api_exports/datastore/struct.DatastoreEntryInput.html +++ b/massa_api_exports/datastore/struct.DatastoreEntryInput.html @@ -4,9 +4,9 @@ }
    Expand description

    Datastore entry query input structure

    Fields§

    §address: Address

    associated address of the entry

    §key: Vec<u8>

    datastore key

    -

    Trait Implementations§

    source§

    impl Clone for DatastoreEntryInput

    source§

    fn clone(&self) -> DatastoreEntryInput

    Returns a copy of 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 DatastoreEntryInput

    source§

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

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

    impl<'de> Deserialize<'de> for DatastoreEntryInput

    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 Serialize for DatastoreEntryInput

    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 +

    Trait Implementations§

    source§

    impl Clone for DatastoreEntryInput

    source§

    fn clone(&self) -> DatastoreEntryInput

    Returns a copy of 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 DatastoreEntryInput

    source§

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

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

    impl<'de> Deserialize<'de> for DatastoreEntryInput

    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 Serialize for DatastoreEntryInput

    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 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 @@ -104,7 +104,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/datastore/struct.DatastoreEntryOutput.html b/massa_api_exports/datastore/struct.DatastoreEntryOutput.html index b748c07e191..6de3db6f7ce 100644 --- a/massa_api_exports/datastore/struct.DatastoreEntryOutput.html +++ b/massa_api_exports/datastore/struct.DatastoreEntryOutput.html @@ -4,9 +4,9 @@ }
    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 - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    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 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 @@ -105,7 +105,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/endorsement/struct.EndorsementInfo.html b/massa_api_exports/endorsement/struct.EndorsementInfo.html index a1b61eaf2f3..ea21a6bf409 100644 --- a/massa_api_exports/endorsement/struct.EndorsementInfo.html +++ b/massa_api_exports/endorsement/struct.EndorsementInfo.html @@ -11,9 +11,9 @@ if it appears in multiple blocks, these blocks are in different cliques

    §is_final: bool

    true if the endorsement is final (for example in a final block)

    §endorsement: SecureShareEndorsement

    the endorsement itself

    -

    Trait Implementations§

    source§

    impl Clone for EndorsementInfo

    source§

    fn clone(&self) -> EndorsementInfo

    Returns a copy of 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 EndorsementInfo

    source§

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

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

    impl<'de> Deserialize<'de> for EndorsementInfo

    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 EndorsementInfo

    source§

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

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

    impl Serialize for EndorsementInfo

    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 +

    Trait Implementations§

    source§

    impl Clone for EndorsementInfo

    source§

    fn clone(&self) -> EndorsementInfo

    Returns a copy of 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 EndorsementInfo

    source§

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

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

    impl<'de> Deserialize<'de> for EndorsementInfo

    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 EndorsementInfo

    source§

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

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

    impl Serialize for EndorsementInfo

    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 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 @@ -112,7 +112,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/error/enum.ApiError.html b/massa_api_exports/error/enum.ApiError.html index d844ab96a98..19df7ae12ce 100644 --- a/massa_api_exports/error/enum.ApiError.html +++ b/massa_api_exports/error/enum.ApiError.html @@ -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/execution/enum.ReadOnlyResult.html b/massa_api_exports/execution/enum.ReadOnlyResult.html index 7dce8166a43..7786846a047 100644 --- a/massa_api_exports/execution/enum.ReadOnlyResult.html +++ b/massa_api_exports/execution/enum.ReadOnlyResult.html @@ -4,9 +4,9 @@ }
    Expand description

    The result of the read-only execution.

    Variants§

    §

    Error(String)

    An error occurred during execution.

    §

    Ok(Vec<u8>)

    The result of a successful execution.

    -

    Trait Implementations§

    source§

    impl Clone for ReadOnlyResult

    source§

    fn clone(&self) -> ReadOnlyResult

    Returns a copy of 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 ReadOnlyResult

    source§

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

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

    impl<'de> Deserialize<'de> for ReadOnlyResult

    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 Serialize for ReadOnlyResult

    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 +

    Trait Implementations§

    source§

    impl Clone for ReadOnlyResult

    source§

    fn clone(&self) -> ReadOnlyResult

    Returns a copy of 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 ReadOnlyResult

    source§

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

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

    impl<'de> Deserialize<'de> for ReadOnlyResult

    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 Serialize for ReadOnlyResult

    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 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 @@ -104,7 +104,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/execution/enum.TransferContext.html b/massa_api_exports/execution/enum.TransferContext.html index 5e7f8cdf958..08d9ada1bf6 100644 --- a/massa_api_exports/execution/enum.TransferContext.html +++ b/massa_api_exports/execution/enum.TransferContext.html @@ -4,9 +4,9 @@ }
    Expand description

    Context of the transfer

    Variants§

    §

    Operation(OperationId)

    Transfer made in an operation

    §

    ASC(u64)

    Transfer made in an asynchronous call

    -

    Trait Implementations§

    source§

    impl Clone for TransferContext

    source§

    fn clone(&self) -> TransferContext

    Returns a copy of 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 TransferContext

    source§

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

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

    impl<'de> Deserialize<'de> for TransferContext

    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 Serialize for TransferContext

    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§

    §

    impl Freeze for TransferContext

    §

    impl RefUnwindSafe for TransferContext

    §

    impl Send for TransferContext

    §

    impl Sync for TransferContext

    §

    impl Unpin for TransferContext

    §

    impl UnwindSafe for TransferContext

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for TransferContext

    source§

    fn clone(&self) -> TransferContext

    Returns a copy of 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 TransferContext

    source§

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

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

    impl<'de> Deserialize<'de> for TransferContext

    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 Serialize for TransferContext

    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§

    §

    impl Freeze for TransferContext

    §

    impl RefUnwindSafe for TransferContext

    §

    impl Send for TransferContext

    §

    impl Sync for TransferContext

    §

    impl Unpin for TransferContext

    §

    impl UnwindSafe for TransferContext

    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 @@ -104,7 +104,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/execution/struct.DeferredCallResponse.html b/massa_api_exports/execution/struct.DeferredCallResponse.html index 7c385df38f6..21f7ab0736e 100644 --- a/massa_api_exports/execution/struct.DeferredCallResponse.html +++ b/massa_api_exports/execution/struct.DeferredCallResponse.html @@ -4,9 +4,9 @@ }
    Expand description

    response for deferred call

    Fields§

    §call_id: String

    deferred call id

    §call: DeferredCall

    deferred call

    -

    Trait Implementations§

    source§

    impl Clone for DeferredCallResponse

    source§

    fn clone(&self) -> DeferredCallResponse

    Returns a copy of 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 DeferredCallResponse

    source§

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

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

    impl<'de> Deserialize<'de> for DeferredCallResponse

    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 Serialize for DeferredCallResponse

    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§

    §

    impl Freeze for DeferredCallResponse

    §

    impl RefUnwindSafe for DeferredCallResponse

    §

    impl Send for DeferredCallResponse

    §

    impl Sync for DeferredCallResponse

    §

    impl Unpin for DeferredCallResponse

    §

    impl UnwindSafe for DeferredCallResponse

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for DeferredCallResponse

    source§

    fn clone(&self) -> DeferredCallResponse

    Returns a copy of 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 DeferredCallResponse

    source§

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

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

    impl<'de> Deserialize<'de> for DeferredCallResponse

    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 Serialize for DeferredCallResponse

    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 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 @@ -104,7 +104,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/execution/struct.DeferredCallsQuoteRequest.html b/massa_api_exports/execution/struct.DeferredCallsQuoteRequest.html index f4d746d17bf..be92a8ee59b 100644 --- a/massa_api_exports/execution/struct.DeferredCallsQuoteRequest.html +++ b/massa_api_exports/execution/struct.DeferredCallsQuoteRequest.html @@ -6,9 +6,9 @@

    Fields§

    §target_slot: Slot

    The slot at which the deferred call is to be executed.

    §max_gas_request: u64

    The maximum gas requested.

    §params_size: u64

    Size of parameters

    -

    Trait Implementations§

    source§

    impl Clone for DeferredCallsQuoteRequest

    source§

    fn clone(&self) -> DeferredCallsQuoteRequest

    Returns a copy of 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 DeferredCallsQuoteRequest

    source§

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

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

    impl<'de> Deserialize<'de> for DeferredCallsQuoteRequest

    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 Serialize for DeferredCallsQuoteRequest

    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§

    §

    impl Freeze for DeferredCallsQuoteRequest

    §

    impl RefUnwindSafe for DeferredCallsQuoteRequest

    §

    impl Send for DeferredCallsQuoteRequest

    §

    impl Sync for DeferredCallsQuoteRequest

    §

    impl Unpin for DeferredCallsQuoteRequest

    §

    impl UnwindSafe for DeferredCallsQuoteRequest

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for DeferredCallsQuoteRequest

    source§

    fn clone(&self) -> DeferredCallsQuoteRequest

    Returns a copy of 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 DeferredCallsQuoteRequest

    source§

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

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

    impl<'de> Deserialize<'de> for DeferredCallsQuoteRequest

    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 Serialize for DeferredCallsQuoteRequest

    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 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 @@ -106,7 +106,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/execution/struct.DeferredCallsQuoteResponse.html b/massa_api_exports/execution/struct.DeferredCallsQuoteResponse.html index a2cfff8be7b..19b7e3ac0f9 100644 --- a/massa_api_exports/execution/struct.DeferredCallsQuoteResponse.html +++ b/massa_api_exports/execution/struct.DeferredCallsQuoteResponse.html @@ -8,9 +8,9 @@ §max_gas_request: u64

    The maximum gas requested.

    §available: bool

    if the slot is bookable

    §price: Amount

    the cost for booking the call

    -

    Trait Implementations§

    source§

    impl Clone for DeferredCallsQuoteResponse

    source§

    fn clone(&self) -> DeferredCallsQuoteResponse

    Returns a copy of 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 DeferredCallsQuoteResponse

    source§

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

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

    impl<'de> Deserialize<'de> for DeferredCallsQuoteResponse

    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 Serialize for DeferredCallsQuoteResponse

    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§

    §

    impl Freeze for DeferredCallsQuoteResponse

    §

    impl RefUnwindSafe for DeferredCallsQuoteResponse

    §

    impl Send for DeferredCallsQuoteResponse

    §

    impl Sync for DeferredCallsQuoteResponse

    §

    impl Unpin for DeferredCallsQuoteResponse

    §

    impl UnwindSafe for DeferredCallsQuoteResponse

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for DeferredCallsQuoteResponse

    source§

    fn clone(&self) -> DeferredCallsQuoteResponse

    Returns a copy of 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 DeferredCallsQuoteResponse

    source§

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

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

    impl<'de> Deserialize<'de> for DeferredCallsQuoteResponse

    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 Serialize for DeferredCallsQuoteResponse

    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 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 @@ -108,7 +108,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/execution/struct.DeferredCallsSlotResponse.html b/massa_api_exports/execution/struct.DeferredCallsSlotResponse.html index eb784d5f0f1..0a50319ff72 100644 --- a/massa_api_exports/execution/struct.DeferredCallsSlotResponse.html +++ b/massa_api_exports/execution/struct.DeferredCallsSlotResponse.html @@ -4,9 +4,9 @@ }
    Expand description

    response for deferred calls by slot

    Fields§

    §slot: Slot

    deferred calls

    §call_ids: Vec<String>

    deferred calls

    -

    Trait Implementations§

    source§

    impl Clone for DeferredCallsSlotResponse

    source§

    fn clone(&self) -> DeferredCallsSlotResponse

    Returns a copy of 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 DeferredCallsSlotResponse

    source§

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

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

    impl<'de> Deserialize<'de> for DeferredCallsSlotResponse

    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 Serialize for DeferredCallsSlotResponse

    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§

    §

    impl Freeze for DeferredCallsSlotResponse

    §

    impl RefUnwindSafe for DeferredCallsSlotResponse

    §

    impl Send for DeferredCallsSlotResponse

    §

    impl Sync for DeferredCallsSlotResponse

    §

    impl Unpin for DeferredCallsSlotResponse

    §

    impl UnwindSafe for DeferredCallsSlotResponse

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for DeferredCallsSlotResponse

    source§

    fn clone(&self) -> DeferredCallsSlotResponse

    Returns a copy of 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 DeferredCallsSlotResponse

    source§

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

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

    impl<'de> Deserialize<'de> for DeferredCallsSlotResponse

    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 Serialize for DeferredCallsSlotResponse

    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 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 @@ -104,7 +104,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/execution/struct.ExecuteReadOnlyResponse.html b/massa_api_exports/execution/struct.ExecuteReadOnlyResponse.html index 3b437088847..37d57111af1 100644 --- a/massa_api_exports/execution/struct.ExecuteReadOnlyResponse.html +++ b/massa_api_exports/execution/struct.ExecuteReadOnlyResponse.html @@ -10,9 +10,9 @@ §output_events: VecDeque<SCOutputEvent>

    The output events generated by the read-only execution.

    §gas_cost: u64

    The gas cost for the execution

    §state_changes: StateChanges

    state changes caused by the execution step

    -

    Trait Implementations§

    source§

    impl Clone for ExecuteReadOnlyResponse

    source§

    fn clone(&self) -> ExecuteReadOnlyResponse

    Returns a copy of 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 ExecuteReadOnlyResponse

    source§

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

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

    impl<'de> Deserialize<'de> for ExecuteReadOnlyResponse

    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 ExecuteReadOnlyResponse

    source§

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

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

    impl Serialize for ExecuteReadOnlyResponse

    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§

    §

    impl Freeze for ExecuteReadOnlyResponse

    §

    impl RefUnwindSafe for ExecuteReadOnlyResponse

    §

    impl Send for ExecuteReadOnlyResponse

    §

    impl Sync for ExecuteReadOnlyResponse

    §

    impl Unpin for ExecuteReadOnlyResponse

    §

    impl UnwindSafe for ExecuteReadOnlyResponse

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ExecuteReadOnlyResponse

    source§

    fn clone(&self) -> ExecuteReadOnlyResponse

    Returns a copy of 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 ExecuteReadOnlyResponse

    source§

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

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

    impl<'de> Deserialize<'de> for ExecuteReadOnlyResponse

    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 ExecuteReadOnlyResponse

    source§

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

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

    impl Serialize for ExecuteReadOnlyResponse

    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 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 @@ -111,7 +111,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/execution/struct.ReadOnlyBytecodeExecution.html b/massa_api_exports/execution/struct.ReadOnlyBytecodeExecution.html index fbb8df9b1f9..5006c419032 100644 --- a/massa_api_exports/execution/struct.ReadOnlyBytecodeExecution.html +++ b/massa_api_exports/execution/struct.ReadOnlyBytecodeExecution.html @@ -10,9 +10,9 @@ §address: Option<Address>

    caller’s address, optional

    §operation_datastore: Option<Vec<u8>>

    Operation datastore, optional

    §fee: Option<Amount>

    fee

    -

    Trait Implementations§

    source§

    impl Clone for ReadOnlyBytecodeExecution

    source§

    fn clone(&self) -> ReadOnlyBytecodeExecution

    Returns a copy of 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 ReadOnlyBytecodeExecution

    source§

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

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

    impl<'de> Deserialize<'de> for ReadOnlyBytecodeExecution

    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 Serialize for ReadOnlyBytecodeExecution

    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§

    §

    impl Freeze for ReadOnlyBytecodeExecution

    §

    impl RefUnwindSafe for ReadOnlyBytecodeExecution

    §

    impl Send for ReadOnlyBytecodeExecution

    §

    impl Sync for ReadOnlyBytecodeExecution

    §

    impl Unpin for ReadOnlyBytecodeExecution

    §

    impl UnwindSafe for ReadOnlyBytecodeExecution

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ReadOnlyBytecodeExecution

    source§

    fn clone(&self) -> ReadOnlyBytecodeExecution

    Returns a copy of 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 ReadOnlyBytecodeExecution

    source§

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

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

    impl<'de> Deserialize<'de> for ReadOnlyBytecodeExecution

    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 Serialize for ReadOnlyBytecodeExecution

    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 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 @@ -110,7 +110,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/execution/struct.ReadOnlyCall.html b/massa_api_exports/execution/struct.ReadOnlyCall.html index 7bcf454361d..39d6e54a0fb 100644 --- a/massa_api_exports/execution/struct.ReadOnlyCall.html +++ b/massa_api_exports/execution/struct.ReadOnlyCall.html @@ -14,9 +14,9 @@ §caller_address: Option<Address>

    caller’s address, optional

    §coins: Option<Amount>

    coins

    §fee: Option<Amount>

    fee

    -

    Trait Implementations§

    source§

    impl Clone for ReadOnlyCall

    source§

    fn clone(&self) -> ReadOnlyCall

    Returns a copy of 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 ReadOnlyCall

    source§

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

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

    impl<'de> Deserialize<'de> for ReadOnlyCall

    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 Serialize for ReadOnlyCall

    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§

    §

    impl Freeze for ReadOnlyCall

    §

    impl RefUnwindSafe for ReadOnlyCall

    §

    impl Send for ReadOnlyCall

    §

    impl Sync for ReadOnlyCall

    §

    impl Unpin for ReadOnlyCall

    §

    impl UnwindSafe for ReadOnlyCall

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ReadOnlyCall

    source§

    fn clone(&self) -> ReadOnlyCall

    Returns a copy of 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 ReadOnlyCall

    source§

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

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

    impl<'de> Deserialize<'de> for ReadOnlyCall

    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 Serialize for ReadOnlyCall

    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 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 @@ -114,7 +114,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/execution/struct.Transfer.html b/massa_api_exports/execution/struct.Transfer.html index 80b2fe26718..aad20ac9716 100644 --- a/massa_api_exports/execution/struct.Transfer.html +++ b/massa_api_exports/execution/struct.Transfer.html @@ -16,9 +16,9 @@ §fee: Amount

    Fee

    §block_id: BlockId

    Block ID

    §context: TransferContext

    Context

    -

    Trait Implementations§

    source§

    impl Clone for Transfer

    source§

    fn clone(&self) -> Transfer

    Returns a copy of 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 Transfer

    source§

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

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

    impl<'de> Deserialize<'de> for Transfer

    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 Serialize for Transfer

    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§

    §

    impl Freeze for Transfer

    §

    impl RefUnwindSafe for Transfer

    §

    impl Send for Transfer

    §

    impl Sync for Transfer

    §

    impl Unpin for Transfer

    §

    impl UnwindSafe for Transfer

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for Transfer

    source§

    fn clone(&self) -> Transfer

    Returns a copy of 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 Transfer

    source§

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

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

    impl<'de> Deserialize<'de> for Transfer

    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 Serialize for Transfer

    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 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 @@ -116,7 +116,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/ledger/struct.LedgerInfo.html b/massa_api_exports/ledger/struct.LedgerInfo.html index 8bd514a13e1..f5b28a19370 100644 --- a/massa_api_exports/ledger/struct.LedgerInfo.html +++ b/massa_api_exports/ledger/struct.LedgerInfo.html @@ -6,9 +6,9 @@

    Fields§

    §final_ledger_info: LedgerData

    final data

    §candidate_ledger_info: LedgerData

    latest data

    §locked_balance: Amount

    locked balance, for example balance due to a roll sell

    -

    Trait Implementations§

    source§

    impl Clone for LedgerInfo

    source§

    fn clone(&self) -> LedgerInfo

    Returns a copy of 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 LedgerInfo

    source§

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

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

    impl<'de> Deserialize<'de> for LedgerInfo

    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 LedgerInfo

    source§

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

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

    impl Serialize for LedgerInfo

    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 LedgerInfo

    Auto Trait Implementations§

    §

    impl Freeze for LedgerInfo

    §

    impl RefUnwindSafe for LedgerInfo

    §

    impl Send for LedgerInfo

    §

    impl Sync for LedgerInfo

    §

    impl Unpin for LedgerInfo

    §

    impl UnwindSafe for LedgerInfo

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for LedgerInfo

    source§

    fn clone(&self) -> LedgerInfo

    Returns a copy of 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 LedgerInfo

    source§

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

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

    impl<'de> Deserialize<'de> for LedgerInfo

    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 LedgerInfo

    source§

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

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

    impl Serialize for LedgerInfo

    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 LedgerInfo

    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 @@ -108,7 +108,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file 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..d78116db425 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,9 +35,10 @@
    §config: CompactConfig

    compact configuration

    §chain_id: u64

    chain id

    §minimal_fees: Amount

    minimal fees to include an operation in a block

    -

    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 - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +
    §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 + __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 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 @@ -135,7 +137,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/operation/struct.OperationInfo.html b/massa_api_exports/operation/struct.OperationInfo.html index 6842e75608e..7d68b66d9c8 100644 --- a/massa_api_exports/operation/struct.OperationInfo.html +++ b/massa_api_exports/operation/struct.OperationInfo.html @@ -15,9 +15,9 @@ §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 - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    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 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 @@ -116,7 +116,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/operation/struct.OperationInput.html b/massa_api_exports/operation/struct.OperationInput.html index a356a676eb9..9703ba0180b 100644 --- a/massa_api_exports/operation/struct.OperationInput.html +++ b/massa_api_exports/operation/struct.OperationInput.html @@ -6,9 +6,9 @@

    Fields§

    §creator_public_key: PublicKey

    The public key of the creator of the TX

    §signature: Signature

    The signature of the operation

    §serialized_content: Vec<u8>

    The serialized version of the content base58 encoded

    -

    Trait Implementations§

    source§

    impl Debug for OperationInput

    source§

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

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

    impl<'de> Deserialize<'de> for OperationInput

    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 Serialize for OperationInput

    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 +

    Trait Implementations§

    source§

    impl Debug for OperationInput

    source§

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

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

    impl<'de> Deserialize<'de> for OperationInput

    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 Serialize for OperationInput

    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 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 @@ -103,7 +103,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/page/struct.PageRequest.html b/massa_api_exports/page/struct.PageRequest.html index ef924be419b..8bd91e4e53a 100644 --- a/massa_api_exports/page/struct.PageRequest.html +++ b/massa_api_exports/page/struct.PageRequest.html @@ -4,9 +4,9 @@ }
    Expand description

    Represents the request inputs for a PagedVec

    Fields§

    §limit: usize

    The limit of elements in a page

    §offset: usize

    The page offset

    -

    Trait Implementations§

    source§

    impl<'de> Deserialize<'de> for PageRequest

    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 Serialize for PageRequest

    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§

    §

    impl Freeze for PageRequest

    §

    impl RefUnwindSafe for PageRequest

    §

    impl Send for PageRequest

    §

    impl Sync for PageRequest

    §

    impl Unpin for PageRequest

    §

    impl UnwindSafe for PageRequest

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl<'de> Deserialize<'de> for PageRequest

    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 Serialize for PageRequest

    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 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 @@ -101,7 +101,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/page/struct.PagedVec.html b/massa_api_exports/page/struct.PagedVec.html index 5941db74f19..68bbfc053d5 100644 --- a/massa_api_exports/page/struct.PagedVec.html +++ b/massa_api_exports/page/struct.PagedVec.html @@ -3,8 +3,8 @@ _total_count: usize, }
    Expand description

    Represents a Vec that can be split across Pages Cf. https://docs.rs/paginate/latest/paginate/

    -

    Fields§

    §res: Vec<T>§_total_count: usize

    Implementations§

    source§

    impl<T: Serialize> PagedVec<T>

    source

    pub fn new(elements: Vec<T>, page_request: Option<PageRequest>) -> Self

    Creates a new Paged Vec with optional limits of item per page and offset

    -

    Trait Implementations§

    source§

    impl<T: Clone> Clone for PagedVec<T>

    source§

    fn clone(&self) -> PagedVec<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> From<PagedVec<T>> for PagedVecV2<T>

    source§

    fn from(paged_vec: PagedVec<T>) -> Self

    Converts to this type from the input type.
    source§

    impl<T: Serialize> Serialize for PagedVec<T>

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    §

    impl<T> Freeze for PagedVec<T>

    §

    impl<T> RefUnwindSafe for PagedVec<T>
    where +

    Fields§

    §res: Vec<T>§_total_count: usize

    Implementations§

    source§

    impl<T: Serialize> PagedVec<T>

    source

    pub fn new(elements: Vec<T>, page_request: Option<PageRequest>) -> Self

    Creates a new Paged Vec with optional limits of item per page and offset

    +

    Trait Implementations§

    source§

    impl<T: Clone> Clone for PagedVec<T>

    source§

    fn clone(&self) -> PagedVec<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> From<PagedVec<T>> for PagedVecV2<T>

    source§

    fn from(paged_vec: PagedVec<T>) -> Self

    Converts to this type from the input type.
    source§

    impl<T: Serialize> Serialize for PagedVec<T>

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    §

    impl<T> Freeze for PagedVec<T>

    §

    impl<T> RefUnwindSafe for PagedVec<T>
    where T: RefUnwindSafe,

    §

    impl<T> Send for PagedVec<T>
    where T: Send,

    §

    impl<T> Sync for PagedVec<T>
    where T: Sync,

    §

    impl<T> Unpin for PagedVec<T>
    where diff --git a/massa_api_exports/page/struct.PagedVecV2.html b/massa_api_exports/page/struct.PagedVecV2.html index 3f542b6e5ae..54f0490b10b 100644 --- a/massa_api_exports/page/struct.PagedVecV2.html +++ b/massa_api_exports/page/struct.PagedVecV2.html @@ -2,11 +2,11 @@ content: Vec<T>, total_count: usize, }
    Expand description

    Represents the request inputs for a PagedVecV2

    -

    Fields§

    §content: Vec<T>§total_count: usize

    Trait Implementations§

    source§

    impl<T: Clone> Clone for PagedVecV2<T>

    source§

    fn clone(&self) -> PagedVecV2<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<'de, T> Deserialize<'de> for PagedVecV2<T>
    where - T: 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> From<PagedVec<T>> for PagedVecV2<T>

    source§

    fn from(paged_vec: PagedVec<T>) -> Self

    Converts to this type from the input type.
    source§

    impl<T> Serialize for PagedVecV2<T>
    where - T: Serialize,

    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§

    §

    impl<T> Freeze for PagedVecV2<T>

    §

    impl<T> RefUnwindSafe for PagedVecV2<T>
    where +

    Fields§

    §content: Vec<T>§total_count: usize

    Trait Implementations§

    source§

    impl<T: Clone> Clone for PagedVecV2<T>

    source§

    fn clone(&self) -> PagedVecV2<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<'de, T> Deserialize<'de> for PagedVecV2<T>
    where + T: 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> From<PagedVec<T>> for PagedVecV2<T>

    source§

    fn from(paged_vec: PagedVec<T>) -> Self

    Converts to this type from the input type.
    source§

    impl<T> Serialize for PagedVecV2<T>
    where + T: Serialize,

    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§

    §

    impl<T> Freeze for PagedVecV2<T>

    §

    impl<T> RefUnwindSafe for PagedVecV2<T>
    where T: RefUnwindSafe,

    §

    impl<T> Send for PagedVecV2<T>
    where T: Send,

    §

    impl<T> Sync for PagedVecV2<T>
    where T: Sync,

    §

    impl<T> Unpin for PagedVecV2<T>
    where @@ -109,7 +109,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/rolls/struct.RollsInfo.html b/massa_api_exports/rolls/struct.RollsInfo.html index 65eae3c425c..3241f532a4b 100644 --- a/massa_api_exports/rolls/struct.RollsInfo.html +++ b/massa_api_exports/rolls/struct.RollsInfo.html @@ -6,9 +6,9 @@

    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 - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for RollsInfo

    Auto Trait Implementations§

    §

    impl Freeze for RollsInfo

    §

    impl RefUnwindSafe for RollsInfo

    §

    impl Send for RollsInfo

    §

    impl Sync for RollsInfo

    §

    impl Unpin for RollsInfo

    §

    impl UnwindSafe for RollsInfo

    Blanket Implementations§

    source§

    impl<T> Any for T
    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 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 @@ -108,7 +108,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/slot/struct.SlotAmount.html b/massa_api_exports/slot/struct.SlotAmount.html index 839a848f9c0..f1b26a8b831 100644 --- a/massa_api_exports/slot/struct.SlotAmount.html +++ b/massa_api_exports/slot/struct.SlotAmount.html @@ -4,9 +4,9 @@ }
    Expand description

    slot / amount pair

    Fields§

    §slot: Slot

    slot

    §amount: Amount

    amount

    -

    Trait Implementations§

    source§

    impl Clone for SlotAmount

    source§

    fn clone(&self) -> SlotAmount

    Returns a copy of 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 SlotAmount

    source§

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

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

    impl<'de> Deserialize<'de> for SlotAmount

    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 Serialize for SlotAmount

    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§

    §

    impl Freeze for SlotAmount

    §

    impl RefUnwindSafe for SlotAmount

    §

    impl Send for SlotAmount

    §

    impl Sync for SlotAmount

    §

    impl Unpin for SlotAmount

    §

    impl UnwindSafe for SlotAmount

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for SlotAmount

    source§

    fn clone(&self) -> SlotAmount

    Returns a copy of 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 SlotAmount

    source§

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

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

    impl<'de> Deserialize<'de> for SlotAmount

    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 Serialize for SlotAmount

    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 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 @@ -104,7 +104,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/struct.ApiRequest.html b/massa_api_exports/struct.ApiRequest.html index 19c04fb291e..4aa89911031 100644 --- a/massa_api_exports/struct.ApiRequest.html +++ b/massa_api_exports/struct.ApiRequest.html @@ -2,9 +2,9 @@ pub page_request: Option<PageRequest>, }
    Expand description

    Wrap request params into struct for ApiV2 method

    Fields§

    §page_request: Option<PageRequest>

    pagination

    -

    Trait Implementations§

    source§

    impl<'de> Deserialize<'de> for ApiRequest

    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 Serialize for ApiRequest

    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§

    §

    impl Freeze for ApiRequest

    §

    impl RefUnwindSafe for ApiRequest

    §

    impl Send for ApiRequest

    §

    impl Sync for ApiRequest

    §

    impl Unpin for ApiRequest

    §

    impl UnwindSafe for ApiRequest

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl<'de> Deserialize<'de> for ApiRequest

    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 Serialize for ApiRequest

    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 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 @@ -99,7 +99,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_api_exports/struct.TimeInterval.html b/massa_api_exports/struct.TimeInterval.html index 2b60b3ca758..e8087e09c39 100644 --- a/massa_api_exports/struct.TimeInterval.html +++ b/massa_api_exports/struct.TimeInterval.html @@ -4,9 +4,9 @@ }
    Expand description

    Just a wrapper with a optional beginning and end

    Fields§

    §start: Option<MassaTime>

    optional start slot

    §end: Option<MassaTime>

    optional end slot

    -

    Trait Implementations§

    source§

    impl Clone for TimeInterval

    source§

    fn clone(&self) -> TimeInterval

    Returns a copy of 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 TimeInterval

    source§

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

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

    impl<'de> Deserialize<'de> for TimeInterval

    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 Serialize for TimeInterval

    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 TimeInterval

    Auto Trait Implementations§

    §

    impl Freeze for TimeInterval

    §

    impl RefUnwindSafe for TimeInterval

    §

    impl Send for TimeInterval

    §

    impl Sync for TimeInterval

    §

    impl Unpin for TimeInterval

    §

    impl UnwindSafe for TimeInterval

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for TimeInterval

    source§

    fn clone(&self) -> TimeInterval

    Returns a copy of 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 TimeInterval

    source§

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

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

    impl<'de> Deserialize<'de> for TimeInterval

    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 Serialize for TimeInterval

    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 TimeInterval

    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 @@ -105,7 +105,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_async_pool/changes/struct.AsyncPoolChanges.html b/massa_async_pool/changes/struct.AsyncPoolChanges.html index b6f713096af..5763d290555 100644 --- a/massa_async_pool/changes/struct.AsyncPoolChanges.html +++ b/massa_async_pool/changes/struct.AsyncPoolChanges.html @@ -18,14 +18,14 @@
  • msg_id: ID of the message to push as ready to be executed to the list of changes
  • Trait Implementations§

    source§

    impl Applicable<AsyncPoolChanges> for AsyncPoolChanges

    source§

    fn apply(&mut self, changes: AsyncPoolChanges)

    extends the current AsyncPoolChanges with another one

    -
    source§

    impl Clone for AsyncPoolChanges

    source§

    fn clone(&self) -> AsyncPoolChanges

    Returns a copy of 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 AsyncPoolChanges

    source§

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

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

    impl Default for AsyncPoolChanges

    source§

    fn default() -> AsyncPoolChanges

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

    impl<'de> Deserialize<'de> for AsyncPoolChanges

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

    source§

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

    source§

    impl Clone for AsyncPoolChanges

    source§

    fn clone(&self) -> AsyncPoolChanges

    Returns a copy of 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 AsyncPoolChanges

    source§

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

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

    impl Default for AsyncPoolChanges

    source§

    fn default() -> AsyncPoolChanges

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

    impl<'de> Deserialize<'de> for AsyncPoolChanges

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

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, 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>, @@ -133,5 +133,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_async_pool/message/struct.AsyncMessage.html b/massa_async_pool/message/struct.AsyncMessage.html index d923f244b1c..9e2a3e60ae6 100644 --- a/massa_async_pool/message/struct.AsyncMessage.html +++ b/massa_async_pool/message/struct.AsyncMessage.html @@ -48,8 +48,8 @@ ) -> Self

    Take an AsyncMessage and return it

    source

    pub fn compute_id(&self) -> AsyncMessageId

    Compute the ID of the message for use when choosing which operations to keep in priority (highest score) on pool overflow.

    Trait Implementations§

    source§

    impl Applicable<AsyncMessageUpdate> for AsyncMessage

    source§

    fn apply(&mut self, update: AsyncMessageUpdate)

    extends the AsyncMessage with a AsyncMessageUpdate

    -
    source§

    impl Clone for AsyncMessage

    source§

    fn clone(&self) -> AsyncMessage

    Returns a copy of 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 AsyncMessage

    source§

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

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

    impl Default for AsyncMessage

    source§

    fn default() -> Self

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

    impl<'de> Deserialize<'de> for AsyncMessage

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

    source§

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

    source§

    impl Clone for AsyncMessage

    source§

    fn clone(&self) -> AsyncMessage

    Returns a copy of 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 AsyncMessage

    source§

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

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

    impl Default for AsyncMessage

    source§

    fn default() -> Self

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

    impl<'de> Deserialize<'de> for AsyncMessage

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

    source§

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

    §Example
    @@ -84,10 +84,10 @@ let (rest, message_deserialized) = message_deserializer.deserialize::<DeserializeError>(&serialized).unwrap(); assert!(rest.is_empty()); 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 +
    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>, @@ -222,5 +222,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_async_pool/message/struct.AsyncMessageTrigger.html b/massa_async_pool/message/struct.AsyncMessageTrigger.html index 205a20f3ae5..fb3b92f8279 100644 --- a/massa_async_pool/message/struct.AsyncMessageTrigger.html +++ b/massa_async_pool/message/struct.AsyncMessageTrigger.html @@ -4,14 +4,14 @@ }
    Expand description

    Structure defining a trigger for an asynchronous message

    Fields§

    §address: Address

    Filter on the address

    §datastore_key: Option<Vec<u8>>

    Filter on the datastore key

    -

    Trait Implementations§

    source§

    impl Clone for AsyncMessageTrigger

    source§

    fn clone(&self) -> AsyncMessageTrigger

    Returns a copy of 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 AsyncMessageTrigger

    source§

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

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

    impl<'de> Deserialize<'de> for AsyncMessageTrigger

    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<AsyncMessageTrigger> for AsyncMessageTriggerDeserializer

    source§

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

    Trait Implementations§

    source§

    impl Clone for AsyncMessageTrigger

    source§

    fn clone(&self) -> AsyncMessageTrigger

    Returns a copy of 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 AsyncMessageTrigger

    source§

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

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

    impl<'de> Deserialize<'de> for AsyncMessageTrigger

    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<AsyncMessageTrigger> for AsyncMessageTriggerDeserializer

    source§

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

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

    impl From<AsyncMessageTrigger> for AsyncMessageTrigger

    source§

    fn from(value: AsyncMessageTrigger) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for AsyncMessageTrigger

    source§

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

    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<AsyncMessageTrigger> for AsyncMessageTriggerSerializer

    source§

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

    source§

    impl Serialize for AsyncMessageTrigger

    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<AsyncMessageTrigger> for AsyncMessageTriggerSerializer

    source§

    fn serialize( &self, value: &AsyncMessageTrigger, buffer: &mut Vec<u8>, @@ -119,5 +119,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_async_pool/message/struct.AsyncMessageUpdate.html b/massa_async_pool/message/struct.AsyncMessageUpdate.html index 46bf8b65cff..8384698a5dd 100644 --- a/massa_async_pool/message/struct.AsyncMessageUpdate.html +++ b/massa_async_pool/message/struct.AsyncMessageUpdate.html @@ -31,17 +31,17 @@ §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

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

    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]>>( &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 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 AsyncMessageUpdate

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

    source§

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

    source§

    impl Serialize for AsyncMessageUpdate

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

    source§

    fn serialize( &self, value: &AsyncMessageUpdate, buffer: &mut Vec<u8>, @@ -149,5 +149,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_async_pool/struct.AsyncMessage.html b/massa_async_pool/struct.AsyncMessage.html index 4ca185aa7a5..ad89bb27cbe 100644 --- a/massa_async_pool/struct.AsyncMessage.html +++ b/massa_async_pool/struct.AsyncMessage.html @@ -48,8 +48,8 @@ ) -> Self

    Take an AsyncMessage and return it

    source

    pub fn compute_id(&self) -> AsyncMessageId

    Compute the ID of the message for use when choosing which operations to keep in priority (highest score) on pool overflow.

    Trait Implementations§

    source§

    impl Applicable<AsyncMessageUpdate> for AsyncMessage

    source§

    fn apply(&mut self, update: AsyncMessageUpdate)

    extends the AsyncMessage with a AsyncMessageUpdate

    -
    source§

    impl Clone for AsyncMessage

    source§

    fn clone(&self) -> AsyncMessage

    Returns a copy of 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 AsyncMessage

    source§

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

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

    impl Default for AsyncMessage

    source§

    fn default() -> Self

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

    impl<'de> Deserialize<'de> for AsyncMessage

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

    source§

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

    source§

    impl Clone for AsyncMessage

    source§

    fn clone(&self) -> AsyncMessage

    Returns a copy of 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 AsyncMessage

    source§

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

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

    impl Default for AsyncMessage

    source§

    fn default() -> Self

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

    impl<'de> Deserialize<'de> for AsyncMessage

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

    source§

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

    §Example
    @@ -84,10 +84,10 @@ let (rest, message_deserialized) = message_deserializer.deserialize::<DeserializeError>(&serialized).unwrap(); assert!(rest.is_empty()); 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 +
    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>, @@ -222,5 +222,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_async_pool/struct.AsyncMessageTrigger.html b/massa_async_pool/struct.AsyncMessageTrigger.html index e0bc14d1ab4..703ceb50f15 100644 --- a/massa_async_pool/struct.AsyncMessageTrigger.html +++ b/massa_async_pool/struct.AsyncMessageTrigger.html @@ -4,14 +4,14 @@ }
    Expand description

    Structure defining a trigger for an asynchronous message

    Fields§

    §address: Address

    Filter on the address

    §datastore_key: Option<Vec<u8>>

    Filter on the datastore key

    -

    Trait Implementations§

    source§

    impl Clone for AsyncMessageTrigger

    source§

    fn clone(&self) -> AsyncMessageTrigger

    Returns a copy of 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 AsyncMessageTrigger

    source§

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

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

    impl<'de> Deserialize<'de> for AsyncMessageTrigger

    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<AsyncMessageTrigger> for AsyncMessageTriggerDeserializer

    source§

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

    Trait Implementations§

    source§

    impl Clone for AsyncMessageTrigger

    source§

    fn clone(&self) -> AsyncMessageTrigger

    Returns a copy of 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 AsyncMessageTrigger

    source§

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

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

    impl<'de> Deserialize<'de> for AsyncMessageTrigger

    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<AsyncMessageTrigger> for AsyncMessageTriggerDeserializer

    source§

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

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

    impl From<AsyncMessageTrigger> for AsyncMessageTrigger

    source§

    fn from(value: AsyncMessageTrigger) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for AsyncMessageTrigger

    source§

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

    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<AsyncMessageTrigger> for AsyncMessageTriggerSerializer

    source§

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

    source§

    impl Serialize for AsyncMessageTrigger

    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<AsyncMessageTrigger> for AsyncMessageTriggerSerializer

    source§

    fn serialize( &self, value: &AsyncMessageTrigger, buffer: &mut Vec<u8>, @@ -119,5 +119,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_async_pool/struct.AsyncMessageUpdate.html b/massa_async_pool/struct.AsyncMessageUpdate.html index 5bfd094fdf2..a6418c093b8 100644 --- a/massa_async_pool/struct.AsyncMessageUpdate.html +++ b/massa_async_pool/struct.AsyncMessageUpdate.html @@ -31,17 +31,17 @@ §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

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

    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]>>( &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 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 AsyncMessageUpdate

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

    source§

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

    source§

    impl Serialize for AsyncMessageUpdate

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

    source§

    fn serialize( &self, value: &AsyncMessageUpdate, buffer: &mut Vec<u8>, @@ -149,5 +149,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_async_pool/struct.AsyncPoolChanges.html b/massa_async_pool/struct.AsyncPoolChanges.html index 96cc5b33c81..bc7e139deef 100644 --- a/massa_async_pool/struct.AsyncPoolChanges.html +++ b/massa_async_pool/struct.AsyncPoolChanges.html @@ -18,14 +18,14 @@
  • msg_id: ID of the message to push as ready to be executed to the list of changes
  • Trait Implementations§

    source§

    impl Applicable<AsyncPoolChanges> for AsyncPoolChanges

    source§

    fn apply(&mut self, changes: AsyncPoolChanges)

    extends the current AsyncPoolChanges with another one

    -
    source§

    impl Clone for AsyncPoolChanges

    source§

    fn clone(&self) -> AsyncPoolChanges

    Returns a copy of 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 AsyncPoolChanges

    source§

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

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

    impl Default for AsyncPoolChanges

    source§

    fn default() -> AsyncPoolChanges

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

    impl<'de> Deserialize<'de> for AsyncPoolChanges

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

    source§

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

    source§

    impl Clone for AsyncPoolChanges

    source§

    fn clone(&self) -> AsyncPoolChanges

    Returns a copy of 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 AsyncPoolChanges

    source§

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

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

    impl Default for AsyncPoolChanges

    source§

    fn default() -> AsyncPoolChanges

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

    impl<'de> Deserialize<'de> for AsyncPoolChanges

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

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, 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>, @@ -133,5 +133,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_bootstrap/enum.BootstrapClientMessage.html b/massa_bootstrap/enum.BootstrapClientMessage.html index 55e230bae32..69292a61dee 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 1ea6d16aa2e..a3b347182e7 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/enum.BootstrapServerMessage.html b/massa_bootstrap/enum.BootstrapServerMessage.html index f635b6356a0..de78810248e 100644 --- a/massa_bootstrap/enum.BootstrapServerMessage.html +++ b/massa_bootstrap/enum.BootstrapServerMessage.html @@ -41,7 +41,7 @@

    Trait Implementations§

    source§

    impl Clone for BootstrapServerMessage

    source§

    fn clone(&self) -> BootstrapServerMessage

    Returns a copy of 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 BootstrapServerMessage

    source§

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

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

    impl Deserializer<BootstrapServerMessage> for BootstrapServerMessageDeserializer

    source§

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

    §Example
    +) -> IResult<&'a [u8], BootstrapServerMessage, E>
    §Example
    use massa_bootstrap::{BootstrapServerMessage, BootstrapServerMessageSerializer, BootstrapServerMessageDeserializer};
     use massa_bootstrap::BootstrapServerMessageDeserializerArgs;
     use massa_serialization::{Serializer, Deserializer, DeserializeError};
    @@ -89,7 +89,7 @@
         &self,
         value: &BootstrapServerMessage,
         buffer: &mut Vec<u8>,
    -) -> Result<(), SerializeError>
    §Example
    +) -> Result<(), SerializeError>
    §Example
    use massa_bootstrap::{BootstrapServerMessage, BootstrapServerMessageSerializer};
     use massa_serialization::Serializer;
     use massa_time::MassaTime;
    diff --git a/massa_bootstrap/enum.IpType.html b/massa_bootstrap/enum.IpType.html
    index 98f2b7d5c8f..fbf6a24866f 100644
    --- a/massa_bootstrap/enum.IpType.html
    +++ b/massa_bootstrap/enum.IpType.html
    @@ -6,8 +6,8 @@
     

    Variants§

    §

    Both

    Bootstrap with both IPv4 and IPv6 protocols (default).

    §

    IPv4

    Bootstrap only with IPv4.

    §

    IPv6

    Bootstrap only with IPv6.

    -

    Trait Implementations§

    source§

    impl Clone for IpType

    source§

    fn clone(&self) -> IpType

    Returns a copy of 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 IpType

    source§

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

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

    impl<'de> Deserialize<'de> for IpType

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

    Auto Trait Implementations§

    §

    impl Freeze for IpType

    §

    impl RefUnwindSafe for IpType

    §

    impl Send for IpType

    §

    impl Sync for IpType

    §

    impl Unpin for IpType

    §

    impl UnwindSafe for IpType

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for IpType

    source§

    fn clone(&self) -> IpType

    Returns a copy of 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 IpType

    source§

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

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

    impl<'de> Deserialize<'de> for IpType

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

    Auto Trait Implementations§

    §

    impl Freeze for IpType

    §

    impl RefUnwindSafe for IpType

    §

    impl Send for IpType

    §

    impl Sync for IpType

    §

    impl Unpin for IpType

    §

    impl UnwindSafe for IpType

    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 @@ -123,6 +123,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_bootstrap/error/enum.BootstrapError.html b/massa_bootstrap/error/enum.BootstrapError.html index 154fb54bc9c..b41c146084f 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 532a65a22a6..661b1f9dd18 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_bootstrap/messages/enum.BootstrapServerMessage.html b/massa_bootstrap/messages/enum.BootstrapServerMessage.html
    index 0046acce262..f4a83983b1a 100644
    --- a/massa_bootstrap/messages/enum.BootstrapServerMessage.html
    +++ b/massa_bootstrap/messages/enum.BootstrapServerMessage.html
    @@ -41,7 +41,7 @@
     

    Trait Implementations§

    source§

    impl Clone for BootstrapServerMessage

    source§

    fn clone(&self) -> BootstrapServerMessage

    Returns a copy of 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 BootstrapServerMessage

    source§

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

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

    impl Deserializer<BootstrapServerMessage> for BootstrapServerMessageDeserializer

    source§

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

    §Example
    +) -> IResult<&'a [u8], BootstrapServerMessage, E>
    §Example
    use massa_bootstrap::{BootstrapServerMessage, BootstrapServerMessageSerializer, BootstrapServerMessageDeserializer};
     use massa_bootstrap::BootstrapServerMessageDeserializerArgs;
     use massa_serialization::{Serializer, Deserializer, DeserializeError};
    @@ -89,7 +89,7 @@
         &self,
         value: &BootstrapServerMessage,
         buffer: &mut Vec<u8>,
    -) -> Result<(), SerializeError>
    §Example
    +) -> Result<(), SerializeError>
    §Example
    use massa_bootstrap::{BootstrapServerMessage, BootstrapServerMessageSerializer};
     use massa_serialization::Serializer;
     use massa_time::MassaTime;
    diff --git a/massa_bootstrap/messages/enum.MessageClientTypeId.html b/massa_bootstrap/messages/enum.MessageClientTypeId.html
    index b15099838c1..0c4b2232102 100644
    --- a/massa_bootstrap/messages/enum.MessageClientTypeId.html
    +++ b/massa_bootstrap/messages/enum.MessageClientTypeId.html
    @@ -5,7 +5,7 @@
         BootstrapSuccess = 3,
     }

    Variants§

    §

    AskBootstrapPeers = 0

    §

    AskFinalStatePart = 1

    §

    BootstrapError = 2

    §

    BootstrapSuccess = 3

    Trait Implementations§

    source§

    impl Debug for MessageClientTypeId

    source§

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

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

    impl From<MessageClientTypeId> for u32

    source§

    fn from(enum_value: MessageClientTypeId) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for MessageClientTypeId

    source§

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

    §

    type Error = TryFromPrimitiveError<MessageClientTypeId>

    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 MessageClientTypeId

    §

    type Primitive = u32

    §

    type Error = TryFromPrimitiveError<MessageClientTypeId>

    source§

    const NAME: &'static str = "MessageClientTypeId"

    source§

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

    source§

    impl TryFrom<u32> for MessageClientTypeId

    §

    type Error = TryFromPrimitiveError<MessageClientTypeId>

    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 MessageClientTypeId

    §

    type Primitive = u32

    §

    type Error = TryFromPrimitiveError<MessageClientTypeId>

    source§

    const NAME: &'static str = "MessageClientTypeId"

    source§

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

    source§

    impl Eq for MessageClientTypeId

    source§

    impl StructuralPartialEq for MessageClientTypeId

    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_bootstrap/settings/enum.IpType.html b/massa_bootstrap/settings/enum.IpType.html index 3975b483663..4fc71764d3d 100644 --- a/massa_bootstrap/settings/enum.IpType.html +++ b/massa_bootstrap/settings/enum.IpType.html @@ -6,8 +6,8 @@

    Variants§

    §

    Both

    Bootstrap with both IPv4 and IPv6 protocols (default).

    §

    IPv4

    Bootstrap only with IPv4.

    §

    IPv6

    Bootstrap only with IPv6.

    -

    Trait Implementations§

    source§

    impl Clone for IpType

    source§

    fn clone(&self) -> IpType

    Returns a copy of 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 IpType

    source§

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

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

    impl<'de> Deserialize<'de> for IpType

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

    Auto Trait Implementations§

    §

    impl Freeze for IpType

    §

    impl RefUnwindSafe for IpType

    §

    impl Send for IpType

    §

    impl Sync for IpType

    §

    impl Unpin for IpType

    §

    impl UnwindSafe for IpType

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for IpType

    source§

    fn clone(&self) -> IpType

    Returns a copy of 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 IpType

    source§

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

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

    impl<'de> Deserialize<'de> for IpType

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

    Auto Trait Implementations§

    §

    impl Freeze for IpType

    §

    impl RefUnwindSafe for IpType

    §

    impl Send for IpType

    §

    impl Sync for IpType

    §

    impl Unpin for IpType

    §

    impl UnwindSafe for IpType

    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 @@ -123,6 +123,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_bootstrap/settings/struct.BootstrapClientConfig.html b/massa_bootstrap/settings/struct.BootstrapClientConfig.html index 3047082767f..88ede5108e6 100644 --- a/massa_bootstrap/settings/struct.BootstrapClientConfig.html +++ b/massa_bootstrap/settings/struct.BootstrapClientConfig.html @@ -25,8 +25,8 @@ pub max_denunciation_changes_length: u64, pub chain_id: u64, }
    Expand description

    Bootstrap client config

    -

    Fields§

    §rate_limit: u64§endorsement_count: u32§max_listeners_per_peer: u32§max_advertise_length: u32§max_bootstrap_blocks_length: u32§max_operations_per_block: u32§thread_count: u8§randomness_size_bytes: usize§max_bootstrap_error_length: u64§max_final_state_elements_size: u32§max_versioning_elements_size: u32§max_datastore_entry_count: u64§max_datastore_key_length: u8§max_datastore_value_length: u64§max_ledger_changes_count: u64§max_changes_slot_count: u64§max_rolls_length: u64§max_production_stats_length: u64§max_credits_length: u64§max_executed_ops_length: u64§max_ops_changes_length: u64§mip_store_stats_block_considered: usize§max_denunciations_per_block_header: u32§max_denunciation_changes_length: u64§chain_id: u64

    Trait Implementations§

    source§

    impl Clone for BootstrapClientConfig

    source§

    fn clone(&self) -> BootstrapClientConfig

    Returns a copy of 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 BootstrapClientConfig

    source§

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

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

    impl<'de> Deserialize<'de> for BootstrapClientConfig

    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 From<&BootstrapClientConfig> for BootstrapServerMessageDeserializerArgs

    source§

    fn from(value: &BootstrapClientConfig) -> Self

    Converts to this type from the input type.
    source§

    impl From<&BootstrapConfig> for BootstrapClientConfig

    source§

    fn from(value: &BootstrapConfig) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Fields§

    §rate_limit: u64§endorsement_count: u32§max_listeners_per_peer: u32§max_advertise_length: u32§max_bootstrap_blocks_length: u32§max_operations_per_block: u32§thread_count: u8§randomness_size_bytes: usize§max_bootstrap_error_length: u64§max_final_state_elements_size: u32§max_versioning_elements_size: u32§max_datastore_entry_count: u64§max_datastore_key_length: u8§max_datastore_value_length: u64§max_ledger_changes_count: u64§max_changes_slot_count: u64§max_rolls_length: u64§max_production_stats_length: u64§max_credits_length: u64§max_executed_ops_length: u64§max_ops_changes_length: u64§mip_store_stats_block_considered: usize§max_denunciations_per_block_header: u32§max_denunciation_changes_length: u64§chain_id: u64

    Trait Implementations§

    source§

    impl Clone for BootstrapClientConfig

    source§

    fn clone(&self) -> BootstrapClientConfig

    Returns a copy of 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 BootstrapClientConfig

    source§

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

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

    impl<'de> Deserialize<'de> for BootstrapClientConfig

    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 From<&BootstrapClientConfig> for BootstrapServerMessageDeserializerArgs

    source§

    fn from(value: &BootstrapClientConfig) -> Self

    Converts to this type from the input type.
    source§

    impl From<&BootstrapConfig> for BootstrapClientConfig

    source§

    fn from(value: &BootstrapConfig) -> 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 @@ -141,6 +141,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_bootstrap/settings/struct.BootstrapConfig.html b/massa_bootstrap/settings/struct.BootstrapConfig.html index 4f00463f2fc..2a5cf6e4b4c 100644 --- a/massa_bootstrap/settings/struct.BootstrapConfig.html +++ b/massa_bootstrap/settings/struct.BootstrapConfig.html @@ -105,8 +105,8 @@ §max_denunciations_per_block_header: u32

    max denunciations in block header

    §max_denunciation_changes_length: u64

    max executed denunciations changes

    §chain_id: u64

    chain id

    -

    Trait Implementations§

    source§

    impl Clone for BootstrapConfig

    source§

    fn clone(&self) -> BootstrapConfig

    Returns a copy of 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 BootstrapConfig

    source§

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

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

    impl<'de> Deserialize<'de> for BootstrapConfig

    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 From<&BootstrapConfig> for BootstrapClientConfig

    source§

    fn from(value: &BootstrapConfig) -> Self

    Converts to this type from the input type.
    source§

    impl From<&BootstrapConfig> for BootstrapSrvBindCfg

    source§

    fn from(value: &BootstrapConfig) -> 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 BootstrapConfig

    source§

    fn clone(&self) -> BootstrapConfig

    Returns a copy of 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 BootstrapConfig

    source§

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

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

    impl<'de> Deserialize<'de> for BootstrapConfig

    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 From<&BootstrapConfig> for BootstrapClientConfig

    source§

    fn from(value: &BootstrapConfig) -> Self

    Converts to this type from the input type.
    source§

    impl From<&BootstrapConfig> for BootstrapSrvBindCfg

    source§

    fn from(value: &BootstrapConfig) -> 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 @@ -221,6 +221,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_bootstrap/settings/struct.BootstrapSrvBindCfg.html b/massa_bootstrap/settings/struct.BootstrapSrvBindCfg.html index 8d8289091cc..a8c32dac523 100644 --- a/massa_bootstrap/settings/struct.BootstrapSrvBindCfg.html +++ b/massa_bootstrap/settings/struct.BootstrapSrvBindCfg.html @@ -6,8 +6,8 @@ pub consensus_bootstrap_part_size: u64, pub write_error_timeout: MassaTime, }
    Expand description

    Bootstrap server binding

    -

    Fields§

    §rate_limit: u64§thread_count: u8§max_datastore_key_length: u8§randomness_size_bytes: usize§consensus_bootstrap_part_size: u64§write_error_timeout: MassaTime

    Trait Implementations§

    source§

    impl Clone for BootstrapSrvBindCfg

    source§

    fn clone(&self) -> BootstrapSrvBindCfg

    Returns a copy of 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 BootstrapSrvBindCfg

    source§

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

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

    impl<'de> Deserialize<'de> for BootstrapSrvBindCfg

    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 From<&BootstrapConfig> for BootstrapSrvBindCfg

    source§

    fn from(value: &BootstrapConfig) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Fields§

    §rate_limit: u64§thread_count: u8§max_datastore_key_length: u8§randomness_size_bytes: usize§consensus_bootstrap_part_size: u64§write_error_timeout: MassaTime

    Trait Implementations§

    source§

    impl Clone for BootstrapSrvBindCfg

    source§

    fn clone(&self) -> BootstrapSrvBindCfg

    Returns a copy of 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 BootstrapSrvBindCfg

    source§

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

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

    impl<'de> Deserialize<'de> for BootstrapSrvBindCfg

    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 From<&BootstrapConfig> for BootstrapSrvBindCfg

    source§

    fn from(value: &BootstrapConfig) -> 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 @@ -122,6 +122,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_bootstrap/struct.BootstrapConfig.html b/massa_bootstrap/struct.BootstrapConfig.html index 2585534e46d..3e2e969a350 100644 --- a/massa_bootstrap/struct.BootstrapConfig.html +++ b/massa_bootstrap/struct.BootstrapConfig.html @@ -105,8 +105,8 @@ §max_denunciations_per_block_header: u32

    max denunciations in block header

    §max_denunciation_changes_length: u64

    max executed denunciations changes

    §chain_id: u64

    chain id

    -

    Trait Implementations§

    source§

    impl Clone for BootstrapConfig

    source§

    fn clone(&self) -> BootstrapConfig

    Returns a copy of 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 BootstrapConfig

    source§

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

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

    impl<'de> Deserialize<'de> for BootstrapConfig

    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 From<&BootstrapConfig> for BootstrapClientConfig

    source§

    fn from(value: &BootstrapConfig) -> Self

    Converts to this type from the input type.
    source§

    impl From<&BootstrapConfig> for BootstrapSrvBindCfg

    source§

    fn from(value: &BootstrapConfig) -> 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 BootstrapConfig

    source§

    fn clone(&self) -> BootstrapConfig

    Returns a copy of 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 BootstrapConfig

    source§

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

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

    impl<'de> Deserialize<'de> for BootstrapConfig

    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 From<&BootstrapConfig> for BootstrapClientConfig

    source§

    fn from(value: &BootstrapConfig) -> Self

    Converts to this type from the input type.
    source§

    impl From<&BootstrapConfig> for BootstrapSrvBindCfg

    source§

    fn from(value: &BootstrapConfig) -> 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 @@ -221,6 +221,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_cipher/enum.CipherError.html b/massa_cipher/enum.CipherError.html index 6c7f4c70f4a..7780c7a62f1 100644 --- a/massa_cipher/enum.CipherError.html +++ b/massa_cipher/enum.CipherError.html @@ -6,7 +6,7 @@

    Variants§

    §

    EncryptionError(String)

    Encryption error: {0}

    §

    DecryptionError(String)

    Decryption error: {0}

    §

    Utf8Error(Utf8Error)

    Utf8 error: {0}

    -

    Trait Implementations§

    source§

    impl Debug for CipherError

    source§

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

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

    impl Display for CipherError

    source§

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

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

    impl Error for CipherError

    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<Utf8Error> for CipherError

    source§

    fn from(source: Utf8Error) -> 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 CipherError

    source§

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

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

    impl Display for CipherError

    source§

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

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

    impl Error for CipherError

    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<Utf8Error> for CipherError

    source§

    fn from(source: Utf8Error) -> 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> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/massa_cipher/error/enum.CipherError.html b/massa_cipher/error/enum.CipherError.html index 54414ba8434..5b92306a6a8 100644 --- a/massa_cipher/error/enum.CipherError.html +++ b/massa_cipher/error/enum.CipherError.html @@ -6,7 +6,7 @@

    Variants§

    §

    EncryptionError(String)

    Encryption error: {0}

    §

    DecryptionError(String)

    Decryption error: {0}

    §

    Utf8Error(Utf8Error)

    Utf8 error: {0}

    -

    Trait Implementations§

    source§

    impl Debug for CipherError

    source§

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

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

    impl Display for CipherError

    source§

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

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

    impl Error for CipherError

    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<Utf8Error> for CipherError

    source§

    fn from(source: Utf8Error) -> 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 CipherError

    source§

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

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

    impl Display for CipherError

    source§

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

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

    impl Error for CipherError

    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<Utf8Error> for CipherError

    source§

    fn from(source: Utf8Error) -> 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> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/massa_client/cmds/enum.Command.html b/massa_client/cmds/enum.Command.html index a8168954b55..22bfcc7f2fd 100644 --- a/massa_client/cmds/enum.Command.html +++ b/massa_client/cmds/enum.Command.html @@ -48,7 +48,7 @@ wallet_opt: &mut Option<Wallet>, parameters: &[String], json: bool, -) -> Result<Box<dyn Output>>

    run a given command

    +) -> Result<Box<dyn Output>>

    run a given command

    §parameters
    • client: the RPC client
    • diff --git a/massa_client/cmds/fn.get_file_as_byte_vec.html b/massa_client/cmds/fn.get_file_as_byte_vec.html index 92098589965..47dc5a196fd 100644 --- a/massa_client/cmds/fn.get_file_as_byte_vec.html +++ b/massa_client/cmds/fn.get_file_as_byte_vec.html @@ -1,2 +1,2 @@ -get_file_as_byte_vec in massa_client::cmds - Rust

      Function massa_client::cmds::get_file_as_byte_vec

      source ·
      async fn get_file_as_byte_vec(filename: &Path) -> Result<Vec<u8>>
      Expand description

      reads a file

      +get_file_as_byte_vec in massa_client::cmds - Rust

      Function massa_client::cmds::get_file_as_byte_vec

      source ·
      async fn get_file_as_byte_vec(filename: &Path) -> Result<Vec<u8>>
      Expand description

      reads a file

      \ No newline at end of file diff --git a/massa_client/cmds/fn.parse_key_value.html b/massa_client/cmds/fn.parse_key_value.html index d04271ed20b..10c95e6a58f 100644 --- a/massa_client/cmds/fn.parse_key_value.html +++ b/massa_client/cmds/fn.parse_key_value.html @@ -1,5 +1,5 @@ parse_key_value in massa_client::cmds - Rust

      Function massa_client::cmds::parse_key_value

      source ·
      pub fn parse_key_value<T: FromStr>(
           p: &HashMap<&str, &str>,
           key: &str,
      -) -> Result<Option<T>, Error>
      where +) -> Result<Option<T>, Error>
      where T::Err: Display,
      \ No newline at end of file diff --git a/massa_client/cmds/fn.parse_vec.html b/massa_client/cmds/fn.parse_vec.html index 1730e0a37e5..95a217cdd08 100644 --- a/massa_client/cmds/fn.parse_vec.html +++ b/massa_client/cmds/fn.parse_vec.html @@ -1,4 +1,4 @@ -parse_vec in massa_client::cmds - Rust

      Function massa_client::cmds::parse_vec

      source ·
      pub fn parse_vec<T: FromStr>(args: &[String]) -> Result<Vec<T>, Error>
      where +parse_vec in massa_client::cmds - Rust

      Function massa_client::cmds::parse_vec

      source ·
      pub fn parse_vec<T: FromStr>(args: &[String]) -> Result<Vec<T>, Error>
      where T::Err: Display,
      Expand description

      TODO: ugly utilities functions takes a slice of string and makes it into a Vec<T>

      \ No newline at end of file diff --git a/massa_client/cmds/fn.send_operation.html b/massa_client/cmds/fn.send_operation.html index 50a7633cc4b..68228652190 100644 --- a/massa_client/cmds/fn.send_operation.html +++ b/massa_client/cmds/fn.send_operation.html @@ -5,5 +5,5 @@ fee: Amount, addr: Address, json: bool, -) -> Result<Box<dyn Output>>
      Expand description

      helper to wrap and send an operation with proper validity period

      +) -> Result<Box<dyn Output>>
      Expand description

      helper to wrap and send an operation with proper validity period

      \ No newline at end of file diff --git a/massa_client/cmds/struct.ExtendedWallet.html b/massa_client/cmds/struct.ExtendedWallet.html index 4e4ac7919de..b1e9bbb8015 100644 --- a/massa_client/cmds/struct.ExtendedWallet.html +++ b/massa_client/cmds/struct.ExtendedWallet.html @@ -4,9 +4,9 @@ wallet: &Wallet, addresses_info: &[AddressInfo], show_keys: bool, -) -> Result<Self>

      Reorganize everything into an extended wallet

      -

    Trait Implementations§

    source§

    impl Debug for ExtendedWallet

    source§

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

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

    impl Display for ExtendedWallet

    source§

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

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

    impl Output for ExtendedWallet

    source§

    impl Serialize for ExtendedWallet

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

    Reorganize everything into an extended wallet

    +

    Trait Implementations§

    source§

    impl Debug for ExtendedWallet

    source§

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

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

    impl Display for ExtendedWallet

    source§

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

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

    impl Output for ExtendedWallet

    source§

    impl Serialize for ExtendedWallet

    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 T: 'a,

    §

    fn implicit( @@ -71,7 +71,7 @@ T: 'a + ?Sized, R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe function.
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> Serialize for T
    where - T: Serialize + ?Sized,

    source§

    fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>

    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + T: Serialize + ?Sized,

    source§

    fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>

    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where Self: Borrow<B>, B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where Self: BorrowMut<B>, diff --git a/massa_client/cmds/struct.ExtendedWalletEntry.html b/massa_client/cmds/struct.ExtendedWalletEntry.html index e5ae4ccd0f8..4df9e5651a8 100644 --- a/massa_client/cmds/struct.ExtendedWalletEntry.html +++ b/massa_client/cmds/struct.ExtendedWalletEntry.html @@ -7,8 +7,8 @@

    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 - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    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 T: 'a,

    §

    fn implicit( @@ -73,7 +73,7 @@ T: 'a + ?Sized, R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe function.
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> Serialize for T
    where - T: Serialize + ?Sized,

    source§

    fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>

    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + T: Serialize + ?Sized,

    source§

    fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>

    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where Self: Borrow<B>, B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where Self: BorrowMut<B>, 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..b77166fc3a4 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_client/fn.main.html b/massa_client/fn.main.html index eb8df0a6d78..c084fd6cd75 100644 --- a/massa_client/fn.main.html +++ b/massa_client/fn.main.html @@ -1 +1 @@ -main in massa_client - Rust

    Function massa_client::main

    source ·
    pub(crate) fn main() -> Result<()>
    \ No newline at end of file +main in massa_client - Rust

    Function massa_client::main

    source ·
    pub(crate) fn main() -> Result<()>
    \ No newline at end of file diff --git a/massa_client/fn.run.html b/massa_client/fn.run.html index fab45f20453..740861b8788 100644 --- a/massa_client/fn.run.html +++ b/massa_client/fn.run.html @@ -1 +1 @@ -run in massa_client - Rust

    Function massa_client::run

    source ·
    pub(crate) async fn run(args: Args) -> Result<()>
    \ No newline at end of file +run in massa_client - Rust

    Function massa_client::run

    source ·
    pub(crate) async fn run(args: Args) -> Result<()>
    \ No newline at end of file diff --git a/massa_client/repl/fn.run.html b/massa_client/repl/fn.run.html index dc8caf57dc0..f3f008657ba 100644 --- a/massa_client/repl/fn.run.html +++ b/massa_client/repl/fn.run.html @@ -2,4 +2,4 @@ client: &mut Client, wallet_path: &Path, args_password: Option<String>, -) -> Result<()>
    \ No newline at end of file +) -> Result<()>
    \ No newline at end of file diff --git a/massa_client/settings/struct.ClientSettings.html b/massa_client/settings/struct.ClientSettings.html index fe9e269739a..7e658faf435 100644 --- a/massa_client/settings/struct.ClientSettings.html +++ b/massa_client/settings/struct.ClientSettings.html @@ -9,8 +9,8 @@ pub http: HttpSettings, }
    Expand description

    Client settings the client settings.

    -

    Fields§

    §max_request_body_size: u32§request_timeout: MassaTime§max_concurrent_requests: usize§certificate_store: String§id_kind: String§max_log_length: u32§headers: Vec<(String, String)>§http: HttpSettings

    Trait Implementations§

    source§

    impl Clone for ClientSettings

    source§

    fn clone(&self) -> ClientSettings

    Returns a copy of 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 ClientSettings

    source§

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

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

    impl<'de> Deserialize<'de> for ClientSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Fields§

    §max_request_body_size: u32§request_timeout: MassaTime§max_concurrent_requests: usize§certificate_store: String§id_kind: String§max_log_length: u32§headers: Vec<(String, String)>§http: HttpSettings

    Trait Implementations§

    source§

    impl Clone for ClientSettings

    source§

    fn clone(&self) -> ClientSettings

    Returns a copy of 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 ClientSettings

    source§

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

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

    impl<'de> Deserialize<'de> for ClientSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 T: 'a,

    §

    fn implicit( @@ -115,7 +115,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_client/settings/struct.DefaultNode.html b/massa_client/settings/struct.DefaultNode.html index 94499ff944b..fc9f9754b52 100644 --- a/massa_client/settings/struct.DefaultNode.html +++ b/massa_client/settings/struct.DefaultNode.html @@ -5,8 +5,8 @@ pub grpc_public_port: u16, pub grpc_private_port: u16, pub chain_id: Option<u64>, -}

    Fields§

    §ip: IpAddr§private_port: u16§public_port: u16§grpc_public_port: u16§grpc_private_port: u16§chain_id: Option<u64>

    Trait Implementations§

    source§

    impl Clone for DefaultNode

    source§

    fn clone(&self) -> DefaultNode

    Returns a copy of 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 DefaultNode

    source§

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

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

    impl<'de> Deserialize<'de> for DefaultNode

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +}

    Fields§

    §ip: IpAddr§private_port: u16§public_port: u16§grpc_public_port: u16§grpc_private_port: u16§chain_id: Option<u64>

    Trait Implementations§

    source§

    impl Clone for DefaultNode

    source§

    fn clone(&self) -> DefaultNode

    Returns a copy of 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 DefaultNode

    source§

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

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

    impl<'de> Deserialize<'de> for DefaultNode

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 T: 'a,

    §

    fn implicit( @@ -111,7 +111,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_client/settings/struct.HttpSettings.html b/massa_client/settings/struct.HttpSettings.html index c2a385b939b..3b8924cdf5e 100644 --- a/massa_client/settings/struct.HttpSettings.html +++ b/massa_client/settings/struct.HttpSettings.html @@ -3,8 +3,8 @@ }
    Expand description

    TODO add WebSocket to CLI Http client settings. the Http client settings

    -

    Fields§

    §enabled: bool

    Trait Implementations§

    source§

    impl Clone for HttpSettings

    source§

    fn clone(&self) -> HttpSettings

    Returns a copy of 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 HttpSettings

    source§

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

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

    impl<'de> Deserialize<'de> for HttpSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    §

    impl Freeze for HttpSettings

    §

    impl RefUnwindSafe for HttpSettings

    §

    impl Send for HttpSettings

    §

    impl Sync for HttpSettings

    §

    impl Unpin for HttpSettings

    §

    impl UnwindSafe for HttpSettings

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Fields§

    §enabled: bool

    Trait Implementations§

    source§

    impl Clone for HttpSettings

    source§

    fn clone(&self) -> HttpSettings

    Returns a copy of 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 HttpSettings

    source§

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

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

    impl<'de> Deserialize<'de> for HttpSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 T: 'a,

    §

    fn implicit( @@ -109,7 +109,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_client/settings/struct.Settings.html b/massa_client/settings/struct.Settings.html index 2e251bc9c27..bc6974d00ab 100644 --- a/massa_client/settings/struct.Settings.html +++ b/massa_client/settings/struct.Settings.html @@ -4,8 +4,8 @@ pub history_file_path: PathBuf, pub timeout: MassaTime, pub client: ClientSettings, -}

    Fields§

    §default_node: DefaultNode§history: usize§history_file_path: PathBuf§timeout: MassaTime§client: ClientSettings

    Trait Implementations§

    source§

    impl Clone for Settings

    source§

    fn clone(&self) -> Settings

    Returns a copy of 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 Settings

    source§

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

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

    impl<'de> Deserialize<'de> for Settings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    §

    impl Freeze for Settings

    §

    impl RefUnwindSafe for Settings

    §

    impl Send for Settings

    §

    impl Sync for Settings

    §

    impl Unpin for Settings

    §

    impl UnwindSafe for Settings

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +}

    Fields§

    §default_node: DefaultNode§history: usize§history_file_path: PathBuf§timeout: MassaTime§client: ClientSettings

    Trait Implementations§

    source§

    impl Clone for Settings

    source§

    fn clone(&self) -> Settings

    Returns a copy of 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 Settings

    source§

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

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

    impl<'de> Deserialize<'de> for Settings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 T: 'a,

    §

    fn implicit( @@ -110,7 +110,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_client/struct.JsonError.html b/massa_client/struct.JsonError.html index 64d8ed49021..b87b6c53345 100644 --- a/massa_client/struct.JsonError.html +++ b/massa_client/struct.JsonError.html @@ -1,7 +1,7 @@ JsonError in massa_client - Rust

    Struct massa_client::JsonError

    source ·
    pub(crate) struct JsonError {
         pub(crate) error: String,
    -}

    Fields§

    §error: String

    Trait Implementations§

    source§

    impl Serialize for JsonError

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

    Fields§

    §error: String

    Trait Implementations§

    source§

    impl Serialize for JsonError

    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 T: 'a,

    §

    fn implicit( @@ -66,7 +66,7 @@ T: 'a + ?Sized, R: 'a,

    Mutably borrows self, then passes self.deref_mut() into the pipe function.
    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> Serialize for T
    where - T: Serialize + ?Sized,

    source§

    fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>

    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where + T: Serialize + ?Sized,

    source§

    fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>

    §

    impl<T> Tap for T

    §

    fn tap(self, func: impl FnOnce(&Self)) -> Self

    Immutable access to a value. Read more
    §

    fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

    Mutable access to a value. Read more
    §

    fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
    where Self: Borrow<B>, B: ?Sized,

    Immutable access to the Borrow<B> of a value. Read more
    §

    fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
    where Self: BorrowMut<B>, diff --git a/massa_consensus_exports/block_status/enum.DiscardReason.html b/massa_consensus_exports/block_status/enum.DiscardReason.html index 5e4147ff150..6f77757d817 100644 --- a/massa_consensus_exports/block_status/enum.DiscardReason.html +++ b/massa_consensus_exports/block_status/enum.DiscardReason.html @@ -6,11 +6,11 @@

    Variants§

    §

    Invalid(String)

    Block is invalid, either structurally, or because of some incompatibility. The String contains the reason for info or debugging.

    §

    Stale

    Block is incompatible with a final block.

    §

    Final

    Block has enough fitness.

    -

    Trait Implementations§

    source§

    impl Clone for DiscardReason

    source§

    fn clone(&self) -> DiscardReason

    Returns a copy of 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 DiscardReason

    source§

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

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

    impl<'de> Deserialize<'de> for DiscardReason

    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 PartialEq for DiscardReason

    source§

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

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

    Trait Implementations§

    source§

    impl Clone for DiscardReason

    source§

    fn clone(&self) -> DiscardReason

    Returns a copy of 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 DiscardReason

    source§

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

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

    impl<'de> Deserialize<'de> for DiscardReason

    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 PartialEq for DiscardReason

    source§

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

    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 DiscardReason

    source§

    impl StructuralPartialEq for DiscardReason

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for DiscardReason

    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 DiscardReason

    source§

    impl StructuralPartialEq for DiscardReason

    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 @@ -135,6 +135,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_consensus_exports/block_status/enum.ExportBlockStatus.html b/massa_consensus_exports/block_status/enum.ExportBlockStatus.html index 103db4754bf..d7bf34019de 100644 --- a/massa_consensus_exports/block_status/enum.ExportBlockStatus.html +++ b/massa_consensus_exports/block_status/enum.ExportBlockStatus.html @@ -12,9 +12,9 @@
    §

    Active(Block)

    valid and not yet final

    §

    Final(Block)

    immutable

    §

    Discarded(DiscardReason)

    not part of the graph

    -

    Trait Implementations§

    source§

    impl Clone for ExportBlockStatus

    source§

    fn clone(&self) -> ExportBlockStatus

    Returns a copy of 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 ExportBlockStatus

    source§

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

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

    impl<'de> Deserialize<'de> for ExportBlockStatus

    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 Serialize for ExportBlockStatus

    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§

    §

    impl Freeze for ExportBlockStatus

    §

    impl RefUnwindSafe for ExportBlockStatus

    §

    impl Send for ExportBlockStatus

    §

    impl Sync for ExportBlockStatus

    §

    impl Unpin for ExportBlockStatus

    §

    impl UnwindSafe for ExportBlockStatus

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ExportBlockStatus

    source§

    fn clone(&self) -> ExportBlockStatus

    Returns a copy of 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 ExportBlockStatus

    source§

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

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

    impl<'de> Deserialize<'de> for ExportBlockStatus

    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 Serialize for ExportBlockStatus

    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§

    §

    impl Freeze for ExportBlockStatus

    §

    impl RefUnwindSafe for ExportBlockStatus

    §

    impl Send for ExportBlockStatus

    §

    impl Sync for ExportBlockStatus

    §

    impl Unpin for ExportBlockStatus

    §

    impl UnwindSafe for ExportBlockStatus

    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 @@ -129,6 +129,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_consensus_exports/block_status/enum.Status.html b/massa_consensus_exports/block_status/enum.Status.html index cb371f3f69c..b28e2f063ab 100644 --- a/massa_consensus_exports/block_status/enum.Status.html +++ b/massa_consensus_exports/block_status/enum.Status.html @@ -4,11 +4,11 @@ }
    Expand description

    Status

    Variants§

    §

    Active

    without enough fitness to be part of immutable history

    §

    Final

    with enough fitness to be part of immutable history

    -

    Trait Implementations§

    source§

    impl Clone for Status

    source§

    fn clone(&self) -> Status

    Returns a copy of 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 Status

    source§

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

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

    impl<'de> Deserialize<'de> for Status

    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 PartialEq for Status

    source§

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

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

    Trait Implementations§

    source§

    impl Clone for Status

    source§

    fn clone(&self) -> Status

    Returns a copy of 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 Status

    source§

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

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

    impl<'de> Deserialize<'de> for Status

    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 PartialEq for Status

    source§

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

    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 Status

    source§

    impl StructuralPartialEq for Status

    Auto Trait Implementations§

    §

    impl Freeze for Status

    §

    impl RefUnwindSafe for Status

    §

    impl Send for Status

    §

    impl Sync for Status

    §

    impl Unpin for Status

    §

    impl UnwindSafe for Status

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Status

    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 Status

    source§

    impl StructuralPartialEq for Status

    Auto Trait Implementations§

    §

    impl Freeze for Status

    §

    impl RefUnwindSafe for Status

    §

    impl Send for Status

    §

    impl Sync for Status

    §

    impl Unpin for Status

    §

    impl UnwindSafe for Status

    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 @@ -133,6 +133,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_consensus_exports/block_status/struct.ExportCompiledBlock.html b/massa_consensus_exports/block_status/struct.ExportCompiledBlock.html index af8a2d11f89..e1e944116bb 100644 --- a/massa_consensus_exports/block_status/struct.ExportCompiledBlock.html +++ b/massa_consensus_exports/block_status/struct.ExportCompiledBlock.html @@ -10,9 +10,9 @@ of blocks referencing exported block as a parent, in thread i.

    §is_final: bool

    Active or final

    -

    Trait Implementations§

    source§

    impl Clone for ExportCompiledBlock

    source§

    fn clone(&self) -> ExportCompiledBlock

    Returns a copy of 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 ExportCompiledBlock

    source§

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

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

    impl<'de> Deserialize<'de> for ExportCompiledBlock

    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 Serialize for ExportCompiledBlock

    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§

    §

    impl Freeze for ExportCompiledBlock

    §

    impl RefUnwindSafe for ExportCompiledBlock

    §

    impl Send for ExportCompiledBlock

    §

    impl Sync for ExportCompiledBlock

    §

    impl Unpin for ExportCompiledBlock

    §

    impl UnwindSafe for ExportCompiledBlock

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ExportCompiledBlock

    source§

    fn clone(&self) -> ExportCompiledBlock

    Returns a copy of 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 ExportCompiledBlock

    source§

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

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

    impl<'de> Deserialize<'de> for ExportCompiledBlock

    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 Serialize for ExportCompiledBlock

    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, ) -> <T as Pointee>::Metadata

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

    impl<T> Borrow<T> for T
    where @@ -127,6 +127,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ 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 3defad7d00f..1d49b10d778 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;
    @@ -155,6 +155,6 @@
         V: MultiLane<T>,
    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_consensus_exports/error/enum.ConsensusError.html b/massa_consensus_exports/error/enum.ConsensusError.html index d8bd16dd980..f820d940b63 100644 --- a/massa_consensus_exports/error/enum.ConsensusError.html +++ b/massa_consensus_exports/error/enum.ConsensusError.html @@ -9,7 +9,7 @@ FitnessOverflow, InvalidLedgerChange(String), IOError(Error), - SerdeError(Error), + SerdeError(Error), PosCycleUnavailable(String), LedgerError(LedgerError), MassaTimeError(TimeError), @@ -27,14 +27,14 @@
    §

    FitnessOverflow

    fitness overflow

    §

    InvalidLedgerChange(String)

    invalid ledger change: {0}

    §

    IOError(Error)

    io error {0}

    -
    §

    SerdeError(Error)

    serde error

    +
    §

    SerdeError(Error)

    serde error

    §

    PosCycleUnavailable(String)

    Proof of stake cycle unavailable {0}

    §

    LedgerError(LedgerError)

    Ledger error {0}

    §

    MassaTimeError(TimeError)

    Massa time error {0}

    §

    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 8a54ee3a784..87604d29601 100644 --- a/massa_consensus_exports/error/enum.LedgerError.html +++ b/massa_consensus_exports/error/enum.LedgerError.html @@ -4,15 +4,15 @@ ModelsError(ModelsError), TryFromSliceError(TryFromSliceError), IOError(Error), - SerdeError(Error), + SerdeError(Error), }
    Expand description

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

    AmountOverflowError

    amount overflow

    §

    LedgerInconsistency(String)

    ledger inconsistency error {0}

    §

    ModelsError(ModelsError)

    models error: {0}

    §

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

    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 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 be1d592f24a..0cb0646917f 100644 --- a/massa_consensus_exports/export_active_block/struct.ExportActiveBlock.html +++ b/massa_consensus_exports/export_active_block/struct.ExportActiveBlock.html @@ -15,8 +15,8 @@ self, thread_count: u8, ) -> Result<(ActiveBlock, StorageOrBlock), ConsensusError>

    consuming conversion from ExportActiveBlock to ActiveBlock

    -

    Trait Implementations§

    source§

    impl Clone for ExportActiveBlock

    source§

    fn clone(&self) -> ExportActiveBlock

    Returns a copy of 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 ExportActiveBlock

    source§

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

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

    impl<'de> Deserialize<'de> for ExportActiveBlock

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

    source§

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

    Trait Implementations§

    source§

    impl Clone for ExportActiveBlock

    source§

    fn clone(&self) -> ExportActiveBlock

    Returns a copy of 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 ExportActiveBlock

    source§

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

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

    impl<'de> Deserialize<'de> for ExportActiveBlock

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

    source§

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

    §Example:
    @@ -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>, @@ -216,6 +216,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_consensus_exports/settings/struct.ConsensusConfig.html b/massa_consensus_exports/settings/struct.ConsensusConfig.html index 999bd25bd26..46c31094703 100644 --- a/massa_consensus_exports/settings/struct.ConsensusConfig.html +++ b/massa_consensus_exports/settings/struct.ConsensusConfig.html @@ -49,9 +49,9 @@ §broadcast_filled_blocks_channel_capacity: usize

    filled blocks channel capacity

    §last_start_period: u64

    last start period

    §chain_id: u64

    chain id

    -

    Trait Implementations§

    source§

    impl Clone for ConsensusConfig

    source§

    fn clone(&self) -> ConsensusConfig

    Returns a copy of 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 ConsensusConfig

    source§

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

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

    impl<'de> Deserialize<'de> for ConsensusConfig

    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 Serialize for ConsensusConfig

    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§

    §

    impl Freeze for ConsensusConfig

    §

    impl RefUnwindSafe for ConsensusConfig

    §

    impl Send for ConsensusConfig

    §

    impl Sync for ConsensusConfig

    §

    impl Unpin for ConsensusConfig

    §

    impl UnwindSafe for ConsensusConfig

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ConsensusConfig

    source§

    fn clone(&self) -> ConsensusConfig

    Returns a copy of 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 ConsensusConfig

    source§

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

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

    impl<'de> Deserialize<'de> for ConsensusConfig

    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 Serialize for ConsensusConfig

    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, ) -> <T as Pointee>::Metadata

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

    impl<T> Borrow<T> for T
    where @@ -166,6 +166,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_consensus_exports/struct.ConsensusConfig.html b/massa_consensus_exports/struct.ConsensusConfig.html index b2a2312dd1c..4349d24b6aa 100644 --- a/massa_consensus_exports/struct.ConsensusConfig.html +++ b/massa_consensus_exports/struct.ConsensusConfig.html @@ -49,9 +49,9 @@ §broadcast_filled_blocks_channel_capacity: usize

    filled blocks channel capacity

    §last_start_period: u64

    last start period

    §chain_id: u64

    chain id

    -

    Trait Implementations§

    source§

    impl Clone for ConsensusConfig

    source§

    fn clone(&self) -> ConsensusConfig

    Returns a copy of 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 ConsensusConfig

    source§

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

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

    impl<'de> Deserialize<'de> for ConsensusConfig

    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 Serialize for ConsensusConfig

    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§

    §

    impl Freeze for ConsensusConfig

    §

    impl RefUnwindSafe for ConsensusConfig

    §

    impl Send for ConsensusConfig

    §

    impl Sync for ConsensusConfig

    §

    impl Unpin for ConsensusConfig

    §

    impl UnwindSafe for ConsensusConfig

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ConsensusConfig

    source§

    fn clone(&self) -> ConsensusConfig

    Returns a copy of 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 ConsensusConfig

    source§

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

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

    impl<'de> Deserialize<'de> for ConsensusConfig

    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 Serialize for ConsensusConfig

    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, ) -> <T as Pointee>::Metadata

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

    impl<T> Borrow<T> for T
    where @@ -166,6 +166,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_deferred_calls/call/struct.DeferredCall.html b/massa_deferred_calls/call/struct.DeferredCall.html index a3295b2ea07..9332faad32d 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>, @@ -141,5 +141,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_deferred_calls/config/struct.DeferredCallsConfig.html b/massa_deferred_calls/config/struct.DeferredCallsConfig.html index 9f693f09d44..fee7cf55ff0 100644 --- a/massa_deferred_calls/config/struct.DeferredCallsConfig.html +++ b/massa_deferred_calls/config/struct.DeferredCallsConfig.html @@ -22,8 +22,8 @@ §global_overbooking_penalty: Amount

    global overbooking penalty

    §slot_overbooking_penalty: Amount

    slot overbooking penalty

    §max_parameter_size: u32

    max parameter size

    -
    §max_pool_changes: u64§max_gas: u64§ledger_cost_per_byte: Amount

    Trait Implementations§

    source§

    impl Clone for DeferredCallsConfig

    source§

    fn clone(&self) -> DeferredCallsConfig

    Returns a copy of 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 DeferredCallsConfig

    source§

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

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

    impl Default for DeferredCallsConfig

    source§

    fn default() -> Self

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

    impl<'de> Deserialize<'de> for DeferredCallsConfig

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

    Auto Trait Implementations§

    §

    impl Freeze for DeferredCallsConfig

    §

    impl RefUnwindSafe for DeferredCallsConfig

    §

    impl Send for DeferredCallsConfig

    §

    impl Sync for DeferredCallsConfig

    §

    impl Unpin for DeferredCallsConfig

    §

    impl UnwindSafe for DeferredCallsConfig

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +
    §max_pool_changes: u64§max_gas: u64§ledger_cost_per_byte: Amount

    Trait Implementations§

    source§

    impl Clone for DeferredCallsConfig

    source§

    fn clone(&self) -> DeferredCallsConfig

    Returns a copy of 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 DeferredCallsConfig

    source§

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

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

    impl Default for DeferredCallsConfig

    source§

    fn default() -> Self

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

    impl<'de> Deserialize<'de> for DeferredCallsConfig

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

    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 @@ -122,5 +122,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_deferred_calls/registry_changes/struct.DeferredCallRegistryChanges.html b/massa_deferred_calls/registry_changes/struct.DeferredCallRegistryChanges.html index 0840f74eca2..17a95975d48 100644 --- a/massa_deferred_calls/registry_changes/struct.DeferredCallRegistryChanges.html +++ b/massa_deferred_calls/registry_changes/struct.DeferredCallRegistryChanges.html @@ -6,12 +6,12 @@ &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 - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<DeferredCallRegistryChanges> for DeferredRegistryChangesSerializer

    source§

    fn serialize( +) -> 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 + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<DeferredCallRegistryChanges> for DeferredRegistryChangesSerializer

    source§

    fn serialize( &self, value: &DeferredCallRegistryChanges, buffer: &mut Vec<u8>, @@ -113,5 +113,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_deferred_calls/slot_changes/struct.DeferredRegistrySlotChanges.html b/massa_deferred_calls/slot_changes/struct.DeferredRegistrySlotChanges.html index 4ab35b08178..dea4d70eaba 100644 --- a/massa_deferred_calls/slot_changes/struct.DeferredRegistrySlotChanges.html +++ b/massa_deferred_calls/slot_changes/struct.DeferredRegistrySlotChanges.html @@ -3,12 +3,12 @@ pub effective_slot_gas: DeferredRegistryGasChange<u64>, pub base_fee: DeferredRegistryBaseFeeChange, }

    Fields§

    §calls: BTreeMap<DeferredCallId, DeferredRegistryCallChange>§effective_slot_gas: DeferredRegistryGasChange<u64>§base_fee: DeferredRegistryBaseFeeChange

    Implementations§

    source§

    impl DeferredRegistrySlotChanges

    source

    pub fn calls_len(&self) -> usize

    source

    pub fn delete_call(&mut self, id: &DeferredCallId)

    add Delete changes will delete the call from the db registry when the slot is finalized

    -
    source

    pub fn set_call(&mut self, id: DeferredCallId, call: DeferredCall)

    source

    pub fn get_call(&self, id: &DeferredCallId) -> Option<&DeferredCall>

    source

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

    source

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

    source

    pub fn get_base_fee(&self) -> Option<Amount>

    source

    pub fn set_base_fee(&mut self, base_fee: Amount)

    Trait Implementations§

    source§

    impl Clone for DeferredRegistrySlotChanges

    source§

    fn clone(&self) -> DeferredRegistrySlotChanges

    Returns a copy of 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 DeferredRegistrySlotChanges

    source§

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

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

    impl Default for DeferredRegistrySlotChanges

    source§

    fn default() -> DeferredRegistrySlotChanges

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

    impl<'de> Deserialize<'de> for DeferredRegistrySlotChanges

    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<DeferredRegistrySlotChanges> for DeferredRegistrySlotChangesDeserializer

    source§

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

    source

    pub fn set_call(&mut self, id: DeferredCallId, call: DeferredCall)

    source

    pub fn get_call(&self, id: &DeferredCallId) -> Option<&DeferredCall>

    source

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

    source

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

    source

    pub fn get_base_fee(&self) -> Option<Amount>

    source

    pub fn set_base_fee(&mut self, base_fee: Amount)

    Trait Implementations§

    source§

    impl Clone for DeferredRegistrySlotChanges

    source§

    fn clone(&self) -> DeferredRegistrySlotChanges

    Returns a copy of 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 DeferredRegistrySlotChanges

    source§

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

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

    impl Default for DeferredRegistrySlotChanges

    source§

    fn default() -> DeferredRegistrySlotChanges

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

    impl<'de> Deserialize<'de> for DeferredRegistrySlotChanges

    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<DeferredRegistrySlotChanges> for DeferredRegistrySlotChangesDeserializer

    source§

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

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

    impl Serialize for DeferredRegistrySlotChanges

    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<DeferredRegistrySlotChanges> for DeferredRegistrySlotChangesSerializer

    source§

    fn serialize( +) -> IResult<&'a [u8], DeferredRegistrySlotChanges, E>

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

    impl Serialize for DeferredRegistrySlotChanges

    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<DeferredRegistrySlotChanges> for DeferredRegistrySlotChangesSerializer

    source§

    fn serialize( &self, value: &DeferredRegistrySlotChanges, buffer: &mut Vec<u8>, @@ -110,5 +110,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_deferred_calls/struct.DeferredCall.html b/massa_deferred_calls/struct.DeferredCall.html index a0f68001344..f38a2934592 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>, @@ -141,5 +141,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_execution_exports/enum.ExecutionError.html b/massa_execution_exports/enum.ExecutionError.html index 98d7824d49e..3faecda08d3 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§

    §

    impl Freeze for ExecutionError

    §

    impl RefUnwindSafe for ExecutionError

    §

    impl Send for ExecutionError

    §

    impl Sync for ExecutionError

    §

    impl Unpin for ExecutionError

    §

    impl UnwindSafe for ExecutionError

    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§

    §

    impl Freeze for ExecutionError

    §

    impl RefUnwindSafe for ExecutionError

    §

    impl Send for ExecutionError

    §

    impl Sync for ExecutionError

    §

    impl Unpin for ExecutionError

    §

    impl UnwindSafe for ExecutionError

    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..d200deb2abf 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.ExecutionQueryExecutionStatus.html b/massa_execution_exports/enum.ExecutionQueryExecutionStatus.html index eb444a2f7d7..3374a09253f 100644 --- a/massa_execution_exports/enum.ExecutionQueryExecutionStatus.html +++ b/massa_execution_exports/enum.ExecutionQueryExecutionStatus.html @@ -1,4 +1,4 @@ -ExecutionQueryExecutionStatus in massa_execution_exports - Rust
    pub enum ExecutionQueryExecutionStatus {
    +ExecutionQueryExecutionStatus in massa_execution_exports - Rust
    pub enum ExecutionQueryExecutionStatus {
         AlreadyExecutedWithSuccess,
         AlreadyExecutedWithFailure,
         ExecutableOrExpired,
    diff --git a/massa_execution_exports/enum.ExecutionQueryRequestItem.html b/massa_execution_exports/enum.ExecutionQueryRequestItem.html
    index f859de38fd1..05f9411fb39 100644
    --- a/massa_execution_exports/enum.ExecutionQueryRequestItem.html
    +++ b/massa_execution_exports/enum.ExecutionQueryRequestItem.html
    @@ -1,4 +1,4 @@
    -ExecutionQueryRequestItem in massa_execution_exports - Rust
    pub enum ExecutionQueryRequestItem {
    +ExecutionQueryRequestItem in massa_execution_exports - Rust
    pub enum ExecutionQueryRequestItem {
     
    Show 23 variants AddressExistsCandidate(Address), AddressExistsFinal(Address), AddressBalanceCandidate(Address), @@ -6,12 +6,18 @@ AddressBytecodeCandidate(Address), AddressBytecodeFinal(Address), AddressDatastoreKeysCandidate { - addr: Address, + address: Address, prefix: Vec<u8>, + start_key: Bound<Vec<u8>>, + end_key: Bound<Vec<u8>>, + count: Option<u32>, }, AddressDatastoreKeysFinal { - addr: Address, + address: Address, prefix: Vec<u8>, + start_key: Bound<Vec<u8>>, + end_key: Bound<Vec<u8>>, + count: Option<u32>, }, AddressDatastoreValueCandidate { addr: Address, @@ -48,12 +54,18 @@
    §

    AddressBalanceFinal(Address)

    gets the balance (final) of an address, returns ExecutionQueryResponseItem::Amount(balance) or an error if the address is not found

    §

    AddressBytecodeCandidate(Address)

    gets the bytecode (candidate) of an address, returns ExecutionQueryResponseItem::Bytecode(bytecode) or an error if the address is not found

    §

    AddressBytecodeFinal(Address)

    gets the bytecode (final) of an address, returns ExecutionQueryResponseItem::Bytecode(bytecode) or an error if the address is not found

    -
    §

    AddressDatastoreKeysCandidate

    gets the datastore keys (candidate) of an address, returns ExecutionQueryResponseItem::KeyList(keys) or an error if the address is not found

    -

    Fields

    §addr: Address

    Address for which to query the datastore

    +
    §

    AddressDatastoreKeysCandidate

    gets the datastore keys (candidate) of an address, returns ExecutionQueryResponseItem::AddressDatastoreKeys(keys, addr, is_final) or an error if the address is not found

    +

    Fields

    §address: Address

    Address for which to query the datastore

    §prefix: Vec<u8>

    Filter only entries whose key starts with a prefix

    -
    §

    AddressDatastoreKeysFinal

    gets the datastore keys (final) of an address, returns ExecutionQueryResponseItem::KeyList(keys) or an error if the address is not found

    -

    Fields

    §addr: Address

    Address for which to query the datastore

    +
    §start_key: Bound<Vec<u8>>

    Bound to start from

    +
    §end_key: Bound<Vec<u8>>

    End bound

    +
    §count: Option<u32>

    Maximum number of keys to return

    +
    §

    AddressDatastoreKeysFinal

    gets the datastore keys (final) of an address, returns ExecutionQueryResponseItem::AddressDatastoreKeys(keys, addr, is_final) or an error if the address is not found

    +

    Fields

    §address: Address

    Address for which to query the datastore

    §prefix: Vec<u8>

    Filter only entries whose key starts with a prefix

    +
    §start_key: Bound<Vec<u8>>

    Bound to start from

    +
    §end_key: Bound<Vec<u8>>

    End bound

    +
    §count: Option<u32>

    Maximum number of keys to return

    §

    AddressDatastoreValueCandidate

    gets a datastore value (candidate) for an address, returns ExecutionQueryResponseItem::DatastoreValue(keys) or an error if the address or key is not found

    Fields

    §addr: Address

    Address for which to query the datastore

    §key: Vec<u8>

    Key of the entry

    diff --git a/massa_execution_exports/enum.ExecutionQueryResponseItem.html b/massa_execution_exports/enum.ExecutionQueryResponseItem.html index a64675a947d..460e025e848 100644 --- a/massa_execution_exports/enum.ExecutionQueryResponseItem.html +++ b/massa_execution_exports/enum.ExecutionQueryResponseItem.html @@ -1,10 +1,10 @@ -ExecutionQueryResponseItem in massa_execution_exports - Rust
    pub enum ExecutionQueryResponseItem {
    +ExecutionQueryResponseItem in massa_execution_exports - Rust
    pub enum ExecutionQueryResponseItem {
     
    Show 13 variants Boolean(bool), RollCount(u64), Amount(Amount), Bytecode(Bytecode), DatastoreValue(Vec<u8>), - KeyList(BTreeSet<Vec<u8>>), + AddressDatastoreKeys(BTreeSet<Vec<u8>>, Address, bool), DeferredCallQuote(Slot, u64, bool, Amount), DeferredCallInfo(DeferredCallId, DeferredCall), DeferredCallsBySlot(Slot, Vec<DeferredCallId>), @@ -18,7 +18,7 @@
    §

    Amount(Amount)

    amount value

    §

    Bytecode(Bytecode)

    bytecode

    §

    DatastoreValue(Vec<u8>)

    datastore value

    -
    §

    KeyList(BTreeSet<Vec<u8>>)

    list of keys

    +
    §

    AddressDatastoreKeys(BTreeSet<Vec<u8>>, Address, bool)

    list of keys (keys, address, is_final)

    §

    DeferredCallQuote(Slot, u64, bool, Amount)

    deferred call quote (target_slot, gas_request, available, price)

    §

    DeferredCallInfo(DeferredCallId, DeferredCall)

    deferred call info value

    §

    DeferredCallsBySlot(Slot, Vec<DeferredCallId>)

    deferred call slot calls value

    diff --git a/massa_execution_exports/enum.ReadOnlyExecutionTarget.html b/massa_execution_exports/enum.ReadOnlyExecutionTarget.html index e66de0dcfaf..a0294ce5228 100644 --- a/massa_execution_exports/enum.ReadOnlyExecutionTarget.html +++ b/massa_execution_exports/enum.ReadOnlyExecutionTarget.html @@ -1,4 +1,4 @@ -ReadOnlyExecutionTarget in massa_execution_exports - Rust
    pub enum ReadOnlyExecutionTarget {
    +ReadOnlyExecutionTarget in massa_execution_exports - Rust
    pub enum ReadOnlyExecutionTarget {
         BytecodeExecution(Vec<u8>),
         FunctionCall {
             target_addr: Address,
    @@ -11,7 +11,7 @@
     

    Fields

    §target_addr: Address

    Target address

    §target_func: String

    Target function

    §parameter: Vec<u8>

    Parameter to pass to the target function

    -

    Trait Implementations§

    source§

    impl Clone for ReadOnlyExecutionTarget

    source§

    fn clone(&self) -> ReadOnlyExecutionTarget

    Returns a copy of 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 ReadOnlyExecutionTarget

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ReadOnlyExecutionTarget

    source§

    fn clone(&self) -> ReadOnlyExecutionTarget

    Returns a copy of 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 ReadOnlyExecutionTarget

    source§

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

    Formats the value using the given formatter. 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, ) -> <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..05d4307cdf3 100644 --- a/massa_execution_exports/enum.SlotExecutionOutput.html +++ b/massa_execution_exports/enum.SlotExecutionOutput.html @@ -1,10 +1,10 @@ -SlotExecutionOutput in massa_execution_exports - Rust
    pub enum SlotExecutionOutput {
    +SlotExecutionOutput in massa_execution_exports - Rust
    pub enum SlotExecutionOutput {
         ExecutedSlot(ExecutionOutput),
         FinalizedSlot(ExecutionOutput),
     }
    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 2a0b521ad8d..8d273135bb4 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..f4da6d3760e 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/event_store/struct.EventStore.html b/massa_execution_exports/event_store/struct.EventStore.html index bb752df857d..ff2eeea87d5 100644 --- a/massa_execution_exports/event_store/struct.EventStore.html +++ b/massa_execution_exports/event_store/struct.EventStore.html @@ -21,8 +21,8 @@ &'a self, filter: &'b EventFilter, ) -> impl Iterator<Item = &'a SCOutputEvent> + 'b

    Get events iterator optionally filtered by given EventFilter

    -

    Trait Implementations§

    source§

    impl Clone for EventStore

    source§

    fn clone(&self) -> EventStore

    Returns a copy of 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 EventStore

    source§

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

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

    impl Default for EventStore

    source§

    fn default() -> EventStore

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

    impl Serialize for EventStore

    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 +

    Trait Implementations§

    source§

    impl Clone for EventStore

    source§

    fn clone(&self) -> EventStore

    Returns a copy of 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 EventStore

    source§

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

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

    impl Default for EventStore

    source§

    fn default() -> EventStore

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

    impl Serialize for EventStore

    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§

    §

    impl Freeze for EventStore

    §

    impl RefUnwindSafe for EventStore

    §

    impl Send for EventStore

    §

    impl Sync for EventStore

    §

    impl Unpin for EventStore

    §

    impl UnwindSafe for EventStore

    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..f962920c102 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..b567e2078ab 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..3653eb91388 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..e9ff4f15a58 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..cbedd228232 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..b60d973379b 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,6 @@ -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,
    +    max_datastore_query_config: Option<u32>,
    +    max_datastore_key_length: u8,
     ) -> 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..20eb0e30a13 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/struct.EventStore.html b/massa_execution_exports/struct.EventStore.html index 65708015249..3c83fe03e81 100644 --- a/massa_execution_exports/struct.EventStore.html +++ b/massa_execution_exports/struct.EventStore.html @@ -21,8 +21,8 @@ &'a self, filter: &'b EventFilter, ) -> impl Iterator<Item = &'a SCOutputEvent> + 'b

    Get events iterator optionally filtered by given EventFilter

    -

    Trait Implementations§

    source§

    impl Clone for EventStore

    source§

    fn clone(&self) -> EventStore

    Returns a copy of 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 EventStore

    source§

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

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

    impl Default for EventStore

    source§

    fn default() -> EventStore

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

    impl Serialize for EventStore

    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§

    §

    impl Freeze for EventStore

    §

    impl RefUnwindSafe for EventStore

    §

    impl Send for EventStore

    §

    impl Sync for EventStore

    §

    impl Unpin for EventStore

    §

    impl UnwindSafe for EventStore

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for EventStore

    source§

    fn clone(&self) -> EventStore

    Returns a copy of 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 EventStore

    source§

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

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

    impl Default for EventStore

    source§

    fn default() -> EventStore

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

    impl Serialize for EventStore

    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§

    §

    impl Freeze for EventStore

    §

    impl RefUnwindSafe for EventStore

    §

    impl Send for EventStore

    §

    impl Sync for EventStore

    §

    impl Unpin for EventStore

    §

    impl UnwindSafe for EventStore

    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/struct.ExecutedBlockInfo.html b/massa_execution_exports/struct.ExecutedBlockInfo.html index aadc5dd2611..45270465fbf 100644 --- a/massa_execution_exports/struct.ExecutedBlockInfo.html +++ b/massa_execution_exports/struct.ExecutedBlockInfo.html @@ -1,4 +1,4 @@ -ExecutedBlockInfo in massa_execution_exports - Rust

    Struct massa_execution_exports::ExecutedBlockInfo

    source ·
    pub struct ExecutedBlockInfo {
    +ExecutedBlockInfo in massa_execution_exports - Rust

    Struct massa_execution_exports::ExecutedBlockInfo

    source ·
    pub struct ExecutedBlockInfo {
         pub block_id: BlockId,
         pub current_version: u32,
         pub announced_version: Option<u32>,
    @@ -6,8 +6,8 @@
     

    Fields§

    §block_id: BlockId

    Block id

    §current_version: u32

    Current network version (see Versioning doc)

    §announced_version: Option<u32>

    Announced network version (see Versioning doc)

    -

    Trait Implementations§

    source§

    impl Clone for ExecutedBlockInfo

    source§

    fn clone(&self) -> ExecutedBlockInfo

    Returns a copy of 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 ExecutedBlockInfo

    source§

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

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

    impl Serialize for ExecutedBlockInfo

    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 +

    Trait Implementations§

    source§

    impl Clone for ExecutedBlockInfo

    source§

    fn clone(&self) -> ExecutedBlockInfo

    Returns a copy of 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 ExecutedBlockInfo

    source§

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

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

    impl Serialize for ExecutedBlockInfo

    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, ) -> <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/struct.ExecutionAddressInfo.html b/massa_execution_exports/struct.ExecutionAddressInfo.html index 4621ffcc904..1a457bc00af 100644 --- a/massa_execution_exports/struct.ExecutionAddressInfo.html +++ b/massa_execution_exports/struct.ExecutionAddressInfo.html @@ -1,4 +1,4 @@ -ExecutionAddressInfo in massa_execution_exports - Rust
    pub struct ExecutionAddressInfo {
    +ExecutionAddressInfo in massa_execution_exports - Rust
    pub struct ExecutionAddressInfo {
         pub candidate_balance: Amount,
         pub final_balance: Amount,
         pub final_roll_count: u64,
    @@ -16,7 +16,7 @@
     
    §candidate_datastore_keys: BTreeSet<Vec<u8>>

    candidate datastore keys of the address

    §future_deferred_credits: BTreeMap<Slot, Amount>

    future deferred credits

    §cycle_infos: Vec<ExecutionAddressCycleInfo>

    cycle information

    -

    Trait Implementations§

    source§

    impl Clone for ExecutionAddressInfo

    source§

    fn clone(&self) -> ExecutionAddressInfo

    Returns a copy of 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 ExecutionAddressInfo

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ExecutionAddressInfo

    source§

    fn clone(&self) -> ExecutionAddressInfo

    Returns a copy of 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 ExecutionAddressInfo

    source§

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

    Formats the value using the given formatter. 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, ) -> <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/struct.ExecutionBlockMetadata.html b/massa_execution_exports/struct.ExecutionBlockMetadata.html index 6f62450426d..9686d1ebab1 100644 --- a/massa_execution_exports/struct.ExecutionBlockMetadata.html +++ b/massa_execution_exports/struct.ExecutionBlockMetadata.html @@ -1,10 +1,10 @@ -ExecutionBlockMetadata in massa_execution_exports - Rust
    pub struct ExecutionBlockMetadata {
    +ExecutionBlockMetadata in massa_execution_exports - Rust
    pub struct ExecutionBlockMetadata {
         pub same_thread_parent_creator: Option<Address>,
         pub storage: Option<Storage>,
     }
    Expand description

    Metadata needed to execute the block

    Fields§

    §same_thread_parent_creator: Option<Address>

    Address of the creator of the parent in the same thread

    §storage: Option<Storage>

    Storage referencing the block and its contents

    -

    Trait Implementations§

    source§

    impl Clone for ExecutionBlockMetadata

    source§

    fn clone(&self) -> ExecutionBlockMetadata

    Returns a copy of 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 ExecutionBlockMetadata

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ExecutionBlockMetadata

    source§

    fn clone(&self) -> ExecutionBlockMetadata

    Returns a copy of 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 ExecutionBlockMetadata

    source§

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

    Formats the value using the given formatter. 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, ) -> <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/struct.ExecutionOutput.html b/massa_execution_exports/struct.ExecutionOutput.html index 1c23bcf81bc..bd45e62e31f 100644 --- a/massa_execution_exports/struct.ExecutionOutput.html +++ b/massa_execution_exports/struct.ExecutionOutput.html @@ -1,4 +1,4 @@ -ExecutionOutput in massa_execution_exports - Rust

    Struct massa_execution_exports::ExecutionOutput

    source ·
    pub struct ExecutionOutput {
    +ExecutionOutput in massa_execution_exports - Rust

    Struct massa_execution_exports::ExecutionOutput

    source ·
    pub struct ExecutionOutput {
         pub slot: Slot,
         pub block_info: Option<ExecutedBlockInfo>,
         pub state_changes: StateChanges,
    @@ -14,8 +14,8 @@
     
    §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 - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    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, ) -> <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/struct.ExecutionQueryCycleInfos.html b/massa_execution_exports/struct.ExecutionQueryCycleInfos.html index 2e31baa6bc5..9f88033b067 100644 --- a/massa_execution_exports/struct.ExecutionQueryCycleInfos.html +++ b/massa_execution_exports/struct.ExecutionQueryCycleInfos.html @@ -1,4 +1,4 @@ -ExecutionQueryCycleInfos in massa_execution_exports - Rust
    pub struct ExecutionQueryCycleInfos {
    +ExecutionQueryCycleInfos in massa_execution_exports - Rust
    pub struct ExecutionQueryCycleInfos {
         pub cycle: u64,
         pub is_final: bool,
         pub staker_infos: BTreeMap<Address, ExecutionQueryStakerInfo>,
    diff --git a/massa_execution_exports/struct.ExecutionQueryRequest.html b/massa_execution_exports/struct.ExecutionQueryRequest.html
    index 2ec0c5cf0cf..38069754d5b 100644
    --- a/massa_execution_exports/struct.ExecutionQueryRequest.html
    +++ b/massa_execution_exports/struct.ExecutionQueryRequest.html
    @@ -1,4 +1,4 @@
    -ExecutionQueryRequest in massa_execution_exports - Rust
    pub struct ExecutionQueryRequest {
    +ExecutionQueryRequest in massa_execution_exports - Rust
    pub struct ExecutionQueryRequest {
         pub requests: Vec<ExecutionQueryRequestItem>,
     }
    Expand description

    Request to atomically execute a batch of execution state queries

    Fields§

    §requests: Vec<ExecutionQueryRequestItem>

    List of requests

    diff --git a/massa_execution_exports/struct.ExecutionQueryResponse.html b/massa_execution_exports/struct.ExecutionQueryResponse.html index 3301c309950..7bd7cdd8dd2 100644 --- a/massa_execution_exports/struct.ExecutionQueryResponse.html +++ b/massa_execution_exports/struct.ExecutionQueryResponse.html @@ -1,4 +1,4 @@ -ExecutionQueryResponse in massa_execution_exports - Rust
    pub struct ExecutionQueryResponse {
    +ExecutionQueryResponse in massa_execution_exports - Rust
    pub struct ExecutionQueryResponse {
         pub responses: Vec<Result<ExecutionQueryResponseItem, ExecutionQueryError>>,
         pub candidate_cursor: Slot,
         pub final_cursor: Slot,
    diff --git a/massa_execution_exports/struct.ExecutionQueryStakerInfo.html b/massa_execution_exports/struct.ExecutionQueryStakerInfo.html
    index e0a7a62910e..6df39264caf 100644
    --- a/massa_execution_exports/struct.ExecutionQueryStakerInfo.html
    +++ b/massa_execution_exports/struct.ExecutionQueryStakerInfo.html
    @@ -1,4 +1,4 @@
    -ExecutionQueryStakerInfo in massa_execution_exports - Rust
    pub struct ExecutionQueryStakerInfo {
    +ExecutionQueryStakerInfo in massa_execution_exports - Rust
    pub struct ExecutionQueryStakerInfo {
         pub active_rolls: u64,
         pub production_stats: ProductionStats,
     }
    Expand description

    Staker information for a given cycle

    diff --git a/massa_execution_exports/struct.ExecutionStackElement.html b/massa_execution_exports/struct.ExecutionStackElement.html index 53f4117769b..73e26bb3a23 100644 --- a/massa_execution_exports/struct.ExecutionStackElement.html +++ b/massa_execution_exports/struct.ExecutionStackElement.html @@ -1,4 +1,4 @@ -ExecutionStackElement in massa_execution_exports - Rust
    pub struct ExecutionStackElement {
    +ExecutionStackElement in massa_execution_exports - Rust
    pub struct ExecutionStackElement {
         pub address: Address,
         pub coins: Amount,
         pub owned_addresses: Vec<Address>,
    @@ -20,7 +20,7 @@
     Note that we use a vector instead of a pre-hashed set to ensure order determinism,
     the performance hit of linear search remains minimal because owned_addresses will always contain very few elements.

    §operation_datastore: Option<Datastore>

    Datastore (key value store) for ExecuteSC Operation

    -

    Trait Implementations§

    source§

    impl Clone for ExecutionStackElement

    source§

    fn clone(&self) -> ExecutionStackElement

    Returns a copy of 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 ExecutionStackElement

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ExecutionStackElement

    source§

    fn clone(&self) -> ExecutionStackElement

    Returns a copy of 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 ExecutionStackElement

    source§

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

    Formats the value using the given formatter. 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, ) -> <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/struct.GasCosts.html b/massa_execution_exports/struct.GasCosts.html index 0d3cc57456c..1c13c195cfa 100644 --- a/massa_execution_exports/struct.GasCosts.html +++ b/massa_execution_exports/struct.GasCosts.html @@ -5,7 +5,7 @@ pub cl_compilation_cost: u64, pub sp_compilation_cost: u64, pub max_instance_cost: u64, -}

    Fields§

    §abi_costs: HashMap<String, u64>§launch_cost: u64§operator_cost: u64§cl_compilation_cost: u64§sp_compilation_cost: u64§max_instance_cost: u64

    Implementations§

    §

    impl GasCosts

    pub fn new(abi_cost_file: PathBuf) -> Result<GasCosts, Error>

    pub fn get_abi_costs(&self) -> &HashMap<String, u64>

    Trait Implementations§

    §

    impl Clone for GasCosts

    §

    fn clone(&self) -> GasCosts

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

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

    Performs copy-assignment from source. Read more
    §

    impl Debug for GasCosts

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for GasCosts

    §

    fn default() -> GasCosts

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

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +}

    Fields§

    §abi_costs: HashMap<String, u64>§launch_cost: u64§operator_cost: u64§cl_compilation_cost: u64§sp_compilation_cost: u64§max_instance_cost: u64

    Implementations§

    §

    impl GasCosts

    pub fn new(abi_cost_file: PathBuf) -> Result<GasCosts, Error>

    pub fn get_abi_costs(&self) -> &HashMap<String, u64>

    Trait Implementations§

    §

    impl Clone for GasCosts

    §

    fn clone(&self) -> GasCosts

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

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

    Performs copy-assignment from source. Read more
    §

    impl Debug for GasCosts

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for GasCosts

    §

    fn default() -> GasCosts

    Returns the “default value” for a type. 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, ) -> <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/struct.ReadOnlyCallRequest.html b/massa_execution_exports/struct.ReadOnlyCallRequest.html index 9dd50817b2c..e9d1e542bdc 100644 --- a/massa_execution_exports/struct.ReadOnlyCallRequest.html +++ b/massa_execution_exports/struct.ReadOnlyCallRequest.html @@ -1,4 +1,4 @@ -ReadOnlyCallRequest in massa_execution_exports - Rust

    Struct massa_execution_exports::ReadOnlyCallRequest

    source ·
    pub struct ReadOnlyCallRequest {
    +ReadOnlyCallRequest in massa_execution_exports - Rust

    Struct massa_execution_exports::ReadOnlyCallRequest

    source ·
    pub struct ReadOnlyCallRequest {
         pub max_gas: u64,
         pub call_stack: Vec<ExecutionStackElement>,
         pub target_addr: Address,
    @@ -13,7 +13,7 @@
     
    §parameter: String

    Parameter to pass to the target function

    §is_final: bool

    execution start state

    Whether to start execution from final or active state

    -

    Trait Implementations§

    source§

    impl Clone for ReadOnlyCallRequest

    source§

    fn clone(&self) -> ReadOnlyCallRequest

    Returns a copy of 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 ReadOnlyCallRequest

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ReadOnlyCallRequest

    source§

    fn clone(&self) -> ReadOnlyCallRequest

    Returns a copy of 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 ReadOnlyCallRequest

    source§

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

    Formats the value using the given formatter. 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, ) -> <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/struct.ReadOnlyExecutionOutput.html b/massa_execution_exports/struct.ReadOnlyExecutionOutput.html index b6af6b41cf0..0d9de23b60a 100644 --- a/massa_execution_exports/struct.ReadOnlyExecutionOutput.html +++ b/massa_execution_exports/struct.ReadOnlyExecutionOutput.html @@ -1,4 +1,4 @@ -ReadOnlyExecutionOutput in massa_execution_exports - Rust
    pub struct ReadOnlyExecutionOutput {
    +ReadOnlyExecutionOutput in massa_execution_exports - Rust
    pub struct ReadOnlyExecutionOutput {
         pub out: ExecutionOutput,
         pub gas_cost: u64,
         pub call_result: Vec<u8>,
    @@ -6,7 +6,7 @@
     

    Fields§

    §out: ExecutionOutput

    Output of a single execution

    §gas_cost: u64

    Gas cost for this execution, with needed adjustments

    §call_result: Vec<u8>

    Returned value from the module call

    -

    Trait Implementations§

    source§

    impl Clone for ReadOnlyExecutionOutput

    source§

    fn clone(&self) -> ReadOnlyExecutionOutput

    Returns a copy of 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 ReadOnlyExecutionOutput

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ReadOnlyExecutionOutput

    source§

    fn clone(&self) -> ReadOnlyExecutionOutput

    Returns a copy of 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 ReadOnlyExecutionOutput

    source§

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

    Formats the value using the given formatter. 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, ) -> <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/struct.ReadOnlyExecutionRequest.html b/massa_execution_exports/struct.ReadOnlyExecutionRequest.html index ed2ff8278d1..4f724d20014 100644 --- a/massa_execution_exports/struct.ReadOnlyExecutionRequest.html +++ b/massa_execution_exports/struct.ReadOnlyExecutionRequest.html @@ -1,4 +1,4 @@ -ReadOnlyExecutionRequest in massa_execution_exports - Rust
    pub struct ReadOnlyExecutionRequest {
    +ReadOnlyExecutionRequest in massa_execution_exports - Rust
    pub struct ReadOnlyExecutionRequest {
         pub max_gas: u64,
         pub call_stack: Vec<ExecutionStackElement>,
         pub target: ReadOnlyExecutionTarget,
    @@ -10,7 +10,7 @@
     
    §target: ReadOnlyExecutionTarget

    Target of the request

    §coins: Option<Amount>

    Coins transferred to the target address during the call

    §fee: Option<Amount>

    Fee

    -

    Trait Implementations§

    source§

    impl Clone for ReadOnlyExecutionRequest

    source§

    fn clone(&self) -> ReadOnlyExecutionRequest

    Returns a copy of 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 ReadOnlyExecutionRequest

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ReadOnlyExecutionRequest

    source§

    fn clone(&self) -> ReadOnlyExecutionRequest

    Returns a copy of 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 ReadOnlyExecutionRequest

    source§

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

    Formats the value using the given formatter. 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, ) -> <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/enum.ExecutionQueryExecutionStatus.html b/massa_execution_exports/types/enum.ExecutionQueryExecutionStatus.html index 9a5f38c7ecf..35b00a5136d 100644 --- a/massa_execution_exports/types/enum.ExecutionQueryExecutionStatus.html +++ b/massa_execution_exports/types/enum.ExecutionQueryExecutionStatus.html @@ -1,4 +1,4 @@ -ExecutionQueryExecutionStatus in massa_execution_exports::types - Rust
    pub enum ExecutionQueryExecutionStatus {
    +ExecutionQueryExecutionStatus in massa_execution_exports::types - Rust
    pub enum ExecutionQueryExecutionStatus {
         AlreadyExecutedWithSuccess,
         AlreadyExecutedWithFailure,
         ExecutableOrExpired,
    diff --git a/massa_execution_exports/types/enum.ExecutionQueryRequestItem.html b/massa_execution_exports/types/enum.ExecutionQueryRequestItem.html
    index 4d14e977bed..459a4d72b89 100644
    --- a/massa_execution_exports/types/enum.ExecutionQueryRequestItem.html
    +++ b/massa_execution_exports/types/enum.ExecutionQueryRequestItem.html
    @@ -1,4 +1,4 @@
    -ExecutionQueryRequestItem in massa_execution_exports::types - Rust
    pub enum ExecutionQueryRequestItem {
    +ExecutionQueryRequestItem in massa_execution_exports::types - Rust
    pub enum ExecutionQueryRequestItem {
     
    Show 23 variants AddressExistsCandidate(Address), AddressExistsFinal(Address), AddressBalanceCandidate(Address), @@ -6,12 +6,18 @@ AddressBytecodeCandidate(Address), AddressBytecodeFinal(Address), AddressDatastoreKeysCandidate { - addr: Address, + address: Address, prefix: Vec<u8>, + start_key: Bound<Vec<u8>>, + end_key: Bound<Vec<u8>>, + count: Option<u32>, }, AddressDatastoreKeysFinal { - addr: Address, + address: Address, prefix: Vec<u8>, + start_key: Bound<Vec<u8>>, + end_key: Bound<Vec<u8>>, + count: Option<u32>, }, AddressDatastoreValueCandidate { addr: Address, @@ -48,12 +54,18 @@
    §

    AddressBalanceFinal(Address)

    gets the balance (final) of an address, returns ExecutionQueryResponseItem::Amount(balance) or an error if the address is not found

    §

    AddressBytecodeCandidate(Address)

    gets the bytecode (candidate) of an address, returns ExecutionQueryResponseItem::Bytecode(bytecode) or an error if the address is not found

    §

    AddressBytecodeFinal(Address)

    gets the bytecode (final) of an address, returns ExecutionQueryResponseItem::Bytecode(bytecode) or an error if the address is not found

    -
    §

    AddressDatastoreKeysCandidate

    gets the datastore keys (candidate) of an address, returns ExecutionQueryResponseItem::KeyList(keys) or an error if the address is not found

    -

    Fields

    §addr: Address

    Address for which to query the datastore

    +
    §

    AddressDatastoreKeysCandidate

    gets the datastore keys (candidate) of an address, returns ExecutionQueryResponseItem::AddressDatastoreKeys(keys, addr, is_final) or an error if the address is not found

    +

    Fields

    §address: Address

    Address for which to query the datastore

    §prefix: Vec<u8>

    Filter only entries whose key starts with a prefix

    -
    §

    AddressDatastoreKeysFinal

    gets the datastore keys (final) of an address, returns ExecutionQueryResponseItem::KeyList(keys) or an error if the address is not found

    -

    Fields

    §addr: Address

    Address for which to query the datastore

    +
    §start_key: Bound<Vec<u8>>

    Bound to start from

    +
    §end_key: Bound<Vec<u8>>

    End bound

    +
    §count: Option<u32>

    Maximum number of keys to return

    +
    §

    AddressDatastoreKeysFinal

    gets the datastore keys (final) of an address, returns ExecutionQueryResponseItem::AddressDatastoreKeys(keys, addr, is_final) or an error if the address is not found

    +

    Fields

    §address: Address

    Address for which to query the datastore

    §prefix: Vec<u8>

    Filter only entries whose key starts with a prefix

    +
    §start_key: Bound<Vec<u8>>

    Bound to start from

    +
    §end_key: Bound<Vec<u8>>

    End bound

    +
    §count: Option<u32>

    Maximum number of keys to return

    §

    AddressDatastoreValueCandidate

    gets a datastore value (candidate) for an address, returns ExecutionQueryResponseItem::DatastoreValue(keys) or an error if the address or key is not found

    Fields

    §addr: Address

    Address for which to query the datastore

    §key: Vec<u8>

    Key of the entry

    diff --git a/massa_execution_exports/types/enum.ExecutionQueryResponseItem.html b/massa_execution_exports/types/enum.ExecutionQueryResponseItem.html index e1229ef7c65..7d4c5f4ed69 100644 --- a/massa_execution_exports/types/enum.ExecutionQueryResponseItem.html +++ b/massa_execution_exports/types/enum.ExecutionQueryResponseItem.html @@ -1,10 +1,10 @@ -ExecutionQueryResponseItem in massa_execution_exports::types - Rust
    pub enum ExecutionQueryResponseItem {
    +ExecutionQueryResponseItem in massa_execution_exports::types - Rust
    pub enum ExecutionQueryResponseItem {
     
    Show 13 variants Boolean(bool), RollCount(u64), Amount(Amount), Bytecode(Bytecode), DatastoreValue(Vec<u8>), - KeyList(BTreeSet<Vec<u8>>), + AddressDatastoreKeys(BTreeSet<Vec<u8>>, Address, bool), DeferredCallQuote(Slot, u64, bool, Amount), DeferredCallInfo(DeferredCallId, DeferredCall), DeferredCallsBySlot(Slot, Vec<DeferredCallId>), @@ -18,7 +18,7 @@
    §

    Amount(Amount)

    amount value

    §

    Bytecode(Bytecode)

    bytecode

    §

    DatastoreValue(Vec<u8>)

    datastore value

    -
    §

    KeyList(BTreeSet<Vec<u8>>)

    list of keys

    +
    §

    AddressDatastoreKeys(BTreeSet<Vec<u8>>, Address, bool)

    list of keys (keys, address, is_final)

    §

    DeferredCallQuote(Slot, u64, bool, Amount)

    deferred call quote (target_slot, gas_request, available, price)

    §

    DeferredCallInfo(DeferredCallId, DeferredCall)

    deferred call info value

    §

    DeferredCallsBySlot(Slot, Vec<DeferredCallId>)

    deferred call slot calls value

    diff --git a/massa_execution_exports/types/enum.ReadOnlyExecutionTarget.html b/massa_execution_exports/types/enum.ReadOnlyExecutionTarget.html index 3fef887b452..1a80c80cc00 100644 --- a/massa_execution_exports/types/enum.ReadOnlyExecutionTarget.html +++ b/massa_execution_exports/types/enum.ReadOnlyExecutionTarget.html @@ -1,4 +1,4 @@ -ReadOnlyExecutionTarget in massa_execution_exports::types - Rust
    pub enum ReadOnlyExecutionTarget {
    +ReadOnlyExecutionTarget in massa_execution_exports::types - Rust
    pub enum ReadOnlyExecutionTarget {
         BytecodeExecution(Vec<u8>),
         FunctionCall {
             target_addr: Address,
    @@ -11,7 +11,7 @@
     

    Fields

    §target_addr: Address

    Target address

    §target_func: String

    Target function

    §parameter: Vec<u8>

    Parameter to pass to the target function

    -

    Trait Implementations§

    source§

    impl Clone for ReadOnlyExecutionTarget

    source§

    fn clone(&self) -> ReadOnlyExecutionTarget

    Returns a copy of 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 ReadOnlyExecutionTarget

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ReadOnlyExecutionTarget

    source§

    fn clone(&self) -> ReadOnlyExecutionTarget

    Returns a copy of 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 ReadOnlyExecutionTarget

    source§

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

    Formats the value using the given formatter. 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, ) -> <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/enum.SlotExecutionOutput.html b/massa_execution_exports/types/enum.SlotExecutionOutput.html index 0c195137221..69b284c7a85 100644 --- a/massa_execution_exports/types/enum.SlotExecutionOutput.html +++ b/massa_execution_exports/types/enum.SlotExecutionOutput.html @@ -1,10 +1,10 @@ -SlotExecutionOutput in massa_execution_exports::types - Rust
    pub enum SlotExecutionOutput {
    +SlotExecutionOutput in massa_execution_exports::types - Rust
    pub enum SlotExecutionOutput {
         ExecutedSlot(ExecutionOutput),
         FinalizedSlot(ExecutionOutput),
     }
    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/index.html b/massa_execution_exports/types/index.html index c1744752ca1..aa5ec19cad3 100644 --- a/massa_execution_exports/types/index.html +++ b/massa_execution_exports/types/index.html @@ -1,4 +1,4 @@ -massa_execution_exports::types - Rust

    Module massa_execution_exports::types

    source ·
    Expand description

    This file exports useful types used to interact with the execution worker

    +massa_execution_exports::types - Rust

    Module massa_execution_exports::types

    source ·
    Expand description

    This file exports useful types used to interact with the execution worker

    Structs§

    Fields§

    §block_id: BlockId

    Block id

    §current_version: u32

    Current network version (see Versioning doc)

    §announced_version: Option<u32>

    Announced network version (see Versioning doc)

    -

    Trait Implementations§

    source§

    impl Clone for ExecutedBlockInfo

    source§

    fn clone(&self) -> ExecutedBlockInfo

    Returns a copy of 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 ExecutedBlockInfo

    source§

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

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

    impl Serialize for ExecutedBlockInfo

    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 +

    Trait Implementations§

    source§

    impl Clone for ExecutedBlockInfo

    source§

    fn clone(&self) -> ExecutedBlockInfo

    Returns a copy of 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 ExecutedBlockInfo

    source§

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

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

    impl Serialize for ExecutedBlockInfo

    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, ) -> <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.ExecutionAddressInfo.html b/massa_execution_exports/types/struct.ExecutionAddressInfo.html index 35e97ede5a1..7a8bb65ed57 100644 --- a/massa_execution_exports/types/struct.ExecutionAddressInfo.html +++ b/massa_execution_exports/types/struct.ExecutionAddressInfo.html @@ -1,4 +1,4 @@ -ExecutionAddressInfo in massa_execution_exports::types - Rust
    pub struct ExecutionAddressInfo {
    +ExecutionAddressInfo in massa_execution_exports::types - Rust
    pub struct ExecutionAddressInfo {
         pub candidate_balance: Amount,
         pub final_balance: Amount,
         pub final_roll_count: u64,
    @@ -16,7 +16,7 @@
     
    §candidate_datastore_keys: BTreeSet<Vec<u8>>

    candidate datastore keys of the address

    §future_deferred_credits: BTreeMap<Slot, Amount>

    future deferred credits

    §cycle_infos: Vec<ExecutionAddressCycleInfo>

    cycle information

    -

    Trait Implementations§

    source§

    impl Clone for ExecutionAddressInfo

    source§

    fn clone(&self) -> ExecutionAddressInfo

    Returns a copy of 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 ExecutionAddressInfo

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ExecutionAddressInfo

    source§

    fn clone(&self) -> ExecutionAddressInfo

    Returns a copy of 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 ExecutionAddressInfo

    source§

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

    Formats the value using the given formatter. 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, ) -> <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.ExecutionBlockMetadata.html b/massa_execution_exports/types/struct.ExecutionBlockMetadata.html index 9b4b563e15e..9dbccaecb47 100644 --- a/massa_execution_exports/types/struct.ExecutionBlockMetadata.html +++ b/massa_execution_exports/types/struct.ExecutionBlockMetadata.html @@ -1,10 +1,10 @@ -ExecutionBlockMetadata in massa_execution_exports::types - Rust
    pub struct ExecutionBlockMetadata {
    +ExecutionBlockMetadata in massa_execution_exports::types - Rust
    pub struct ExecutionBlockMetadata {
         pub same_thread_parent_creator: Option<Address>,
         pub storage: Option<Storage>,
     }
    Expand description

    Metadata needed to execute the block

    Fields§

    §same_thread_parent_creator: Option<Address>

    Address of the creator of the parent in the same thread

    §storage: Option<Storage>

    Storage referencing the block and its contents

    -

    Trait Implementations§

    source§

    impl Clone for ExecutionBlockMetadata

    source§

    fn clone(&self) -> ExecutionBlockMetadata

    Returns a copy of 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 ExecutionBlockMetadata

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ExecutionBlockMetadata

    source§

    fn clone(&self) -> ExecutionBlockMetadata

    Returns a copy of 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 ExecutionBlockMetadata

    source§

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

    Formats the value using the given formatter. 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, ) -> <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..347203d4de5 100644 --- a/massa_execution_exports/types/struct.ExecutionOutput.html +++ b/massa_execution_exports/types/struct.ExecutionOutput.html @@ -1,4 +1,4 @@ -ExecutionOutput in massa_execution_exports::types - Rust

    Struct massa_execution_exports::types::ExecutionOutput

    source ·
    pub struct ExecutionOutput {
    +ExecutionOutput in massa_execution_exports::types - Rust

    Struct massa_execution_exports::types::ExecutionOutput

    source ·
    pub struct ExecutionOutput {
         pub slot: Slot,
         pub block_info: Option<ExecutedBlockInfo>,
         pub state_changes: StateChanges,
    @@ -14,8 +14,8 @@
     
    §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 - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    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, ) -> <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.ExecutionQueryCycleInfos.html b/massa_execution_exports/types/struct.ExecutionQueryCycleInfos.html index bb56de4f607..7fb16193362 100644 --- a/massa_execution_exports/types/struct.ExecutionQueryCycleInfos.html +++ b/massa_execution_exports/types/struct.ExecutionQueryCycleInfos.html @@ -1,4 +1,4 @@ -ExecutionQueryCycleInfos in massa_execution_exports::types - Rust
    pub struct ExecutionQueryCycleInfos {
    +ExecutionQueryCycleInfos in massa_execution_exports::types - Rust
    pub struct ExecutionQueryCycleInfos {
         pub cycle: u64,
         pub is_final: bool,
         pub staker_infos: BTreeMap<Address, ExecutionQueryStakerInfo>,
    diff --git a/massa_execution_exports/types/struct.ExecutionQueryRequest.html b/massa_execution_exports/types/struct.ExecutionQueryRequest.html
    index 4159bda383a..342d2d3ab28 100644
    --- a/massa_execution_exports/types/struct.ExecutionQueryRequest.html
    +++ b/massa_execution_exports/types/struct.ExecutionQueryRequest.html
    @@ -1,4 +1,4 @@
    -ExecutionQueryRequest in massa_execution_exports::types - Rust
    pub struct ExecutionQueryRequest {
    +ExecutionQueryRequest in massa_execution_exports::types - Rust
    pub struct ExecutionQueryRequest {
         pub requests: Vec<ExecutionQueryRequestItem>,
     }
    Expand description

    Request to atomically execute a batch of execution state queries

    Fields§

    §requests: Vec<ExecutionQueryRequestItem>

    List of requests

    diff --git a/massa_execution_exports/types/struct.ExecutionQueryResponse.html b/massa_execution_exports/types/struct.ExecutionQueryResponse.html index 8d78463aeb4..97e05e2a86b 100644 --- a/massa_execution_exports/types/struct.ExecutionQueryResponse.html +++ b/massa_execution_exports/types/struct.ExecutionQueryResponse.html @@ -1,4 +1,4 @@ -ExecutionQueryResponse in massa_execution_exports::types - Rust
    pub struct ExecutionQueryResponse {
    +ExecutionQueryResponse in massa_execution_exports::types - Rust
    pub struct ExecutionQueryResponse {
         pub responses: Vec<Result<ExecutionQueryResponseItem, ExecutionQueryError>>,
         pub candidate_cursor: Slot,
         pub final_cursor: Slot,
    diff --git a/massa_execution_exports/types/struct.ExecutionQueryStakerInfo.html b/massa_execution_exports/types/struct.ExecutionQueryStakerInfo.html
    index 33886084896..0c41cde368e 100644
    --- a/massa_execution_exports/types/struct.ExecutionQueryStakerInfo.html
    +++ b/massa_execution_exports/types/struct.ExecutionQueryStakerInfo.html
    @@ -1,4 +1,4 @@
    -ExecutionQueryStakerInfo in massa_execution_exports::types - Rust
    pub struct ExecutionQueryStakerInfo {
    +ExecutionQueryStakerInfo in massa_execution_exports::types - Rust
    pub struct ExecutionQueryStakerInfo {
         pub active_rolls: u64,
         pub production_stats: ProductionStats,
     }
    Expand description

    Staker information for a given cycle

    diff --git a/massa_execution_exports/types/struct.ExecutionStackElement.html b/massa_execution_exports/types/struct.ExecutionStackElement.html index 08d04f35951..bebc12a62c8 100644 --- a/massa_execution_exports/types/struct.ExecutionStackElement.html +++ b/massa_execution_exports/types/struct.ExecutionStackElement.html @@ -1,4 +1,4 @@ -ExecutionStackElement in massa_execution_exports::types - Rust
    pub struct ExecutionStackElement {
    +ExecutionStackElement in massa_execution_exports::types - Rust
    pub struct ExecutionStackElement {
         pub address: Address,
         pub coins: Amount,
         pub owned_addresses: Vec<Address>,
    @@ -20,7 +20,7 @@
     Note that we use a vector instead of a pre-hashed set to ensure order determinism,
     the performance hit of linear search remains minimal because owned_addresses will always contain very few elements.

    §operation_datastore: Option<Datastore>

    Datastore (key value store) for ExecuteSC Operation

    -

    Trait Implementations§

    source§

    impl Clone for ExecutionStackElement

    source§

    fn clone(&self) -> ExecutionStackElement

    Returns a copy of 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 ExecutionStackElement

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ExecutionStackElement

    source§

    fn clone(&self) -> ExecutionStackElement

    Returns a copy of 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 ExecutionStackElement

    source§

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

    Formats the value using the given formatter. 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, ) -> <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.ReadOnlyCallRequest.html b/massa_execution_exports/types/struct.ReadOnlyCallRequest.html index 6351a4890b4..bd327029d33 100644 --- a/massa_execution_exports/types/struct.ReadOnlyCallRequest.html +++ b/massa_execution_exports/types/struct.ReadOnlyCallRequest.html @@ -1,4 +1,4 @@ -ReadOnlyCallRequest in massa_execution_exports::types - Rust
    pub struct ReadOnlyCallRequest {
    +ReadOnlyCallRequest in massa_execution_exports::types - Rust
    pub struct ReadOnlyCallRequest {
         pub max_gas: u64,
         pub call_stack: Vec<ExecutionStackElement>,
         pub target_addr: Address,
    @@ -13,7 +13,7 @@
     
    §parameter: String

    Parameter to pass to the target function

    §is_final: bool

    execution start state

    Whether to start execution from final or active state

    -

    Trait Implementations§

    source§

    impl Clone for ReadOnlyCallRequest

    source§

    fn clone(&self) -> ReadOnlyCallRequest

    Returns a copy of 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 ReadOnlyCallRequest

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ReadOnlyCallRequest

    source§

    fn clone(&self) -> ReadOnlyCallRequest

    Returns a copy of 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 ReadOnlyCallRequest

    source§

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

    Formats the value using the given formatter. 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, ) -> <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.ReadOnlyExecutionOutput.html b/massa_execution_exports/types/struct.ReadOnlyExecutionOutput.html index a48c47ecd17..6417baf4db2 100644 --- a/massa_execution_exports/types/struct.ReadOnlyExecutionOutput.html +++ b/massa_execution_exports/types/struct.ReadOnlyExecutionOutput.html @@ -1,4 +1,4 @@ -ReadOnlyExecutionOutput in massa_execution_exports::types - Rust
    pub struct ReadOnlyExecutionOutput {
    +ReadOnlyExecutionOutput in massa_execution_exports::types - Rust
    pub struct ReadOnlyExecutionOutput {
         pub out: ExecutionOutput,
         pub gas_cost: u64,
         pub call_result: Vec<u8>,
    @@ -6,7 +6,7 @@
     

    Fields§

    §out: ExecutionOutput

    Output of a single execution

    §gas_cost: u64

    Gas cost for this execution, with needed adjustments

    §call_result: Vec<u8>

    Returned value from the module call

    -

    Trait Implementations§

    source§

    impl Clone for ReadOnlyExecutionOutput

    source§

    fn clone(&self) -> ReadOnlyExecutionOutput

    Returns a copy of 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 ReadOnlyExecutionOutput

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ReadOnlyExecutionOutput

    source§

    fn clone(&self) -> ReadOnlyExecutionOutput

    Returns a copy of 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 ReadOnlyExecutionOutput

    source§

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

    Formats the value using the given formatter. 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, ) -> <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.ReadOnlyExecutionRequest.html b/massa_execution_exports/types/struct.ReadOnlyExecutionRequest.html index 7f90ca3d613..87c32e8d9f0 100644 --- a/massa_execution_exports/types/struct.ReadOnlyExecutionRequest.html +++ b/massa_execution_exports/types/struct.ReadOnlyExecutionRequest.html @@ -1,4 +1,4 @@ -ReadOnlyExecutionRequest in massa_execution_exports::types - Rust
    pub struct ReadOnlyExecutionRequest {
    +ReadOnlyExecutionRequest in massa_execution_exports::types - Rust
    pub struct ReadOnlyExecutionRequest {
         pub max_gas: u64,
         pub call_stack: Vec<ExecutionStackElement>,
         pub target: ReadOnlyExecutionTarget,
    @@ -10,7 +10,7 @@
     
    §target: ReadOnlyExecutionTarget

    Target of the request

    §coins: Option<Amount>

    Coins transferred to the target address during the call

    §fee: Option<Amount>

    Fee

    -

    Trait Implementations§

    source§

    impl Clone for ReadOnlyExecutionRequest

    source§

    fn clone(&self) -> ReadOnlyExecutionRequest

    Returns a copy of 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 ReadOnlyExecutionRequest

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ReadOnlyExecutionRequest

    source§

    fn clone(&self) -> ReadOnlyExecutionRequest

    Returns a copy of 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 ReadOnlyExecutionRequest

    source§

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

    Formats the value using the given formatter. 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, ) -> <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/all.html b/massa_execution_worker/all.html index 3d3e62eb2af..6c6174b7474 100644 --- a/massa_execution_worker/all.html +++ b/massa_execution_worker/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_execution_worker/context/fn.generate_execution_trail_hash.html b/massa_execution_worker/context/fn.generate_execution_trail_hash.html index 9d8f3fd2c7a..e836124f5de 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..15884b878f2 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..a39286aaf43 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..0fac9b1be2b 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 24 fields config: ExecutionConfig, speculative_ledger: SpeculativeLedger, speculative_async_pool: SpeculativeAsyncPool, @@ -54,7 +54,7 @@
    §gas_remaining_before_subexecution: Option<u64>

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

    §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 +72,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 +86,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,7 +104,7 @@

    §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( &mut self, max_gas: u64, async_msg_cst_gas_cost: u64, @@ -119,7 +119,7 @@

    §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 active_slot( config: ExecutionConfig, slot: Slot, opt_block_id: Option<BlockId>, @@ -137,28 +137,31 @@

    §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, + addr: &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( + start_key: Bound<Vec<u8>>, + end_key: Bound<Vec<u8>>, + count: Option<u32>, +) -> Result<Option<BTreeSet<Vec<u8>>>, ExecutionError>

    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( &mut self, address: &Address, key: Vec<u8>, @@ -172,7 +175,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 +189,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 +200,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 +216,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 +229,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 +246,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 +257,7 @@

    §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 update_production_stats( &mut self, creator: &Address, slot: Slot, @@ -266,7 +269,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 +277,7 @@
    §Arguments
    • slot: associated slot of the deferred credits to be executed
    -
    source

    pub fn settle_slot( +

    source

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

    Finishes a slot and generates the execution output. @@ -283,7 +286,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 +297,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,60 +318,60 @@

    §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

    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/controller/index.html b/massa_execution_worker/controller/index.html index d7e51a04487..303f68f2a91 100644 --- a/massa_execution_worker/controller/index.html +++ b/massa_execution_worker/controller/index.html @@ -1,4 +1,4 @@ -massa_execution_worker::controller - Rust

    Module massa_execution_worker::controller

    source ·
    Expand description

    This module implements an execution controller. +massa_execution_worker::controller - Rust

    Module massa_execution_worker::controller

    source ·
    Expand description

    This module implements an execution controller. See massa-execution-exports/controller_traits.rs for functional details.

    Structs§

    \ No newline at end of file diff --git a/massa_execution_worker/controller/struct.ExecutionControllerImpl.html b/massa_execution_worker/controller/struct.ExecutionControllerImpl.html index 358ccee4089..8506702ff13 100644 --- a/massa_execution_worker/controller/struct.ExecutionControllerImpl.html +++ b/massa_execution_worker/controller/struct.ExecutionControllerImpl.html @@ -5,7 +5,7 @@

    Fields§

    §input_data: Arc<(Condvar, Mutex<ExecutionInputData>)>

    input data to process in the Execution controller loop with a wake-up condition variable that needs to be triggered when the data changes

    §execution_state: Arc<RwLock<ExecutionState>>

    current execution state (see execution.rs for details)

    -

    Trait Implementations§

    source§

    impl Clone for ExecutionControllerImpl

    source§

    fn clone(&self) -> ExecutionControllerImpl

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

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

    Performs copy-assignment from source. Read more
    source§

    impl ExecutionController for ExecutionControllerImpl

    Trait Implementations§

    source§

    impl Clone for ExecutionControllerImpl

    source§

    fn clone(&self) -> ExecutionControllerImpl

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

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

    Performs copy-assignment from source. Read more
    source§

    impl ExecutionController for ExecutionControllerImpl

    source§

    fn update_blockclique_status( &self, finalized_blocks: HashMap<Slot, BlockId>, new_blockclique: Option<HashMap<Slot, BlockId>>, @@ -17,8 +17,8 @@

    §Arguments
  • blockclique: new blockclique (if changed). Indexed by slot.
  • block_metadata: storage instances and metadata for new blocks. Each storage owns refs to the block and its ops/endorsements.
  • -
    source§

    fn query_state(&self, req: ExecutionQueryRequest) -> ExecutionQueryResponse

    Atomically query the execution state with multiple requests

    -
    source§

    fn get_filtered_sc_output_event( +

    source§

    fn query_state(&self, req: ExecutionQueryRequest) -> ExecutionQueryResponse

    Atomically query the execution state with multiple requests

    +
    source§

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

    Get the generated execution events, optionally filtered by:

    @@ -29,7 +29,7 @@
    §Arguments
  • original caller address
  • operation id
  • -
    source§

    fn get_final_and_candidate_balance( +

    source§

    fn get_final_and_candidate_balance( &self, addresses: &[Address], ) -> Vec<(Option<Amount>, Option<Amount>)>

    Get the final and candidate values of balance.

    @@ -37,7 +37,7 @@
    §Return va
    • (final_balance, candidate_balance)
    -
    source§

    fn get_final_and_active_data_entry( +

    source§

    fn get_final_and_active_data_entry( &self, input: Vec<(Address, Vec<u8>)>, ) -> Vec<(Option<Vec<u8>>, Option<Vec<u8>>)>

    Get a copy of a single datastore entry with its final and active values

    @@ -45,27 +45,27 @@
    §Retur
    • Vec<(final_data_entry, active_data_entry)>
    -
    source§

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

    Return the active rolls distribution for the given cycle

    -
    source§

    fn execute_readonly_request( +

    source§

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

    Return the active rolls distribution for the given cycle

    +
    source§

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

    Executes a read-only request Read-only requests do not modify consensus state

    -
    source§

    fn get_denunciation_execution_status( +

    source§

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

    Check if a denunciation has been executed given a DenunciationIndex Returns a tuple of booleans: (speculative_execution_status, final_execution_status)

    -
    source§

    fn get_addresses_infos( +

    source§

    fn get_addresses_infos( &self, addresses: &[Address], deferred_credits_max_slot: Bound<Slot>, ) -> Vec<ExecutionAddressInfo>

    Gets information about a batch of addresses

    -
    source§

    fn get_stats(&self) -> ExecutionStats

    Get execution statistics

    -
    source§

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

    Returns a boxed clone of self. +

    source§

    fn get_stats(&self) -> ExecutionStats

    Get execution statistics

    +
    source§

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

    Returns a boxed clone of self. Allows cloning Box<dyn ExecutionController>, see massa-execution-exports/controller_traits.rs

    -
    source§

    fn get_ops_exec_status( +

    source§

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

    See trait definition

    diff --git a/massa_execution_worker/controller/struct.ExecutionManagerImpl.html b/massa_execution_worker/controller/struct.ExecutionManagerImpl.html index 9484add98d3..145ccf19afe 100644 --- a/massa_execution_worker/controller/struct.ExecutionManagerImpl.html +++ b/massa_execution_worker/controller/struct.ExecutionManagerImpl.html @@ -1,4 +1,4 @@ -ExecutionManagerImpl in massa_execution_worker::controller - Rust
    pub struct ExecutionManagerImpl {
    +ExecutionManagerImpl in massa_execution_worker::controller - Rust
    pub struct ExecutionManagerImpl {
         pub(crate) input_data: Arc<(Condvar, Mutex<ExecutionInputData>)>,
         pub(crate) thread_handle: Option<JoinHandle<()>>,
     }
    Expand description

    Execution manager @@ -6,7 +6,7 @@

    Fields§

    §input_data: Arc<(Condvar, Mutex<ExecutionInputData>)>

    input data to process in the Execution manager loop with a wake-up condition variable that needs to be triggered when the data changes

    §thread_handle: Option<JoinHandle<()>>

    handle used to join the worker thread

    -

    Trait Implementations§

    source§

    impl ExecutionManager for ExecutionManagerImpl

    source§

    fn stop(&mut self)

    stops the worker

    +

    Trait Implementations§

    source§

    impl ExecutionManager for ExecutionManagerImpl

    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_execution_worker/datastore_scan/fn.scan_datastore.html b/massa_execution_worker/datastore_scan/fn.scan_datastore.html new file mode 100644 index 00000000000..3a0792668e6 --- /dev/null +++ b/massa_execution_worker/datastore_scan/fn.scan_datastore.html @@ -0,0 +1,23 @@ +scan_datastore in massa_execution_worker::datastore_scan - Rust
    pub fn scan_datastore(
    +    addr: &Address,
    +    prefix: &[u8],
    +    start_key: Bound<Vec<u8>>,
    +    end_key: Bound<Vec<u8>>,
    +    count: Option<u32>,
    +    final_state: Arc<RwLock<dyn FinalStateController>>,
    +    active_history: Arc<RwLock<ActiveHistory>>,
    +    added_changes: Option<&LedgerChanges>,
    +) -> (Option<BTreeSet<Vec<u8>>>, Option<BTreeSet<Vec<u8>>>)
    Expand description

    Gets a copy of a datastore keys for a given address

    +

    §Arguments

    +
      +
    • addr: address to query
    • +
    • prefix: prefix to filter keys
    • +
    • start_key: start key of the range
    • +
    • end_key: end key of the range
    • +
    • count: maximum number of keys to return
    • +
    +

    §Returns

    +

    A tuple of two Option<BTreeSet<Vec<u8>>>: +None means that the address does not exist. +The first element is the final state keys, the second element is the speculative keys.

    +
    \ No newline at end of file diff --git a/massa_execution_worker/datastore_scan/index.html b/massa_execution_worker/datastore_scan/index.html new file mode 100644 index 00000000000..af359a0b23d --- /dev/null +++ b/massa_execution_worker/datastore_scan/index.html @@ -0,0 +1,3 @@ +massa_execution_worker::datastore_scan - Rust

    Module massa_execution_worker::datastore_scan

    source ·
    Expand description

    A file describing an optimized datastore keys traversal algorithm. +It is shared between execution.rs and speculative_ledger.rs.

    +

    Functions§

    \ No newline at end of file diff --git a/massa_execution_worker/datastore_scan/sidebar-items.js b/massa_execution_worker/datastore_scan/sidebar-items.js new file mode 100644 index 00000000000..8537f5414f9 --- /dev/null +++ b/massa_execution_worker/datastore_scan/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"fn":["scan_datastore"]}; \ No newline at end of file diff --git a/massa_execution_worker/execution/index.html b/massa_execution_worker/execution/index.html index 0d33faad8cc..f868327cd7d 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:

    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_datastore_keys( &self, addr: &Address, prefix: &[u8], + start_key: Bound<Vec<u8>>, + end_key: Bound<Vec<u8>>, + count: Option<u32>, +) -> Option<BTreeSet<Vec<u8>>>

    source

    pub fn get_final_and_candidate_datastore_keys( + &self, + addr: &Address, + prefix: &[u8], + start_key: Bound<Vec<u8>>, + end_key: Bound<Vec<u8>>, + count: Option<u32>, ) -> (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 +248,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 +257,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 +281,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/index.html b/massa_execution_worker/index.html index 01e79ac7699..061e078225b 100644 --- a/massa_execution_worker/index.html +++ b/massa_execution_worker/index.html @@ -1,4 +1,4 @@ -massa_execution_worker - Rust

    Crate massa_execution_worker

    source ·
    Expand description

    §General description

    +massa_execution_worker - Rust

    Crate massa_execution_worker

    source ·
    Expand description

    §General description

    The execution worker launches a persistent thread allowing the execution of operations that can contain executable bytecode and managing interactions with the ledger. When the worker is launched, a ExecutionManager and a ExecutionController are returned. @@ -59,7 +59,8 @@

    §stats.rs
  • controller 🔒
    This module implements an execution controller. -See massa-execution-exports/controller_traits.rs for functional details.
  • execution 🔒
    This module deals with executing final and active slots, as well as read-only requests. +See massa-execution-exports/controller_traits.rs for functional details.
  • A file describing an optimized datastore keys traversal algorithm. +It is shared between execution.rs and speculative_ledger.rs.
  • execution 🔒
    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.
  • 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. 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..2b71d96666e 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.get_address_from_opt_or_context.html b/massa_execution_worker/interface_impl/fn.get_address_from_opt_or_context.html index 76444647951..df4fa8acaaa 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,6 +1,6 @@ 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 +) -> Result<Address>

    Expand description

    Helper function to get the address from the option given as argument to some ABIs Fallback to the current context address if not provided.

    \ No newline at end of file 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..0d281a5d217 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/index.html b/massa_execution_worker/interface_impl/index.html index c6494340804..30326f1e88e 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 148a725b612..da949a6e697 100644 --- a/massa_execution_worker/interface_impl/struct.InterfaceImpl.html +++ b/massa_execution_worker/interface_impl/struct.InterfaceImpl.html @@ -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( &self, bytecode: &[u8], gas_limit: u64, -) -> Result<RuntimeModule>

    Compile and return a temporary module

    +) -> 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,26 +71,26 @@
      §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]>, -) -> Result<BTreeSet<Vec<u8>>>

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

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

    +) -> 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,11 +107,11 @@
      §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>, -) -> Result<Vec<u8>>

    Gets a datastore value by key for a given address, or the current address if none is provided.

    +) -> Result<Vec<u8>>

    Gets a datastore value by key for a given address, or the current address if none is provided.

    §Arguments
    • address: string representation of the address
    • @@ -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,12 +129,12 @@
    §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], value: &[u8], -) -> Result<()>

    Sets a datastore entry for a given address. +) -> Result<()>

    Sets a datastore entry for a given address. Fails if the address does not exist. Creates the entry if it does not exist.

    §Arguments
    @@ -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,12 +152,12 @@
      §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], value: &[u8], -) -> Result<()>

    Appends a value to a datastore entry for a given address. +) -> Result<()>

    Appends a value to a datastore entry for a given address. Fails if the entry or address does not exist.

    §Arguments
      @@ -166,12 +166,12 @@
      §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], address: Option<String>, -) -> Result<()>

    Appends a value to a datastore entry for a given address, or the current address if none is provided +) -> Result<()>

    Appends a value to a datastore entry for a given address, or the current address if none is provided Fails if the entry or address does not exist.

    §Arguments
      @@ -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,18 +194,18 @@
      §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>, -) -> Result<()>

    Deletes a datastore entry by key for a given address, or the current address if none is provided. +) -> Result<()>

    Deletes a datastore entry by key for a given address, or the current address if none is provided. Fails if the address or entry does not exist.

    §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,11 +222,11 @@
      §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>, -) -> Result<bool>

    Checks if a datastore entry exists for a given address, or the current address if none is provided.

    +) -> Result<bool>

    Checks if a datastore entry exists for a given address, or the current address if none is provided.

    §Arguments
    • address: string representation of the address
    • @@ -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,26 +267,26 @@
      §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, public_key: &str, -) -> Result<bool>

    Verifies a signature

    +) -> Result<bool>

    Verifies a signature

    §Arguments
    • data: the data bytes that were signed
    • @@ -295,12 +295,12 @@
      §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], public_key_: &[u8], -) -> Result<bool>

    Verify an EVM signature

    +) -> Result<bool>

    Verify an EVM signature

    Information:

    • Expects a SECP256K1 signature in full ETH format. @@ -309,27 +309,27 @@
      §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.

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

    §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, raw_amount: u64, -) -> Result<()>

    Transfer coins from a given address towards a target address.

    +) -> Result<()>

    Transfer coins from a given address towards a target address.

    §Arguments
    • from_address: string representation of the address that is sending the coins
    • @@ -337,60 +337,60 @@
      §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, from_address: Option<String>, -) -> Result<()>

    Transfer coins from a given address (or the current address if not specified) towards a target address.

    +) -> Result<()>

    Transfer coins from a given address (or the current address if not specified) 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
    • 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

    -
    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, @@ -401,7 +401,7 @@

    §Warning
    raw_coins: u64, data: &[u8], filter: Option<(&str, Option<&[u8]>)>, -) -> Result<()>

    Adds an asynchronous message to the context speculative asynchronous pool

    +) -> Result<()>

    Adds an asynchronous message to the context speculative asynchronous pool

    §Arguments
    • target_address: Destination address hash in format string
    • @@ -413,42 +413,42 @@
      §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. +) -> 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, params_size: u64, -) -> Result<(bool, u64)>

    Get the number of fees needed to reserve space in the target slot

    +) -> Result<(bool, u64)>

    Get the number of fees needed to reserve space in the target slot

    §Arguments
    • target_slot: tuple containing the period and thread of the target slot
    • @@ -456,7 +456,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, @@ -464,7 +464,7 @@

    §Returns
    max_gas: u64, params: &[u8], coins: u64, -) -> Result<String>

    Register deferred call

    +) -> Result<String>

    Register deferred call

    §Arguments
    • target_addr: string representation of the target address
    • @@ -476,101 +476,101 @@
      §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( +) -> 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( &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( +) -> Result<NativeAmount>

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

    +
    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( +) -> Result<NativeAmount>

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

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

    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( &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( +) -> 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( &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§

    §

    impl Freeze for InterfaceImpl

    §

    impl !RefUnwindSafe for InterfaceImpl

    §

    impl Send for InterfaceImpl

    §

    impl Sync for InterfaceImpl

    §

    impl Unpin for InterfaceImpl

    §

    impl !UnwindSafe for InterfaceImpl

    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/sidebar-items.js b/massa_execution_worker/sidebar-items.js index fdcb1b5bf22..7edee37d583 100644 --- a/massa_execution_worker/sidebar-items.js +++ b/massa_execution_worker/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":["start_execution_worker"],"mod":["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","stats","storage_backend","worker"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["start_execution_worker"],"mod":["active_history","context","controller","datastore_scan","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","stats","storage_backend","worker"]}; \ No newline at end of file diff --git a/massa_execution_worker/speculative_ledger/index.html b/massa_execution_worker/speculative_ledger/index.html index 10d63b6ce2f..a449b7120ff 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..cfd1617cd9d 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, @@ -91,19 +91,25 @@

    §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], + start_key: Bound<Vec<u8>>, + end_key: Bound<Vec<u8>>, + count: Option<u32>, ) -> Option<BTreeSet<Vec<u8>>>

    Gets a copy of a datastore keys for a given address

    §Arguments
    • addr: address to query
    • -
    • prefix: prefix to filter the keys
    • +
    • prefix: prefix to filter keys
    • +
    • start_key: start key of the range
    • +
    • end_key: end key of the range
    • +
    • count: maximum number of keys to return
    §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 +117,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,18 +125,18 @@
      §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])>, ) -> 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, @@ -146,7 +152,7 @@

    §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, diff --git a/massa_final_state/enum.FinalStateError.html b/massa_final_state/enum.FinalStateError.html index b80357d4ff1..f8bf8516220 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..a1043bd179f 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/struct.FinalState.html b/massa_final_state/final_state/struct.FinalState.html index ecc5f673bae..d2b774d442a 100644 --- a/massa_final_state/final_state/struct.FinalState.html +++ b/massa_final_state/final_state/struct.FinalState.html @@ -65,7 +65,7 @@
    §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

    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, diff --git a/massa_final_state/state_changes/struct.StateChanges.html b/massa_final_state/state_changes/struct.StateChanges.html index e983a332fba..48673d07485 100644 --- a/massa_final_state/state_changes/struct.StateChanges.html +++ b/massa_final_state/state_changes/struct.StateChanges.html @@ -14,12 +14,12 @@

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

    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 - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<StateChanges> for StateChangesSerializer

    source§

    fn serialize( +) -> 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 + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<StateChanges> for StateChangesSerializer

    source§

    fn serialize( &self, value: &StateChanges, buffer: &mut Vec<u8>, @@ -121,5 +121,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_final_state/struct.FinalState.html b/massa_final_state/struct.FinalState.html index 89b07cf8525..10378ba50f6 100644 --- a/massa_final_state/struct.FinalState.html +++ b/massa_final_state/struct.FinalState.html @@ -65,7 +65,7 @@
    §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

    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, diff --git a/massa_final_state/struct.StateChanges.html b/massa_final_state/struct.StateChanges.html index af68b9e59fe..1b134574314 100644 --- a/massa_final_state/struct.StateChanges.html +++ b/massa_final_state/struct.StateChanges.html @@ -14,12 +14,12 @@ §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]>>( +

    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 - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<StateChanges> for StateChangesSerializer

    source§

    fn serialize( +) -> 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 + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Serializer<StateChanges> for StateChangesSerializer

    source§

    fn serialize( &self, value: &StateChanges, buffer: &mut Vec<u8>, @@ -121,5 +121,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_grpc/config/enum.ServiceName.html b/massa_grpc/config/enum.ServiceName.html index 501f9463b65..c78f7a1a1f2 100644 --- a/massa_grpc/config/enum.ServiceName.html +++ b/massa_grpc/config/enum.ServiceName.html @@ -1,11 +1,11 @@ -ServiceName in massa_grpc::config - Rust

    Enum massa_grpc::config::ServiceName

    source ·
    pub enum ServiceName {
    +ServiceName in massa_grpc::config - Rust

    Enum massa_grpc::config::ServiceName

    source ·
    pub enum ServiceName {
         Public,
         Private,
     }
    Expand description

    gRPC service name

    Variants§

    §

    Public

    Public service name

    §

    Private

    Private service name

    -

    Trait Implementations§

    source§

    impl Clone for ServiceName

    source§

    fn clone(&self) -> ServiceName

    Returns a copy of 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 ServiceName

    source§

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

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

    impl<'de> Deserialize<'de> for ServiceName

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ServiceName

    source§

    fn clone(&self) -> ServiceName

    Returns a copy of 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 ServiceName

    source§

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

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

    impl<'de> Deserialize<'de> for ServiceName

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

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

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -127,7 +127,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_grpc/config/index.html b/massa_grpc/config/index.html index 8bd6473c36a..b3ca6440c64 100644 --- a/massa_grpc/config/index.html +++ b/massa_grpc/config/index.html @@ -1,3 +1,3 @@ -massa_grpc::config - Rust

    Module massa_grpc::config

    source ·
    Expand description

    gRPC configuration

    +massa_grpc::config - Rust

    Module massa_grpc::config

    source ·
    Expand description

    gRPC configuration

    Structs§

    Enums§

    \ No newline at end of file diff --git a/massa_grpc/config/struct.GrpcApiConfig.html b/massa_grpc/config/struct.GrpcApiConfig.html index 5190d2f6e9d..e9b285f4820 100644 --- a/massa_grpc/config/struct.GrpcApiConfig.html +++ b/massa_grpc/config/struct.GrpcApiConfig.html @@ -1,11 +1,11 @@ -GrpcApiConfig in massa_grpc::config - Rust

    Struct massa_grpc::config::GrpcApiConfig

    source ·
    pub struct GrpcApiConfig {
    +GrpcApiConfig in massa_grpc::config - Rust

    Struct massa_grpc::config::GrpcApiConfig

    source ·
    pub struct GrpcApiConfig {
         pub public: GrpcConfig,
         pub private: GrpcConfig,
     }
    Expand description

    gRPC API configuration.

    Fields§

    §public: GrpcConfig

    Public server gRPC configuration.

    §private: GrpcConfig

    Private server gRPC configuration.

    -

    Trait Implementations§

    source§

    impl Clone for GrpcApiConfig

    source§

    fn clone(&self) -> GrpcApiConfig

    Returns a copy of 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 GrpcApiConfig

    source§

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

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

    impl<'de> Deserialize<'de> for GrpcApiConfig

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for GrpcApiConfig

    source§

    fn clone(&self) -> GrpcApiConfig

    Returns a copy of 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 GrpcApiConfig

    source§

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

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

    impl<'de> Deserialize<'de> for GrpcApiConfig

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

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

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -127,7 +127,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_grpc/config/struct.GrpcConfig.html b/massa_grpc/config/struct.GrpcConfig.html index 87c29d3a469..a1b736d1052 100644 --- a/massa_grpc/config/struct.GrpcConfig.html +++ b/massa_grpc/config/struct.GrpcConfig.html @@ -1,4 +1,4 @@ -GrpcConfig in massa_grpc::config - Rust

    Struct massa_grpc::config::GrpcConfig

    source ·
    pub struct GrpcConfig {
    Show 63 fields +GrpcConfig in massa_grpc::config - Rust

    Struct massa_grpc::config::GrpcConfig

    source ·
    pub struct GrpcConfig {
    Show 65 fields pub name: ServiceName, pub enabled: bool, pub accept_http1: bool, @@ -62,6 +62,8 @@ pub client_private_key_path: PathBuf, pub chain_id: u64, pub minimal_fees: Amount, + pub max_datastore_keys_queries: Option<u32>, + pub max_datastore_key_length: u8,
    }
    Expand description

    gRPC configuration. the gRPC configuration

    Fields§

    §name: ServiceName

    whether to enable gRPC

    @@ -127,8 +129,10 @@
    §client_private_key_path: PathBuf

    client private key path

    §chain_id: u64

    chain id

    §minimal_fees: Amount

    minimal fees

    -

    Trait Implementations§

    source§

    impl Clone for GrpcConfig

    source§

    fn clone(&self) -> GrpcConfig

    Returns a copy of 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 GrpcConfig

    source§

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

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

    impl<'de> Deserialize<'de> for GrpcConfig

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +
    §max_datastore_keys_queries: Option<u32>

    max datastore keys queries

    +
    §max_datastore_key_length: u8

    max datastore key length

    +

    Trait Implementations§

    source§

    impl Clone for GrpcConfig

    source§

    fn clone(&self) -> GrpcConfig

    Returns a copy of 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 GrpcConfig

    source§

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

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

    impl<'de> Deserialize<'de> for GrpcConfig

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

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

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -250,7 +254,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_grpc/error/enum.GrpcError.html b/massa_grpc/error/enum.GrpcError.html index d676c49e265..9c625ffe009 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..5f0a4fa3e48 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..8d518308493 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..ab434b3f8e7 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..4e96752c41c 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..447205381b4 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_hash/hash/struct.Hash.html b/massa_hash/hash/struct.Hash.html index 88d4cc93b34..763aae99556 100644 --- a/massa_hash/hash/struct.Hash.html +++ b/massa_hash/hash/struct.Hash.html @@ -54,11 +54,11 @@
    §Example
    let hash = Hash::compute_from(&"hello world".as_bytes());
     let serialized = hash.into_bytes();
     let deserialized: Hash = Hash::from_bytes(&serialized);
    -

    Trait Implementations§

    source§

    impl Clone for Hash

    source§

    fn clone(&self) -> Hash

    Returns a copy of 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 Hash

    source§

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

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

    impl<'de> Deserialize<'de> for Hash

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Hash, D::Error>

    ::serde::Deserialize trait for Hash +

    Trait Implementations§

    source§

    impl Clone for Hash

    source§

    fn clone(&self) -> Hash

    Returns a copy of 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 Hash

    source§

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

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

    impl<'de> Deserialize<'de> for Hash

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Hash, D::Error>

    ::serde::Deserialize trait for Hash if the deserializer is human readable, deserialization is done using deserialize_bs58_check else, it uses deserialize_binary

    -
    §Example
    +
    §Example

    Human readable deserialization :

    let hash = Hash::compute_from(&"hello world".as_bytes());
    @@ -67,7 +67,7 @@ 
    §Example
    source§

    impl Deserializer<Hash> for HashDeserializer

    source§

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

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

    §Example
    use massa_hash::{Hash, HashDeserializer};
     use massa_serialization::{Serializer, Deserializer, DeserializeError};
     
    @@ -76,7 +76,7 @@ 
    §Example
    let (rest, deserialized) = hash_deserializer.deserialize::<DeserializeError>(hash.to_bytes()).unwrap(); assert_eq!(deserialized, hash); assert_eq!(rest.len(), 0);
    -
    source§

    impl Display for Hash

    source§

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

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

    impl FromStr for Hash

    §

    type Err = MassaHashError

    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 Hash

    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 Hash

    source§

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

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

    impl FromStr for Hash

    §

    type Err = MassaHashError

    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 Hash

    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 Hash

    In massa, this function is generally useful for data structures that performs ordering and where hashes are used as keys. For e.g., it is used for the BTreeMap where the order of the addresses is to be maintained. @@ -89,11 +89,11 @@

    §Example
    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 Hash

    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 Hash

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for Hash +operator. Read more

    source§

    impl Serialize for Hash

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for Hash if the serializer is human readable, serialization is done using serialize_bs58_check else, it uses serialize_binary

    -
    §Example
    +
    §Example

    Human readable serialization :

    let hash = Hash::compute_from(&"hello world".as_bytes());
    @@ -117,5 +117,5 @@ 
    §Example
    T: Clone,
    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for T
    where T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

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

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

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

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + U: TryFrom<T>,
    §

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

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

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_hash/struct.Hash.html b/massa_hash/struct.Hash.html index 307b87ea217..41d3237b6ed 100644 --- a/massa_hash/struct.Hash.html +++ b/massa_hash/struct.Hash.html @@ -54,11 +54,11 @@
    §Example
    let hash = Hash::compute_from(&"hello world".as_bytes());
     let serialized = hash.into_bytes();
     let deserialized: Hash = Hash::from_bytes(&serialized);
    -

    Trait Implementations§

    source§

    impl Clone for Hash

    source§

    fn clone(&self) -> Hash

    Returns a copy of 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 Hash

    source§

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

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

    impl<'de> Deserialize<'de> for Hash

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Hash, D::Error>

    ::serde::Deserialize trait for Hash +

    Trait Implementations§

    source§

    impl Clone for Hash

    source§

    fn clone(&self) -> Hash

    Returns a copy of 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 Hash

    source§

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

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

    impl<'de> Deserialize<'de> for Hash

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Hash, D::Error>

    ::serde::Deserialize trait for Hash if the deserializer is human readable, deserialization is done using deserialize_bs58_check else, it uses deserialize_binary

    -
    §Example
    +
    §Example

    Human readable deserialization :

    let hash = Hash::compute_from(&"hello world".as_bytes());
    @@ -67,7 +67,7 @@ 
    §Example
    source§

    impl Deserializer<Hash> for HashDeserializer

    source§

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

    §Example
    +) -> IResult<&'a [u8], Hash, E>
    §Example
    use massa_hash::{Hash, HashDeserializer};
     use massa_serialization::{Serializer, Deserializer, DeserializeError};
     
    @@ -76,7 +76,7 @@ 
    §Example
    let (rest, deserialized) = hash_deserializer.deserialize::<DeserializeError>(hash.to_bytes()).unwrap(); assert_eq!(deserialized, hash); assert_eq!(rest.len(), 0);
    -
    source§

    impl Display for Hash

    source§

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

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

    impl FromStr for Hash

    §

    type Err = MassaHashError

    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 Hash

    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 Hash

    source§

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

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

    impl FromStr for Hash

    §

    type Err = MassaHashError

    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 Hash

    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 Hash

    In massa, this function is generally useful for data structures that performs ordering and where hashes are used as keys. For e.g., it is used for the BTreeMap where the order of the addresses is to be maintained. @@ -89,11 +89,11 @@

    §Example
    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 Hash

    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 Hash

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for Hash +operator. Read more

    source§

    impl Serialize for Hash

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for Hash if the serializer is human readable, serialization is done using serialize_bs58_check else, it uses serialize_binary

    -
    §Example
    +
    §Example

    Human readable serialization :

    let hash = Hash::compute_from(&"hello world".as_bytes());
    @@ -117,5 +117,5 @@ 
    §Example
    T: Clone,
    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T> ToString for T
    where T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

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

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    §

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

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

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + U: TryFrom<T>,
    §

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

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

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_ledger_exports/controller/index.html b/massa_ledger_exports/controller/index.html index 7aba32c5071..289a9cef447 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..988080d9ffc 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>;
    @@ -9,6 +9,9 @@
             &self,
             addr: &Address,
             prefix: &[u8],
    +        start_key: Bound<Vec<u8>>,
    +        end_key: Bound<Vec<u8>>,
    +        count: Option<u32>,
         ) -> Option<BTreeSet<Vec<u8>>>;
         fn reset(&mut self);
         fn apply_changes_to_batch(
    @@ -39,20 +42,23 @@ 
    §Arguments
    §Returns

    A copy of the datastore value, or None if the ledger entry or datastore entry was not found

    -
    source

    fn get_datastore_keys( +

    source

    fn get_datastore_keys( &self, addr: &Address, prefix: &[u8], + start_key: Bound<Vec<u8>>, + end_key: Bound<Vec<u8>>, + count: Option<u32>, ) -> Option<BTreeSet<Vec<u8>>>

    Get every key of the datastore for a given address.

    §Returns

    A BTreeSet of the datastore keys

    -
    source

    fn reset(&mut self)

    Reset the ledger

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

    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..068846c9d55 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
    @@ -193,8 +193,8 @@
    §Argumentsassert_eq!(changes, changes_deser);
    source§

    impl PartialEq for LedgerChanges

    source§

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

    source§

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

    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

    source§

    fn serialize( &self, value: &LedgerChanges, buffer: &mut Vec<u8>, @@ -327,5 +327,5 @@

    §Arguments
    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_ledger_exports/ledger_changes/struct.LedgerEntryUpdate.html b/massa_ledger_exports/ledger_changes/struct.LedgerEntryUpdate.html index ad793042d17..5b974b7a8d3 100644 --- a/massa_ledger_exports/ledger_changes/struct.LedgerEntryUpdate.html +++ b/massa_ledger_exports/ledger_changes/struct.LedgerEntryUpdate.html @@ -8,8 +8,8 @@ §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§

    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
    @@ -39,8 +39,8 @@ assert_eq!(ledger_entry, ledger_entry_deser);
    source§

    impl From<LedgerEntryUpdate> for LedgerEntryUpdate

    source§

    fn from(value: LedgerEntryUpdate) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for LedgerEntryUpdate

    source§

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

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

    source§

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

    source§

    impl Serialize for LedgerEntryUpdate

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

    source§

    fn serialize( &self, value: &LedgerEntryUpdate, buffer: &mut Vec<u8>, @@ -169,5 +169,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_ledger_exports/ledger_entry/struct.LedgerEntry.html b/massa_ledger_exports/ledger_entry/struct.LedgerEntry.html index 14dde82617f..8d79f76c8e6 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;
    @@ -166,5 +166,5 @@
         V: MultiLane<T>,
    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_ledger_exports/struct.LedgerChanges.html b/massa_ledger_exports/struct.LedgerChanges.html index 01a94353e73..11974bff009 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
    @@ -193,8 +193,8 @@
    §Argumentsassert_eq!(changes, changes_deser);
    source§

    impl PartialEq for LedgerChanges

    source§

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

    source§

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

    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

    source§

    fn serialize( &self, value: &LedgerChanges, buffer: &mut Vec<u8>, @@ -327,5 +327,5 @@

    §Arguments
    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_ledger_exports/struct.LedgerEntry.html b/massa_ledger_exports/struct.LedgerEntry.html index b063489a5de..460af60f8de 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;
    @@ -166,5 +166,5 @@
         V: MultiLane<T>,
    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_ledger_exports/struct.LedgerEntryUpdate.html b/massa_ledger_exports/struct.LedgerEntryUpdate.html index a9b1f80cca5..178bb00e102 100644 --- a/massa_ledger_exports/struct.LedgerEntryUpdate.html +++ b/massa_ledger_exports/struct.LedgerEntryUpdate.html @@ -8,8 +8,8 @@ §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§

    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
    @@ -39,8 +39,8 @@ assert_eq!(ledger_entry, ledger_entry_deser);
    source§

    impl From<LedgerEntryUpdate> for LedgerEntryUpdate

    source§

    fn from(value: LedgerEntryUpdate) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for LedgerEntryUpdate

    source§

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

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

    source§

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

    source§

    impl Serialize for LedgerEntryUpdate

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

    source§

    fn serialize( &self, value: &LedgerEntryUpdate, buffer: &mut Vec<u8>, @@ -169,5 +169,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_ledger_exports/trait.LedgerController.html b/massa_ledger_exports/trait.LedgerController.html index daa7d4fa51a..6e471f7298c 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>;
    @@ -9,6 +9,9 @@
             &self,
             addr: &Address,
             prefix: &[u8],
    +        start_key: Bound<Vec<u8>>,
    +        end_key: Bound<Vec<u8>>,
    +        count: Option<u32>,
         ) -> Option<BTreeSet<Vec<u8>>>;
         fn reset(&mut self);
         fn apply_changes_to_batch(
    @@ -39,20 +42,23 @@ 
    §Arguments
    §Returns

    A copy of the datastore value, or None if the ledger entry or datastore entry was not found

    -
    source

    fn get_datastore_keys( +

    source

    fn get_datastore_keys( &self, addr: &Address, prefix: &[u8], + start_key: Bound<Vec<u8>>, + end_key: Bound<Vec<u8>>, + count: Option<u32>, ) -> Option<BTreeSet<Vec<u8>>>

    Get every key of the datastore for a given address.

    §Returns

    A BTreeSet of the datastore keys

    -
    source

    fn reset(&mut self)

    Reset the ledger

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

    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..f2f0c241414 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..2c2485d1fa1 100644 --- a/massa_ledger_worker/ledger/struct.FinalLedger.html +++ b/massa_ledger_worker/ledger/struct.FinalLedger.html @@ -1,4 +1,4 @@ -FinalLedger in massa_ledger_worker::ledger - Rust

      Struct massa_ledger_worker::ledger::FinalLedger

      source ·
      pub struct FinalLedger {
      +FinalLedger in massa_ledger_worker::ledger - Rust

      Struct massa_ledger_worker::ledger::FinalLedger

      source ·
      pub struct FinalLedger {
           pub(crate) config: LedgerConfig,
           pub(crate) sorted_ledger: LedgerDB,
       }
      Expand description

      Represents a final ledger associating addresses to their balances, bytecode and data. @@ -7,18 +7,18 @@ To allow for storage on disk, the ledger uses trees and has O(log(N)) access, insertion and deletion complexity.

      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

      -
      source§

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

      Gets the balance of a ledger entry

      +

      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

      +
      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

      -
      source§

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

      Gets a copy of the bytecode of a ledger entry

      +
      source§

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

      Gets a copy of the bytecode of a ledger entry

      §Returns

      A copy of the found bytecode, or None if the ledger entry was not found

      -
      source§

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

      Checks if a ledger entry exists

      +
      source§

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

      Checks if a ledger entry exists

      §Returns

      true if it exists, false otherwise.

      -
      source§

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

      Gets a copy of the value of a datastore entry for a given address.

      +
      source§

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

      Gets a copy of the value of a datastore entry for a given address.

      §Arguments
      • addr: target address
      • @@ -26,21 +26,24 @@
        §Arguments
      §Returns

      A copy of the datastore value, or None if the ledger entry or datastore entry was not found

      -
      source§

      fn get_datastore_keys( +

      source§

      fn get_datastore_keys( &self, addr: &Address, prefix: &[u8], + start_key: Bound<Vec<u8>>, + end_key: Bound<Vec<u8>>, + count: Option<u32>, ) -> Option<BTreeSet<Vec<u8>>>

      Get every key of the datastore for a given address.

      §Returns

      A BTreeSet of the datastore keys

      -
      source§

      fn reset(&mut self)

      Reset the disk ledger.

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

      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..306114b11f6 100644 --- a/massa_ledger_worker/ledger_db/fn.delete_datastore_entries.html +++ b/massa_ledger_worker/ledger_db/fn.delete_datastore_entries.html @@ -1,4 +1,4 @@ -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>>>,
      diff --git a/massa_ledger_worker/ledger_db/fn.end_prefix.html b/massa_ledger_worker/ledger_db/fn.end_prefix.html
      index f8afc581151..38b9feb3224 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..ab6500e04cb 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..bdf73b34daa 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, @@ -49,19 +49,22 @@

      §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], + start_key: Bound<Vec<u8>>, + end_key: Bound<Vec<u8>>, + count: Option<u32>, ) -> 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, @@ -73,7 +76,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 +87,7 @@

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

    Delete every sub-entry associated to the given address.

    §Arguments

    Re-exports§

    Macros§

    \ No newline at end of file diff --git a/massa_models/active_block/struct.ActiveBlock.html b/massa_models/active_block/struct.ActiveBlock.html index f3912ce0fda..b930643ae36 100644 --- a/massa_models/active_block/struct.ActiveBlock.html +++ b/massa_models/active_block/struct.ActiveBlock.html @@ -19,9 +19,9 @@ §slot: Slot

    Slot of the block.

    §fitness: u64

    Fitness

    §same_thread_parent_creator: Option<Address>

    Same-thread parent creator

    -

    Trait Implementations§

    source§

    impl Clone for ActiveBlock

    source§

    fn clone(&self) -> ActiveBlock

    Returns a copy of 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 ActiveBlock

    source§

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

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

    impl<'de> Deserialize<'de> for ActiveBlock

    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 Serialize for ActiveBlock

    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 +

    Trait Implementations§

    source§

    impl Clone for ActiveBlock

    source§

    fn clone(&self) -> ActiveBlock

    Returns a copy of 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 ActiveBlock

    source§

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

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

    impl<'de> Deserialize<'de> for ActiveBlock

    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 Serialize for ActiveBlock

    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 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 @@ -119,5 +119,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/address/enum.Address.html b/massa_models/address/enum.Address.html index 267962aa13c..e2dd225b983 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,7 +19,7 @@ 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>, @@ -134,7 +134,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where N: Copy + Ord + Hash,

    source§

    impl<T> RuleType for T
    where T: Copy + Debug + Eq + Hash + Ord,

    \ No newline at end of file diff --git a/massa_models/address/enum.SCAddress.html b/massa_models/address/enum.SCAddress.html index 8cd87548f07..2e8efed8c66 100644 --- a/massa_models/address/enum.SCAddress.html +++ b/massa_models/address/enum.SCAddress.html @@ -14,7 +14,7 @@ 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>, diff --git a/massa_models/address/enum.UserAddress.html b/massa_models/address/enum.UserAddress.html index 84fede5c9bb..26dcdb45a93 100644 --- a/massa_models/address/enum.UserAddress.html +++ b/massa_models/address/enum.UserAddress.html @@ -16,7 +16,7 @@ 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>, diff --git a/massa_models/address/struct.AddressDeserializer.html b/massa_models/address/struct.AddressDeserializer.html index c9a902af1ec..46d437e95ce 100644 --- a/massa_models/address/struct.AddressDeserializer.html +++ b/massa_models/address/struct.AddressDeserializer.html @@ -7,13 +7,13 @@

    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]>>( diff --git a/massa_models/address/struct.AddressSerializer.html b/massa_models/address/struct.AddressSerializer.html index 0cef8eef8c5..2afc76a6fc5 100644 --- a/massa_models/address/struct.AddressSerializer.html +++ b/massa_models/address/struct.AddressSerializer.html @@ -3,23 +3,23 @@ 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

    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>, diff --git a/massa_models/address/struct.ExecutionAddressCycleInfo.html b/massa_models/address/struct.ExecutionAddressCycleInfo.html index ba64d09ebd1..1f7f83e300b 100644 --- a/massa_models/address/struct.ExecutionAddressCycleInfo.html +++ b/massa_models/address/struct.ExecutionAddressCycleInfo.html @@ -10,9 +10,9 @@

    §ok_count: u64

    ok_count blocks were created by this address during that cycle

    §nok_count: u64

    ok_count blocks were missed by this address during that cycle

    §active_rolls: Option<u64>

    number of active rolls the address had at that cycle (if still available)

    -

    Trait Implementations§

    source§

    impl Clone for ExecutionAddressCycleInfo

    source§

    fn clone(&self) -> ExecutionAddressCycleInfo

    Returns a copy of 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 ExecutionAddressCycleInfo

    source§

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

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

    impl<'de> Deserialize<'de> for ExecutionAddressCycleInfo

    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 Serialize for ExecutionAddressCycleInfo

    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 +

    Trait Implementations§

    source§

    impl Clone for ExecutionAddressCycleInfo

    source§

    fn clone(&self) -> ExecutionAddressCycleInfo

    Returns a copy of 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 ExecutionAddressCycleInfo

    source§

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

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

    impl<'de> Deserialize<'de> for ExecutionAddressCycleInfo

    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 Serialize for ExecutionAddressCycleInfo

    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 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 @@ -110,5 +110,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/address/struct.SCAddressV0.html b/massa_models/address/struct.SCAddressV0.html index 54700fd5c0c..9b106d1fced 100644 --- a/massa_models/address/struct.SCAddressV0.html +++ b/massa_models/address/struct.SCAddressV0.html @@ -14,7 +14,7 @@ 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>, diff --git a/massa_models/address/struct.UserAddressV0.html b/massa_models/address/struct.UserAddressV0.html index 5832f38e9bb..e927a0ecc75 100644 --- a/massa_models/address/struct.UserAddressV0.html +++ b/massa_models/address/struct.UserAddressV0.html @@ -16,7 +16,7 @@ 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>, diff --git a/massa_models/all.html b/massa_models/all.html index 834ed920bd5..d3a235dc4f2 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..414c04774b3 100644 --- a/massa_models/amount/struct.Amount.html +++ b/massa_models/amount/struct.Amount.html @@ -89,8 +89,8 @@ 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
    @@ -111,7 +111,7 @@
    let value = Amount::from_str("11.111").unwrap();
     assert_eq!(format!("{}", value), "11.111")
    -
    source§

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

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

    impl From<Amount> for NativeAmount

    source§

    fn from(value: Amount) -> Self

    Converts to this type from the input type.
    source§

    impl FromStr for Amount

    build an Amount from decimal string form (like “10.33”) +

    source§

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

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

    impl From<Amount> for NativeAmount

    source§

    fn from(value: Amount) -> Self

    Converts to this type from the input type.
    source§

    impl FromStr for Amount

    build an Amount from decimal string form (like “10.33”) note that this will fail if the string format is invalid or if the conversion would cause an overflow, underflow or precision loss

    @@ -127,8 +127,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 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

    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

    source§

    fn serialize( &self, value: &Amount, buffer: &mut Vec<u8>, @@ -250,5 +250,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/amount/struct.AmountVisitor.html b/massa_models/amount/struct.AmountVisitor.html index 64f0590a113..399ee264dd1 100644 --- a/massa_models/amount/struct.AmountVisitor.html +++ b/massa_models/amount/struct.AmountVisitor.html @@ -1,57 +1,57 @@ -AmountVisitor in massa_models::amount - Rust

    Struct massa_models::amount::AmountVisitor

    source ·
    struct AmountVisitor;

    Trait Implementations§

    source§

    impl<'de> Visitor<'de> for AmountVisitor

    §

    type Value = Amount

    The value produced by this visitor.
    source§

    fn visit_str<E>(self, value: &str) -> Result<Amount, E>
    where - E: Error,

    The input contains a string. The lifetime of the string is ephemeral and -it may be destroyed after this method returns. Read more
    source§

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

    Format a message stating what data this Visitor expects to receive. Read more
    source§

    fn visit_bool<E>(self, v: bool) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a boolean. Read more
    source§

    fn visit_i8<E>(self, v: i8) -> Result<Self::Value, E>
    where - E: Error,

    The input contains an i8. Read more
    source§

    fn visit_i16<E>(self, v: i16) -> Result<Self::Value, E>
    where - E: Error,

    The input contains an i16. Read more
    source§

    fn visit_i32<E>(self, v: i32) -> Result<Self::Value, E>
    where - E: Error,

    The input contains an i32. Read more
    source§

    fn visit_i64<E>(self, v: i64) -> Result<Self::Value, E>
    where - E: Error,

    The input contains an i64. Read more
    source§

    fn visit_i128<E>(self, v: i128) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a i128. Read more
    source§

    fn visit_u8<E>(self, v: u8) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a u8. Read more
    source§

    fn visit_u16<E>(self, v: u16) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a u16. Read more
    source§

    fn visit_u32<E>(self, v: u32) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a u32. Read more
    source§

    fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a u64. Read more
    source§

    fn visit_u128<E>(self, v: u128) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a u128. Read more
    source§

    fn visit_f32<E>(self, v: f32) -> Result<Self::Value, E>
    where - E: Error,

    The input contains an f32. Read more
    source§

    fn visit_f64<E>(self, v: f64) -> Result<Self::Value, E>
    where - E: Error,

    The input contains an f64. Read more
    source§

    fn visit_char<E>(self, v: char) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a char. Read more
    source§

    fn visit_borrowed_str<E>(self, v: &'de str) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a string that lives at least as long as the -Deserializer. Read more
    source§

    fn visit_string<E>(self, v: String) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a string and ownership of the string is being given -to the Visitor. Read more
    source§

    fn visit_bytes<E>(self, v: &[u8]) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a byte array. The lifetime of the byte array is -ephemeral and it may be destroyed after this method returns. Read more
    source§

    fn visit_borrowed_bytes<E>(self, v: &'de [u8]) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a byte array that lives at least as long as the -Deserializer. Read more
    source§

    fn visit_byte_buf<E>(self, v: Vec<u8>) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a byte array and ownership of the byte array is being -given to the Visitor. Read more
    source§

    fn visit_none<E>(self) -> Result<Self::Value, E>
    where - E: Error,

    The input contains an optional that is absent. Read more
    source§

    fn visit_some<D>( +AmountVisitor in massa_models::amount - Rust

    Struct massa_models::amount::AmountVisitor

    source ·
    struct AmountVisitor;

    Trait Implementations§

    source§

    impl<'de> Visitor<'de> for AmountVisitor

    §

    type Value = Amount

    The value produced by this visitor.
    source§

    fn visit_str<E>(self, value: &str) -> Result<Amount, E>
    where + E: Error,

    The input contains a string. The lifetime of the string is ephemeral and +it may be destroyed after this method returns. Read more
    source§

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

    Format a message stating what data this Visitor expects to receive. Read more
    source§

    fn visit_bool<E>(self, v: bool) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a boolean. Read more
    source§

    fn visit_i8<E>(self, v: i8) -> Result<Self::Value, E>
    where + E: Error,

    The input contains an i8. Read more
    source§

    fn visit_i16<E>(self, v: i16) -> Result<Self::Value, E>
    where + E: Error,

    The input contains an i16. Read more
    source§

    fn visit_i32<E>(self, v: i32) -> Result<Self::Value, E>
    where + E: Error,

    The input contains an i32. Read more
    source§

    fn visit_i64<E>(self, v: i64) -> Result<Self::Value, E>
    where + E: Error,

    The input contains an i64. Read more
    source§

    fn visit_i128<E>(self, v: i128) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a i128. Read more
    source§

    fn visit_u8<E>(self, v: u8) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a u8. Read more
    source§

    fn visit_u16<E>(self, v: u16) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a u16. Read more
    source§

    fn visit_u32<E>(self, v: u32) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a u32. Read more
    source§

    fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a u64. Read more
    source§

    fn visit_u128<E>(self, v: u128) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a u128. Read more
    source§

    fn visit_f32<E>(self, v: f32) -> Result<Self::Value, E>
    where + E: Error,

    The input contains an f32. Read more
    source§

    fn visit_f64<E>(self, v: f64) -> Result<Self::Value, E>
    where + E: Error,

    The input contains an f64. Read more
    source§

    fn visit_char<E>(self, v: char) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a char. Read more
    source§

    fn visit_borrowed_str<E>(self, v: &'de str) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a string that lives at least as long as the +Deserializer. Read more
    source§

    fn visit_string<E>(self, v: String) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a string and ownership of the string is being given +to the Visitor. Read more
    source§

    fn visit_bytes<E>(self, v: &[u8]) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a byte array. The lifetime of the byte array is +ephemeral and it may be destroyed after this method returns. Read more
    source§

    fn visit_borrowed_bytes<E>(self, v: &'de [u8]) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a byte array that lives at least as long as the +Deserializer. Read more
    source§

    fn visit_byte_buf<E>(self, v: Vec<u8>) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a byte array and ownership of the byte array is being +given to the Visitor. Read more
    source§

    fn visit_none<E>(self) -> Result<Self::Value, E>
    where + E: Error,

    The input contains an optional that is absent. Read more
    source§

    fn visit_some<D>( self, deserializer: D, -) -> Result<Self::Value, <D as Deserializer<'de>>::Error>
    where - D: Deserializer<'de>,

    The input contains an optional that is present. Read more
    source§

    fn visit_unit<E>(self) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a unit (). Read more
    source§

    fn visit_newtype_struct<D>( +) -> Result<Self::Value, <D as Deserializer<'de>>::Error>
    where + D: Deserializer<'de>,

    The input contains an optional that is present. Read more
    source§

    fn visit_unit<E>(self) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a unit (). Read more
    source§

    fn visit_newtype_struct<D>( self, deserializer: D, -) -> Result<Self::Value, <D as Deserializer<'de>>::Error>
    where - D: Deserializer<'de>,

    The input contains a newtype struct. Read more
    source§

    fn visit_seq<A>( +) -> Result<Self::Value, <D as Deserializer<'de>>::Error>
    where + D: Deserializer<'de>,

    The input contains a newtype struct. Read more
    source§

    fn visit_seq<A>( self, seq: A, -) -> Result<Self::Value, <A as SeqAccess<'de>>::Error>
    where - A: SeqAccess<'de>,

    The input contains a sequence of elements. Read more
    source§

    fn visit_map<A>( +) -> Result<Self::Value, <A as SeqAccess<'de>>::Error>
    where + A: SeqAccess<'de>,

    The input contains a sequence of elements. Read more
    source§

    fn visit_map<A>( self, map: A, -) -> Result<Self::Value, <A as MapAccess<'de>>::Error>
    where - A: MapAccess<'de>,

    The input contains a key-value map. Read more
    source§

    fn visit_enum<A>( +) -> Result<Self::Value, <A as MapAccess<'de>>::Error>
    where + A: MapAccess<'de>,

    The input contains a key-value map. Read more
    source§

    fn visit_enum<A>( self, data: A, -) -> Result<Self::Value, <A as EnumAccess<'de>>::Error>
    where - A: EnumAccess<'de>,

    The input contains an enum. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<Self::Value, <A as EnumAccess<'de>>::Error>
    where + A: EnumAccess<'de>,

    The input contains an enum. 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 - Self: Into<T>,

    Converts self into T using Into<T>. Read more
    source§

    impl<'de, T> Expected for T
    where - T: Visitor<'de>,

    source§

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

    Format an explanation of what data was being expected. Same signature as + Self: Into<T>,
    Converts self into T using Into<T>. Read more
    source§

    impl<'de, T> Expected for T
    where + T: Visitor<'de>,

    source§

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

    Format an explanation of what data was being expected. Same signature as the Display and Debug traits.
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where Self: Display,

    Causes self to use its Display implementation when diff --git a/massa_models/block/enum.BlockGraphStatus.html b/massa_models/block/enum.BlockGraphStatus.html index c5e210d4b2e..2ede7f3ecb2 100644 --- a/massa_models/block/enum.BlockGraphStatus.html +++ b/massa_models/block/enum.BlockGraphStatus.html @@ -16,11 +16,11 @@
    §

    Final

    forever applies

    §

    Discarded

    discarded for any reason

    §

    NotFound

    not found in graph

    -

    Trait Implementations§

    source§

    impl Debug for BlockGraphStatus

    source§

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

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

    impl<'de> Deserialize<'de> for BlockGraphStatus

    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 From<BlockGraphStatus> for i32

    source§

    fn from(value: BlockGraphStatus) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for BlockGraphStatus

    source§

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

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

    Trait Implementations§

    source§

    impl Debug for BlockGraphStatus

    source§

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

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

    impl<'de> Deserialize<'de> for BlockGraphStatus

    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 From<BlockGraphStatus> for i32

    source§

    fn from(value: BlockGraphStatus) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for BlockGraphStatus

    source§

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

    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 BlockGraphStatus

    source§

    impl StructuralPartialEq for BlockGraphStatus

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for BlockGraphStatus

    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 BlockGraphStatus

    source§

    impl StructuralPartialEq for BlockGraphStatus

    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 @@ -121,5 +121,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/block/struct.Block.html b/massa_models/block/struct.Block.html index d6178cbd191..736f0046bd3 100644 --- a/massa_models/block/struct.Block.html +++ b/massa_models/block/struct.Block.html @@ -4,11 +4,11 @@ }
    Expand description

    block

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

    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]>>( &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};
    @@ -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};
    @@ -295,5 +295,5 @@
         V: MultiLane<T>,
    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/block/struct.FilledBlock.html b/massa_models/block/struct.FilledBlock.html index 6ced2be3dc2..27af40cf421 100644 --- a/massa_models/block/struct.FilledBlock.html +++ b/massa_models/block/struct.FilledBlock.html @@ -4,9 +4,9 @@ }
    Expand description

    filled block

    Fields§

    §header: SecuredHeader

    signed header

    §operations: Vec<(OperationId, Option<SecureShareOperation>)>

    operations

    -

    Trait Implementations§

    source§

    impl Clone for FilledBlock

    source§

    fn clone(&self) -> FilledBlock

    Returns a copy of 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 FilledBlock

    source§

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

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

    impl<'de> Deserialize<'de> for FilledBlock

    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 From<FilledBlock> for FilledBlock

    source§

    fn from(value: FilledBlock) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for FilledBlock

    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 +

    Trait Implementations§

    source§

    impl Clone for FilledBlock

    source§

    fn clone(&self) -> FilledBlock

    Returns a copy of 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 FilledBlock

    source§

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

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

    impl<'de> Deserialize<'de> for FilledBlock

    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 From<FilledBlock> for FilledBlock

    source§

    fn from(value: FilledBlock) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for FilledBlock

    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 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 @@ -104,5 +104,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/block_header/struct.BlockHeader.html b/massa_models/block_header/struct.BlockHeader.html index f85de9c5b11..524de894b46 100644 --- a/massa_models/block_header/struct.BlockHeader.html +++ b/massa_models/block_header/struct.BlockHeader.html @@ -14,11 +14,11 @@ §operation_merkle_root: Hash

    all operations hash

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

    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]>>( &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};
    @@ -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>( +) -> 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;
    @@ -260,5 +260,5 @@
         V: MultiLane<T>,
    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/block_id/enum.BlockId.html b/massa_models/block_id/enum.BlockId.html index e4c00112041..65d291722ea 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);
    @@ -22,9 +22,9 @@ 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 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§

    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( &self, value: &BlockId, buffer: &mut Vec<u8>, @@ -139,7 +139,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where N: Copy + Ord + Hash,

    source§

    impl<T> RuleType for T
    where T: Copy + Debug + Eq + Hash + Ord,

    \ No newline at end of file diff --git a/massa_models/block_id/struct.BlockIdV0.html b/massa_models/block_id/struct.BlockIdV0.html index 168285a2e60..c5139f3e41d 100644 --- a/massa_models/block_id/struct.BlockIdV0.html +++ b/massa_models/block_id/struct.BlockIdV0.html @@ -1,10 +1,10 @@ BlockIdV0 in massa_models::block_id - Rust

    Struct massa_models::block_id::BlockIdV0

    source ·
    pub struct BlockIdV0(pub Hash);
    Expand description

    block id

    Tuple Fields§

    §0: Hash

    Implementations§

    source§

    impl BlockIdV0

    source

    fn get_hash(&self) -> &Hash

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

    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 @@ -16,9 +16,9 @@ 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 BlockIdV0

    source§

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

    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

    source§

    fn serialize( &self, value: &BlockIdV0, buffer: &mut Vec<u8>, @@ -133,6 +133,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where N: Copy + Ord + Hash,

    \ No newline at end of file diff --git a/massa_models/bytecode/struct.Bytecode.html b/massa_models/bytecode/struct.Bytecode.html index 508b3b46690..5fe68891eef 100644 --- a/massa_models/bytecode/struct.Bytecode.html +++ b/massa_models/bytecode/struct.Bytecode.html @@ -1,12 +1,12 @@ 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]>>( +

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

    source§

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

    source§

    fn serialize( &self, value: &Bytecode, buffer: &mut Vec<u8>, @@ -114,5 +114,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/clique/struct.Clique.html b/massa_models/clique/struct.Clique.html index 958953b2eb2..7e91153ec8a 100644 --- a/massa_models/clique/struct.Clique.html +++ b/massa_models/clique/struct.Clique.html @@ -7,8 +7,8 @@ §fitness: u64

    Fitness used to compute finality 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]>>( +

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

    §Example
    @@ -25,8 +25,8 @@ assert_eq!(clique.block_ids, clique_deserialized.block_ids); 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

    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

    source§

    fn serialize( &self, value: &Clique, buffer: &mut Vec<u8>, @@ -137,5 +137,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/composite/enum.OperationSearchResultBlockStatus.html b/massa_models/composite/enum.OperationSearchResultBlockStatus.html index c41df1f1054..6416daadec9 100644 --- a/massa_models/composite/enum.OperationSearchResultBlockStatus.html +++ b/massa_models/composite/enum.OperationSearchResultBlockStatus.html @@ -10,9 +10,9 @@
    §

    WaitingForDependencies

    the block waits for dependencies for further processing

    §

    Active

    the block has been processed and is valid

    §

    Discarded

    the block is discarded

    -

    Trait Implementations§

    source§

    impl Clone for OperationSearchResultBlockStatus

    source§

    fn clone(&self) -> OperationSearchResultBlockStatus

    Returns a copy of 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 OperationSearchResultBlockStatus

    source§

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

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

    impl<'de> Deserialize<'de> for OperationSearchResultBlockStatus

    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 Serialize for OperationSearchResultBlockStatus

    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 +

    Trait Implementations§

    source§

    impl Clone for OperationSearchResultBlockStatus

    source§

    fn clone(&self) -> OperationSearchResultBlockStatus

    Returns a copy of 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 OperationSearchResultBlockStatus

    source§

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

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

    impl<'de> Deserialize<'de> for OperationSearchResultBlockStatus

    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 Serialize for OperationSearchResultBlockStatus

    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 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 @@ -110,5 +110,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/composite/enum.OperationSearchResultStatus.html b/massa_models/composite/enum.OperationSearchResultStatus.html index 733f1dc898e..5bc6a797019 100644 --- a/massa_models/composite/enum.OperationSearchResultStatus.html +++ b/massa_models/composite/enum.OperationSearchResultStatus.html @@ -6,9 +6,9 @@

    Variants§

    §

    Pending

    in pool

    §

    InBlock(OperationSearchResultBlockStatus)

    in a block, the block being in [OperationSearchResultBlockStatus]

    §

    Discarded

    discarded

    -

    Trait Implementations§

    source§

    impl Clone for OperationSearchResultStatus

    source§

    fn clone(&self) -> OperationSearchResultStatus

    Returns a copy of 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 OperationSearchResultStatus

    source§

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

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

    impl<'de> Deserialize<'de> for OperationSearchResultStatus

    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 Serialize for OperationSearchResultStatus

    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 +

    Trait Implementations§

    source§

    impl Clone for OperationSearchResultStatus

    source§

    fn clone(&self) -> OperationSearchResultStatus

    Returns a copy of 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 OperationSearchResultStatus

    source§

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

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

    impl<'de> Deserialize<'de> for OperationSearchResultStatus

    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 Serialize for OperationSearchResultStatus

    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 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 @@ -106,5 +106,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/composite/struct.OperationSearchResult.html b/massa_models/composite/struct.OperationSearchResult.html index daf1cddb4fd..b3c87a8a5fb 100644 --- a/massa_models/composite/struct.OperationSearchResult.html +++ b/massa_models/composite/struct.OperationSearchResult.html @@ -9,9 +9,9 @@ §in_blocks: PreHashMap<BlockId, (usize, bool)>

    maps block id to index on the operation in the block and if it’s final

    §status: OperationSearchResultStatus

    operation status

    Implementations§

    source§

    impl OperationSearchResult

    source

    pub fn extend(&mut self, other: &OperationSearchResult)

    combine two operation search result

    -

    Trait Implementations§

    source§

    impl Clone for OperationSearchResult

    source§

    fn clone(&self) -> OperationSearchResult

    Returns a copy of 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 OperationSearchResult

    source§

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

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

    impl<'de> Deserialize<'de> for OperationSearchResult

    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 Serialize for OperationSearchResult

    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 +

    Trait Implementations§

    source§

    impl Clone for OperationSearchResult

    source§

    fn clone(&self) -> OperationSearchResult

    Returns a copy of 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 OperationSearchResult

    source§

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

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

    impl<'de> Deserialize<'de> for OperationSearchResult

    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 Serialize for OperationSearchResult

    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 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 @@ -109,5 +109,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/composite/struct.PubkeySig.html b/massa_models/composite/struct.PubkeySig.html index 42f01172e04..10966181cd3 100644 --- a/massa_models/composite/struct.PubkeySig.html +++ b/massa_models/composite/struct.PubkeySig.html @@ -5,9 +5,9 @@ used for serialization/deserialization purpose

    Fields§

    §public_key: PublicKey

    public key

    §signature: Signature

    signature

    -

    Trait Implementations§

    source§

    impl Clone for PubkeySig

    source§

    fn clone(&self) -> PubkeySig

    Returns a copy of 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 PubkeySig

    source§

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

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

    impl<'de> Deserialize<'de> for PubkeySig

    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 PubkeySig

    source§

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

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

    impl Serialize for PubkeySig

    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 +

    Trait Implementations§

    source§

    impl Clone for PubkeySig

    source§

    fn clone(&self) -> PubkeySig

    Returns a copy of 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 PubkeySig

    source§

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

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

    impl<'de> Deserialize<'de> for PubkeySig

    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 PubkeySig

    source§

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

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

    impl Serialize for PubkeySig

    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 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 @@ -106,5 +106,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/composite/struct.StakersCycleProductionStats.html b/massa_models/composite/struct.StakersCycleProductionStats.html index 77790d35d7c..0f09ec20248 100644 --- a/massa_models/composite/struct.StakersCycleProductionStats.html +++ b/massa_models/composite/struct.StakersCycleProductionStats.html @@ -7,9 +7,9 @@ §is_final: bool

    if that cycle is final

    §ok_nok_counts: PreHashMap<Address, (u64, u64)>

    map address to produced valid block count and not valid but expected block count really a re arranged [crate::address::AddressCycleProductionStats]

    -

    Trait Implementations§

    source§

    impl Clone for StakersCycleProductionStats

    source§

    fn clone(&self) -> StakersCycleProductionStats

    Returns a copy of 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 StakersCycleProductionStats

    source§

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

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

    impl<'de> Deserialize<'de> for StakersCycleProductionStats

    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 Serialize for StakersCycleProductionStats

    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 +

    Trait Implementations§

    source§

    impl Clone for StakersCycleProductionStats

    source§

    fn clone(&self) -> StakersCycleProductionStats

    Returns a copy of 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 StakersCycleProductionStats

    source§

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

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

    impl<'de> Deserialize<'de> for StakersCycleProductionStats

    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 Serialize for StakersCycleProductionStats

    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 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 @@ -107,5 +107,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/config/compact_config/struct.CompactConfig.html b/massa_models/config/compact_config/struct.CompactConfig.html index fadbf598a32..5457dbede7e 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,19 +10,19 @@
         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 - __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 +

    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 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 @@ -122,5 +122,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ 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..de33445a60e 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.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..2c2e13a5319 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/struct.END_TIMESTAMP.html b/massa_models/config/constants/struct.END_TIMESTAMP.html index 492d436af12..94bb34b3564 100644 --- a/massa_models/config/constants/struct.END_TIMESTAMP.html +++ b/massa_models/config/constants/struct.END_TIMESTAMP.html @@ -1,7 +1,7 @@ END_TIMESTAMP in massa_models::config::constants - Rust

    Struct massa_models::config::constants::END_TIMESTAMP

    source ·
    pub struct END_TIMESTAMP {
         __private_field: (),
     }
    Expand description

    TESTNET: time when the blockclique is ended.

    -

    Fields§

    §__private_field: ()

    Methods from Deref<Target = Option<MassaTime>>§

    1.0.0 · source

    pub fn is_some(&self) -> bool

    Returns true if the option is a Some value.

    +

    Fields§

    §__private_field: ()

    Methods from Deref<Target = Option<MassaTime>>§

    1.0.0 · source

    pub fn is_some(&self) -> bool

    Returns true if the option is a Some value.

    §Examples
    let x: Option<u32> = Some(2);
     assert_eq!(x.is_some(), true);
    @@ -62,7 +62,7 @@ 
    §Examples
    let x: Option<u32> = None; assert_eq!(x.iter().next(), None);
    -

    Trait Implementations§

    source§

    impl Deref for END_TIMESTAMP

    §

    type Target = Option<MassaTime>

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Option<MassaTime>

    Dereferences the value.
    source§

    impl LazyStatic for END_TIMESTAMP

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Deref for END_TIMESTAMP

    §

    type Target = Option<MassaTime>

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Option<MassaTime>

    Dereferences the value.
    source§

    impl LazyStatic for END_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/constants/struct.GENESIS_TIMESTAMP.html b/massa_models/config/constants/struct.GENESIS_TIMESTAMP.html index 832ab5d05f3..6302e3a971a 100644 --- a/massa_models/config/constants/struct.GENESIS_TIMESTAMP.html +++ b/massa_models/config/constants/struct.GENESIS_TIMESTAMP.html @@ -3,38 +3,38 @@ }
    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/fn.build_massa_settings.html b/massa_models/config/fn.build_massa_settings.html index ad06282e32f..43d0c397c33 100644 --- a/massa_models/config/fn.build_massa_settings.html +++ b/massa_models/config/fn.build_massa_settings.html @@ -1,4 +1,4 @@ -build_massa_settings in massa_models::config - Rust

    Function massa_models::config::build_massa_settings

    source ·
    pub fn build_massa_settings<T: Deserialize<'static>>(
    +build_massa_settings in massa_models::config - Rust

    Function massa_models::config::build_massa_settings

    source ·
    pub fn build_massa_settings<T: Deserialize<'static>>(
         app_name: &str,
         env_prefix: &str,
     ) -> T
    Expand description

    Merge the settings

    diff --git a/massa_models/config/massa_settings/fn.build_massa_settings.html b/massa_models/config/massa_settings/fn.build_massa_settings.html index 6826496b5e9..64ec3a031c7 100644 --- a/massa_models/config/massa_settings/fn.build_massa_settings.html +++ b/massa_models/config/massa_settings/fn.build_massa_settings.html @@ -1,4 +1,4 @@ -build_massa_settings in massa_models::config::massa_settings - Rust
    pub fn build_massa_settings<T: Deserialize<'static>>(
    +build_massa_settings in massa_models::config::massa_settings - Rust
    pub fn build_massa_settings<T: Deserialize<'static>>(
         app_name: &str,
         env_prefix: &str,
     ) -> T
    Expand description

    Merge the settings

    diff --git a/massa_models/config/struct.CompactConfig.html b/massa_models/config/struct.CompactConfig.html index 61e65453ab3..4e2b87d90cb 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,19 +10,19 @@
         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 - __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 +

    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 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 @@ -122,5 +122,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/datastore/fn.cleanup_datastore_key_range_query.html b/massa_models/datastore/fn.cleanup_datastore_key_range_query.html new file mode 100644 index 00000000000..7fcbeb20891 --- /dev/null +++ b/massa_models/datastore/fn.cleanup_datastore_key_range_query.html @@ -0,0 +1,11 @@ +cleanup_datastore_key_range_query in massa_models::datastore - Rust
    pub fn cleanup_datastore_key_range_query(
    +    prefix: &[u8],
    +    start_bound: Bound<Vec<u8>>,
    +    end_bound: Bound<Vec<u8>>,
    +    count: Option<u32>,
    +    max_datastore_key_length: u8,
    +    max_datastore_query_config: Option<u32>,
    +) -> Result<(Vec<u8>, Bound<Vec<u8>>, Bound<Vec<u8>>), ModelsError>
    Expand description

    Checks and cleans up a datastore key range query +Returns: (prefix, start_bound, end_bound) or error +Note: only useful to cleanup user-supplied requests (API/ABI)

    +
    \ No newline at end of file diff --git a/massa_models/datastore/fn.get_prefix_bounds.html b/massa_models/datastore/fn.get_prefix_bounds.html index db6cbe73b7b..ab387a3279a 100644 --- a/massa_models/datastore/fn.get_prefix_bounds.html +++ b/massa_models/datastore/fn.get_prefix_bounds.html @@ -1,3 +1,3 @@ -get_prefix_bounds in massa_models::datastore - Rust

    Function massa_models::datastore::get_prefix_bounds

    source ·
    pub fn get_prefix_bounds(prefix: &[u8]) -> (Bound<Vec<u8>>, Bound<Vec<u8>>)
    Expand description

    For lexicographically ordered keys, +get_prefix_bounds in massa_models::datastore - Rust

    Function massa_models::datastore::get_prefix_bounds

    source ·
    pub fn get_prefix_bounds(prefix: &[u8]) -> (Bound<Vec<u8>>, Bound<Vec<u8>>)
    Expand description

    For lexicographically ordered keys, gets the upper and lower bound of keys matching a prefix.

    \ No newline at end of file diff --git a/massa_models/datastore/fn.range_intersection.html b/massa_models/datastore/fn.range_intersection.html new file mode 100644 index 00000000000..faa07ac75e9 --- /dev/null +++ b/massa_models/datastore/fn.range_intersection.html @@ -0,0 +1,5 @@ +range_intersection in massa_models::datastore - Rust

    Function massa_models::datastore::range_intersection

    source ·
    pub fn range_intersection<T: Ord>(
    +    r1: (Bound<T>, Bound<T>),
    +    r2: (Bound<T>, Bound<T>),
    +) -> Option<(Bound<T>, Bound<T>)>
    Expand description

    Return the intersection of two ranges

    +
    \ No newline at end of file diff --git a/massa_models/datastore/index.html b/massa_models/datastore/index.html index 5dbd67a2606..b46723220f4 100644 --- a/massa_models/datastore/index.html +++ b/massa_models/datastore/index.html @@ -1,6 +1,8 @@ -massa_models::datastore - Rust

    Module massa_models::datastore

    source ·
    Expand description

    datastore serialization / deserialization

    -

    Structs§

    Functions§

    • For lexicographically ordered keys, -gets the upper and lower bound of keys matching a prefix.

    Type Aliases§

    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..6bb13c3c6d2 100644 --- a/massa_models/datastore/struct.DatastoreSerializer.html +++ b/massa_models/datastore/struct.DatastoreSerializer.html @@ -1,9 +1,9 @@ -DatastoreSerializer in massa_models::datastore - Rust

    Struct massa_models::datastore::DatastoreSerializer

    source ·
    pub struct DatastoreSerializer {
    +DatastoreSerializer in massa_models::datastore - Rust

    Struct massa_models::datastore::DatastoreSerializer

    source ·
    pub struct DatastoreSerializer {
         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>, diff --git a/massa_models/datastore/type.Datastore.html b/massa_models/datastore/type.Datastore.html index 06e815c1512..55a069dccc9 100644 --- a/massa_models/datastore/type.Datastore.html +++ b/massa_models/datastore/type.Datastore.html @@ -1,4 +1,4 @@ -Datastore in massa_models::datastore - Rust

    Type Alias massa_models::datastore::Datastore

    source ·
    pub type Datastore = BTreeMap<Vec<u8>, Vec<u8>>;
    Expand description

    Datastore entry for Ledger & ExecuteSC Operation +Datastore in massa_models::datastore - Rust

    Type Alias massa_models::datastore::Datastore

    source ·
    pub type Datastore = BTreeMap<Vec<u8>, Vec<u8>>;
    Expand description

    Datastore entry for Ledger & ExecuteSC Operation A Datastore is a Key Value store where Key: Byte array (max length should be 255) Value: Byte array diff --git a/massa_models/deferred_calls/enum.DeferredCallId.html b/massa_models/deferred_calls/enum.DeferredCallId.html index 56761143f28..61999460196 100644 --- a/massa_models/deferred_calls/enum.DeferredCallId.html +++ b/massa_models/deferred_calls/enum.DeferredCallId.html @@ -9,7 +9,7 @@ ) -> 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 @@ -21,8 +21,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 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>, @@ -136,5 +136,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/denunciation/enum.Denunciation.html b/massa_models/denunciation/enum.Denunciation.html index a76247f2716..1adcdc8f8a2 100644 --- a/massa_models/denunciation/enum.Denunciation.html +++ b/massa_models/denunciation/enum.Denunciation.html @@ -27,15 +27,15 @@
  • A final slot period (for example in order to cleanup denunciation pool caches)
  • 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]>>( +

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

    source§

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

    source§

    fn serialize( &self, value: &Denunciation, buffer: &mut Vec<u8>, @@ -43,10 +43,10 @@

    §

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

    §

    type Error = DenunciationError

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

    fn try_from( (s_e1, s_e2): (&SecureShareEndorsement, &SecureShareEndorsement), ) -> Result<Self, Self::Error>

    Performs the conversion.
    source§

    impl StructuralPartialEq for Denunciation

    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 @@ -146,5 +146,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/denunciation/enum.DenunciationError.html b/massa_models/denunciation/enum.DenunciationError.html index 00c752f8186..ff70ea054d3 100644 --- a/massa_models/denunciation/enum.DenunciationError.html +++ b/massa_models/denunciation/enum.DenunciationError.html @@ -3,7 +3,7 @@ Signature(MassaSignatureError), 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 ea1df0d718d..67945d85000 100644 --- a/massa_models/denunciation/enum.DenunciationIndex.html +++ b/massa_models/denunciation/enum.DenunciationIndex.html @@ -15,13 +15,13 @@

    Implementations§

    source§

    impl DenunciationIndex

    source

    pub fn get_slot(&self) -> &Slot

    Get field: slot

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

    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]>>( &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 +
    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 @@ -30,8 +30,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 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

    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

    source§

    fn serialize( &self, value: &DenunciationIndex, buffer: &mut Vec<u8>, @@ -145,7 +145,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where N: Copy + Ord + Hash,

    source§

    impl<T> RuleType for T
    where T: Copy + Debug + Eq + Hash + Ord,

    \ No newline at end of file diff --git a/massa_models/denunciation/enum.DenunciationIndexTypeId.html b/massa_models/denunciation/enum.DenunciationIndexTypeId.html index 762984ba0e0..d1934a6cc26 100644 --- a/massa_models/denunciation/enum.DenunciationIndexTypeId.html +++ b/massa_models/denunciation/enum.DenunciationIndexTypeId.html @@ -1,9 +1,9 @@ DenunciationIndexTypeId in massa_models::denunciation - Rust
    #[repr(u32)]
    enum DenunciationIndexTypeId { BlockHeader = 0, 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 +}

    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 b7dec5b5aaf..a4ec9205b2b 100644 --- a/massa_models/denunciation/struct.BlockHeaderDenunciation.html +++ b/massa_models/denunciation/struct.BlockHeaderDenunciation.html @@ -11,14 +11,14 @@ slot: &Slot, 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]>>( +

    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]>>( &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 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>, @@ -120,5 +120,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/denunciation/struct.EndorsementDenunciation.html b/massa_models/denunciation/struct.EndorsementDenunciation.html index f4fd61eb327..5d5793b01ae 100644 --- a/massa_models/denunciation/struct.EndorsementDenunciation.html +++ b/massa_models/denunciation/struct.EndorsementDenunciation.html @@ -13,14 +13,14 @@ index: &u32, 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]>>( +

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

    source§

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

    source§

    fn serialize( &self, value: &EndorsementDenunciation, buffer: &mut Vec<u8>, @@ -122,5 +122,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/endorsement/enum.EndorsementId.html b/massa_models/endorsement/enum.EndorsementId.html index 93d9c92fc18..530aa431b34 100644 --- a/massa_models/endorsement/enum.EndorsementId.html +++ b/massa_models/endorsement/enum.EndorsementId.html @@ -1,13 +1,13 @@ EndorsementId in massa_models::endorsement - Rust

    Enum massa_models::endorsement::EndorsementId

    source ·
    pub enum EndorsementId {
         EndorsementIdV0(EndorsementIdV0),
     }
    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 +

    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);
    @@ -20,9 +20,9 @@ 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 EndorsementId

    source§

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

    source§

    impl Eq for EndorsementId

    source§

    impl PreHashed for EndorsementId

    source§

    impl StructuralPartialEq for EndorsementId

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +operator. Read more

    source§

    impl Serialize for EndorsementId
    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 Copy for EndorsementId

    source§

    impl Eq for EndorsementId

    source§

    impl PreHashed for EndorsementId

    source§

    impl StructuralPartialEq for EndorsementId

    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 @@ -133,7 +133,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where N: Copy + Ord + Hash,

    source§

    impl<T> RuleType for T
    where T: Copy + Debug + Eq + Hash + Ord,

    \ No newline at end of file diff --git a/massa_models/endorsement/struct.Endorsement.html b/massa_models/endorsement/struct.Endorsement.html index 14e2f366846..b57916ffd37 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:
    @@ -75,20 +75,20 @@ 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>( +) -> 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

    source§

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

    source§

    fn serialize( &self, value: &Endorsement, buffer: &mut Vec<u8>, @@ -104,7 +104,7 @@ }; 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>, @@ -225,5 +225,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/endorsement/struct.EndorsementIdDeserializer.html b/massa_models/endorsement/struct.EndorsementIdDeserializer.html index 93157c03a35..d59132326a4 100644 --- a/massa_models/endorsement/struct.EndorsementIdDeserializer.html +++ b/massa_models/endorsement/struct.EndorsementIdDeserializer.html @@ -1,10 +1,10 @@ EndorsementIdDeserializer in massa_models::endorsement - Rust
    struct EndorsementIdDeserializer {
         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 diff --git a/massa_models/endorsement/struct.EndorsementIdV0.html b/massa_models/endorsement/struct.EndorsementIdV0.html index bfa9a00df82..0eaf9769581 100644 --- a/massa_models/endorsement/struct.EndorsementIdV0.html +++ b/massa_models/endorsement/struct.EndorsementIdV0.html @@ -1,8 +1,8 @@ EndorsementIdV0 in massa_models::endorsement - Rust

    Struct massa_models::endorsement::EndorsementIdV0

    source ·
    pub struct EndorsementIdV0(Hash);
    Expand description

    endorsement id

    -

    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 +

    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]>>( + <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]>>( &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 @@ -14,9 +14,9 @@ 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 EndorsementIdV0

    source§

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

    source§

    impl Copy for EndorsementIdV0

    source§

    impl Eq for EndorsementIdV0

    source§

    impl StructuralPartialEq for EndorsementIdV0

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +operator. Read more

    source§

    impl Serialize for EndorsementIdV0
    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 Versioned for EndorsementIdV0

    source§

    impl Copy for EndorsementIdV0

    source§

    impl Eq for EndorsementIdV0

    source§

    impl StructuralPartialEq for EndorsementIdV0

    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 @@ -127,6 +127,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where N: Copy + Ord + Hash,

    \ No newline at end of file diff --git a/massa_models/error/enum.ModelsError.html b/massa_models/error/enum.ModelsError.html index 405f8edc2ec..75403e64b62 100644 --- a/massa_models/error/enum.ModelsError.html +++ b/massa_models/error/enum.ModelsError.html @@ -18,7 +18,7 @@ InvalidVersionError(String), InvalidLedgerChange(String), TimeOverflowError, - TimeError(TimeError), + TimeError(TimeError), InvalidRollUpdate(String), AmountOverflowError, WrongPrefix(String, String), @@ -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/execution/struct.EventFilter.html b/massa_models/execution/struct.EventFilter.html index 71767049d30..e19e880849d 100644 --- a/massa_models/execution/struct.EventFilter.html +++ b/massa_models/execution/struct.EventFilter.html @@ -20,9 +20,9 @@

    Some(true) means events coming from a failed sc execution Some(false) means events coming from a succeeded sc execution None means both

    -

    Trait Implementations§

    source§

    impl Clone for EventFilter

    source§

    fn clone(&self) -> EventFilter

    Returns a copy of 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 EventFilter

    source§

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

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

    impl Default for EventFilter

    source§

    fn default() -> EventFilter

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

    impl<'de> Deserialize<'de> for EventFilter

    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 Serialize for EventFilter

    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 +

    Trait Implementations§

    source§

    impl Clone for EventFilter

    source§

    fn clone(&self) -> EventFilter

    Returns a copy of 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 EventFilter

    source§

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

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

    impl Default for EventFilter

    source§

    fn default() -> EventFilter

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

    impl<'de> Deserialize<'de> for EventFilter

    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 Serialize for EventFilter

    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 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 @@ -120,5 +120,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/ledger/struct.LedgerChange.html b/massa_models/ledger/struct.LedgerChange.html index 5b93835f992..b2b2dab53df 100644 --- a/massa_models/ledger/struct.LedgerChange.html +++ b/massa_models/ledger/struct.LedgerChange.html @@ -6,8 +6,8 @@ §balance_increment: bool

    whether to increment or decrements balance of delta

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

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

    §Example
    @@ -25,8 +25,8 @@ 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>, @@ -139,5 +139,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/ledger/struct.LedgerChanges.html b/massa_models/ledger/struct.LedgerChanges.html index ecbbd696eba..257bb9a278f 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
    @@ -26,8 +26,8 @@ data_serialized = Vec::new(); } 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

    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

    source§

    fn serialize( &self, value: &LedgerChanges, buffer: &mut Vec<u8>, @@ -129,5 +129,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/ledger/struct.LedgerData.html b/massa_models/ledger/struct.LedgerData.html index 66fd8af0cad..c617d00ecf4 100644 --- a/massa_models/ledger/struct.LedgerData.html +++ b/massa_models/ledger/struct.LedgerData.html @@ -6,11 +6,11 @@
    source

    pub fn apply_change(&mut self, change: &LedgerChange) -> Result<()>

    apply a LedgerChange for an entry 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]>>( +

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

    §Example:
    +) -> IResult<&'a [u8], LedgerData, E>
    §Example:
    use massa_models::amount::Amount;
     use massa_serialization::{Serializer, Deserializer, DeserializeError};
     use std::str::FromStr;
    @@ -24,12 +24,12 @@
     let (rest, ledger_data_deserialized) = LedgerDataDeserializer::new().deserialize::<DeserializeError>(&buffer).unwrap();
     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

    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

    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;
    @@ -139,5 +139,5 @@
         V: MultiLane<T>,
    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/node/struct.NodeId.html b/massa_models/node/struct.NodeId.html index 8a86f4570a4..0b04a639006 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
    + <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
    let ser = node_id.to_string();
     let res_node_id = NodeId::from_str(&ser).unwrap();
     let from_raw = NodeId::from_str("N12UbyLJDS7zimGWf3LTHe8hYY67RdLke1iDRZqJbQQLHQSKPW8j").unwrap();
    @@ -18,9 +18,9 @@
     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 NodeId

    source§

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

    source§

    impl Eq for NodeId

    source§

    impl StructuralPartialEq for NodeId

    Auto Trait Implementations§

    §

    impl Freeze for NodeId

    §

    impl RefUnwindSafe for NodeId

    §

    impl Send for NodeId

    §

    impl Sync for NodeId

    §

    impl Unpin for NodeId

    §

    impl UnwindSafe for NodeId

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +operator. Read more

    source§

    impl Serialize for NodeId
    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 Copy for NodeId

    source§

    impl Eq for NodeId

    source§

    impl StructuralPartialEq for NodeId

    Auto Trait Implementations§

    §

    impl Freeze for NodeId

    §

    impl RefUnwindSafe for NodeId

    §

    impl Send for NodeId

    §

    impl Sync for NodeId

    §

    impl Unpin for NodeId

    §

    impl UnwindSafe for NodeId

    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 @@ -131,7 +131,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where N: Copy + Ord + Hash,

    source§

    impl<T> RuleType for T
    where T: Copy + Debug + Eq + Hash + Ord,

    \ No newline at end of file diff --git a/massa_models/operation/enum.OperationId.html b/massa_models/operation/enum.OperationId.html index 22d46e62985..bdcf22cd0e9 100644 --- a/massa_models/operation/enum.OperationId.html +++ b/massa_models/operation/enum.OperationId.html @@ -4,13 +4,13 @@

    Variants§

    §

    OperationIdV0(OperationIdV0)

    Implementations§

    source§

    impl OperationId

    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

    pub fn get_version(&self) -> u64

    Get the version of the operation by looking at the first bytes of the id

    -

    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 +

    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]>>( + <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]>>( &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);
    @@ -23,9 +23,9 @@ 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 OperationId

    source§

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

    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

    source§

    fn serialize( &self, value: &OperationId, buffer: &mut Vec<u8>, @@ -140,7 +140,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where N: Copy + Ord + Hash,

    source§

    impl<T> RuleType for T
    where T: Copy + Debug + Eq + Hash + Ord,

    \ No newline at end of file diff --git a/massa_models/operation/enum.OperationPrefixId.html b/massa_models/operation/enum.OperationPrefixId.html index 8dfca60b5e1..c232a9c26ec 100644 --- a/massa_models/operation/enum.OperationPrefixId.html +++ b/massa_models/operation/enum.OperationPrefixId.html @@ -1,8 +1,8 @@ OperationPrefixId in massa_models::operation - Rust

    Enum massa_models::operation::OperationPrefixId

    source ·
    pub enum OperationPrefixId {
         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]>>( +

    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]>>( &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 @@ -24,8 +24,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 OperationPrefixId

    source§

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

    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 OperationPrefixId

    source§

    impl Eq for OperationPrefixId

    source§

    impl PreHashed for OperationPrefixId

    source§

    impl StructuralPartialEq for OperationPrefixId

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +operator. Read more

    source§

    impl Serialize for OperationPrefixId

    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 OperationPrefixId

    source§

    impl Eq for OperationPrefixId

    source§

    impl PreHashed for OperationPrefixId

    source§

    impl StructuralPartialEq for OperationPrefixId

    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 @@ -136,7 +136,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where N: Copy + Ord + Hash,

    source§

    impl<T> RuleType for T
    where T: Copy + Debug + Eq + Hash + Ord,

    \ No newline at end of file diff --git a/massa_models/operation/enum.OperationType.html b/massa_models/operation/enum.OperationType.html index b36044bf9ab..6f00e121dad 100644 --- a/massa_models/operation/enum.OperationType.html +++ b/massa_models/operation/enum.OperationType.html @@ -41,11 +41,11 @@
    §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:
    +) -> IResult<&'a [u8], OperationType, E>
    §Example:
    use std::collections::BTreeMap;
     use massa_models::{operation::{OperationTypeSerializer, OperationTypeDeserializer, OperationType}, address::Address, amount::Amount};
     use massa_signature::KeyPair;
    @@ -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

    source§

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

    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;
    @@ -199,5 +199,5 @@
         V: MultiLane<T>,
    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file 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 5aca68fbfd6..6058a161bc0 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:
    @@ -66,20 +66,20 @@ &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>( +) -> 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>, @@ -200,5 +200,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/operation/struct.OperationIdDeserializer.html b/massa_models/operation/struct.OperationIdDeserializer.html index 47aff2d0d07..5d449a22ef4 100644 --- a/massa_models/operation/struct.OperationIdDeserializer.html +++ b/massa_models/operation/struct.OperationIdDeserializer.html @@ -3,10 +3,10 @@ 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]>>( +

    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 diff --git a/massa_models/operation/struct.OperationIdV0.html b/massa_models/operation/struct.OperationIdV0.html index 138d3a9c4f3..0979e350538 100644 --- a/massa_models/operation/struct.OperationIdV0.html +++ b/massa_models/operation/struct.OperationIdV0.html @@ -1,10 +1,10 @@ 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]>>( + <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]>>( &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 @@ -16,9 +16,9 @@ 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 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§

    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( &self, value: &OperationIdV0, buffer: &mut Vec<u8>, @@ -133,7 +133,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where N: Copy + Ord + Hash,

    source§

    impl<T> RuleType for T
    where T: Copy + Debug + Eq + Hash + Ord,

    \ No newline at end of file diff --git a/massa_models/operation/struct.OperationPrefixIdV0.html b/massa_models/operation/struct.OperationPrefixIdV0.html index 804c36a4509..ad3620862bc 100644 --- a/massa_models/operation/struct.OperationPrefixIdV0.html +++ b/massa_models/operation/struct.OperationPrefixIdV0.html @@ -1,6 +1,6 @@ OperationPrefixIdV0 in massa_models::operation - Rust

    Struct massa_models::operation::OperationPrefixIdV0

    source ·
    pub struct OperationPrefixIdV0([u8; 17]);
    Expand description

    Left part of the operation id hash stored in a vector of size OPERATION_ID_PREFIX_SIZE_BYTES

    -

    Tuple Fields§

    §0: [u8; 17]

    Trait Implementations§

    source§

    impl Clone for OperationPrefixIdV0

    source§

    fn clone(&self) -> OperationPrefixIdV0

    Returns a copy of 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 OperationPrefixIdV0

    source§

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

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

    impl<'de> Deserialize<'de> for OperationPrefixIdV0

    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 OperationPrefixIdV0

    source§

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

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

    impl Hash for OperationPrefixIdV0

    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 +

    Tuple Fields§

    §0: [u8; 17]

    Trait Implementations§

    source§

    impl Clone for OperationPrefixIdV0

    source§

    fn clone(&self) -> OperationPrefixIdV0

    Returns a copy of 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 OperationPrefixIdV0

    source§

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

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

    impl<'de> Deserialize<'de> for OperationPrefixIdV0

    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 OperationPrefixIdV0

    source§

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

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

    impl Hash for OperationPrefixIdV0

    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 OperationPrefixIdV0

    source§

    fn cmp(&self, other: &OperationPrefixIdV0) -> 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 @@ -9,8 +9,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 OperationPrefixIdV0

    source§

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

    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 Versioned for OperationPrefixIdV0

    source§

    impl Copy for OperationPrefixIdV0

    source§

    impl Eq for OperationPrefixIdV0

    source§

    impl StructuralPartialEq for OperationPrefixIdV0

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +operator. Read more

    source§

    impl Serialize for OperationPrefixIdV0

    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 Versioned for OperationPrefixIdV0

    source§

    impl Copy for OperationPrefixIdV0

    source§

    impl Eq for OperationPrefixIdV0

    source§

    impl StructuralPartialEq for OperationPrefixIdV0

    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 @@ -121,7 +121,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where N: Copy + Ord + Hash,

    source§

    impl<T> RuleType for T
    where T: Copy + Debug + Eq + Hash + Ord,

    \ No newline at end of file diff --git a/massa_models/output_event/struct.EventExecutionContext.html b/massa_models/output_event/struct.EventExecutionContext.html index 59c0883e1db..5d7079d4ace 100644 --- a/massa_models/output_event/struct.EventExecutionContext.html +++ b/massa_models/output_event/struct.EventExecutionContext.html @@ -16,11 +16,11 @@ §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 +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 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 @@ -125,5 +125,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/output_event/struct.SCOutputEvent.html b/massa_models/output_event/struct.SCOutputEvent.html index cf22996ccf1..479868f79a3 100644 --- a/massa_models/output_event/struct.SCOutputEvent.html +++ b/massa_models/output_event/struct.SCOutputEvent.html @@ -4,16 +4,16 @@ }
    Expand description

    By product of a byte code execution

    Fields§

    §context: EventExecutionContext

    context generated by the execution context

    §data: String

    json data string

    -

    Trait Implementations§

    source§

    impl Clone for SCOutputEvent

    source§

    fn clone(&self) -> SCOutputEvent

    Returns a copy of 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 SCOutputEvent

    source§

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

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

    impl<'de> Deserialize<'de> for SCOutputEvent

    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 SCOutputEvent

    source§

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

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

    impl From<SCOutputEvent> for ScExecutionEvent

    source§

    fn from(value: SCOutputEvent) -> Self

    Converts to this type from the input type.
    source§

    impl Ord for SCOutputEvent

    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 +

    Trait Implementations§

    source§

    impl Clone for SCOutputEvent

    source§

    fn clone(&self) -> SCOutputEvent

    Returns a copy of 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 SCOutputEvent

    source§

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

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

    impl<'de> Deserialize<'de> for SCOutputEvent

    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 SCOutputEvent

    source§

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

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

    impl From<SCOutputEvent> for ScExecutionEvent

    source§

    fn from(value: SCOutputEvent) -> Self

    Converts to this type from the input type.
    source§

    impl Ord for SCOutputEvent

    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 SCOutputEvent

    source§

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

    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 SCOutputEvent

    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 SCOutputEvent

    source§

    impl StructuralPartialEq for SCOutputEvent

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +operator. Read more

    source§

    impl Serialize for SCOutputEvent

    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 SCOutputEvent

    source§

    impl StructuralPartialEq for SCOutputEvent

    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 @@ -120,5 +120,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/rolls/struct.RollCompensation.html b/massa_models/rolls/struct.RollCompensation.html index 452a71ab580..c3a0f242886 100644 --- a/massa_models/rolls/struct.RollCompensation.html +++ b/massa_models/rolls/struct.RollCompensation.html @@ -1,7 +1,7 @@ RollCompensation in massa_models::rolls - Rust

    Struct massa_models::rolls::RollCompensation

    source ·
    pub struct RollCompensation(pub u64);
    Expand description

    just a u64 to keep track of the roll sells and buys during a cycle

    -

    Tuple Fields§

    §0: u64

    Trait Implementations§

    source§

    impl Clone for RollCompensation

    source§

    fn clone(&self) -> RollCompensation

    Returns a copy of 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 RollCompensation

    source§

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

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

    impl<'de> Deserialize<'de> for RollCompensation

    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 Serialize for RollCompensation

    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 RollCompensation

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Tuple Fields§

    §0: u64

    Trait Implementations§

    source§

    impl Clone for RollCompensation

    source§

    fn clone(&self) -> RollCompensation

    Returns a copy of 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 RollCompensation

    source§

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

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

    impl<'de> Deserialize<'de> for RollCompensation

    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 Serialize for RollCompensation

    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 RollCompensation

    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 @@ -100,5 +100,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/rolls/struct.RollCounts.html b/massa_models/rolls/struct.RollCounts.html index 54acdd24d7d..c2bd6ab6371 100644 --- a/massa_models/rolls/struct.RollCounts.html +++ b/massa_models/rolls/struct.RollCounts.html @@ -6,9 +6,9 @@
    source

    pub fn clone_subset(&self, addrs: &PreHashSet<Address>) -> Self

    get roll counts for a subset of addresses.

    source

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

    merge another roll counts into self, overwriting existing data addresses that are in not other are removed from self

    -

    Trait Implementations§

    source§

    impl Clone for RollCounts

    source§

    fn clone(&self) -> RollCounts

    Returns a copy of 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 RollCounts

    source§

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

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

    impl Default for RollCounts

    source§

    fn default() -> RollCounts

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

    impl<'de> Deserialize<'de> for RollCounts

    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 Serialize for RollCounts

    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 +

    Trait Implementations§

    source§

    impl Clone for RollCounts

    source§

    fn clone(&self) -> RollCounts

    Returns a copy of 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 RollCounts

    source§

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

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

    impl Default for RollCounts

    source§

    fn default() -> RollCounts

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

    impl<'de> Deserialize<'de> for RollCounts

    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 Serialize for RollCounts

    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 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 @@ -106,5 +106,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/rolls/struct.RollUpdate.html b/massa_models/rolls/struct.RollUpdate.html index 05053ea1215..f549b24abdf 100644 --- a/massa_models/rolls/struct.RollUpdate.html +++ b/massa_models/rolls/struct.RollUpdate.html @@ -7,11 +7,11 @@

    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:
    +) -> IResult<&'a [u8], RollUpdate, E>
    §Example:
    use massa_models::rolls::{RollUpdate, RollUpdateDeserializer, RollUpdateSerializer};
     use massa_serialization::{Serializer, Deserializer, DeserializeError};
     
    @@ -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;
     
    @@ -138,5 +138,5 @@
         V: MultiLane<T>,
    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/rolls/struct.RollUpdates.html b/massa_models/rolls/struct.RollUpdates.html index c1245d7db36..69430c75c77 100644 --- a/massa_models/rolls/struct.RollUpdates.html +++ b/massa_models/rolls/struct.RollUpdates.html @@ -12,9 +12,9 @@
    source

    pub fn clone_subset(&self, addrs: &PreHashSet<Address>) -> Self

    get the roll update for a subset of addresses

    source

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

    merge another roll updates into self, overwriting existing data addresses that are in not other are removed from self

    -

    Trait Implementations§

    source§

    impl Clone for RollUpdates

    source§

    fn clone(&self) -> RollUpdates

    Returns a copy of 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 RollUpdates

    source§

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

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

    impl Default for RollUpdates

    source§

    fn default() -> RollUpdates

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

    impl<'de> Deserialize<'de> for RollUpdates

    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 Serialize for RollUpdates

    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 +

    Trait Implementations§

    source§

    impl Clone for RollUpdates

    source§

    fn clone(&self) -> RollUpdates

    Returns a copy of 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 RollUpdates

    source§

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

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

    impl Default for RollUpdates

    source§

    fn default() -> RollUpdates

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

    impl<'de> Deserialize<'de> for RollUpdates

    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 Serialize for RollUpdates

    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 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 @@ -112,5 +112,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/secure_share/struct.SecureShare.html b/massa_models/secure_share/struct.SecureShare.html index ed520fe7242..8c1ce19a919 100644 --- a/massa_models/secure_share/struct.SecureShare.html +++ b/massa_models/secure_share/struct.SecureShare.html @@ -53,13 +53,13 @@ T: Display + SecureShareContent + Clone, ID: Id + Clone,
    source§

    fn clone(&self) -> SecureShare<T, ID>

    Returns a copy of 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, ID> Debug for SecureShare<T, ID>
    where T: Display + SecureShareContent + Debug, - 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 + 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 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,14 +86,14 @@ 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 +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 T: Display + SecureShareContent, ID: Id,

    source§

    fn serialize( &self, @@ -220,5 +220,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/slot/struct.IndexedSlot.html b/massa_models/slot/struct.IndexedSlot.html index dff78649448..c25f790ff4f 100644 --- a/massa_models/slot/struct.IndexedSlot.html +++ b/massa_models/slot/struct.IndexedSlot.html @@ -4,13 +4,13 @@ }
    Expand description

    When an address is drawn to create an endorsement it is selected for a specific index

    Fields§

    §slot: Slot

    slot

    §index: usize

    endorsement index in the slot

    -

    Trait Implementations§

    source§

    impl Clone for IndexedSlot

    source§

    fn clone(&self) -> IndexedSlot

    Returns a copy of 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 IndexedSlot

    source§

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

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

    impl<'de> Deserialize<'de> for IndexedSlot

    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 IndexedSlot

    source§

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

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

    impl From<IndexedSlot> for IndexedSlot

    source§

    fn from(s: IndexedSlot) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for IndexedSlot

    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 +

    Trait Implementations§

    source§

    impl Clone for IndexedSlot

    source§

    fn clone(&self) -> IndexedSlot

    Returns a copy of 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 IndexedSlot

    source§

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

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

    impl<'de> Deserialize<'de> for IndexedSlot

    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 IndexedSlot

    source§

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

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

    impl From<IndexedSlot> for IndexedSlot

    source§

    fn from(s: IndexedSlot) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for IndexedSlot

    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 PartialEq for IndexedSlot

    source§

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

    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 IndexedSlot

    source§

    impl StructuralPartialEq for IndexedSlot

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for IndexedSlot

    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 IndexedSlot

    source§

    impl StructuralPartialEq for IndexedSlot

    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 @@ -118,5 +118,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/slot/struct.Slot.html b/massa_models/slot/struct.Slot.html index 7791190ccf4..954c795e48d 100644 --- a/massa_models/slot/struct.Slot.html +++ b/massa_models/slot/struct.Slot.html @@ -55,8 +55,8 @@
    §Example
    §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]>>( +

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

    @@ -72,7 +72,7 @@
    §Example
    let (rest, slot_deser) = deserializer.deserialize::<DeserializeError>(&serialized).unwrap(); assert!(rest.is_empty()); assert_eq!(slot, slot_deser);
    -
    source§

    impl Display for Slot

    source§

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

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

    impl From<Slot> for Slot

    source§

    fn from(s: Slot) -> Self

    Converts to this type from the input type.
    source§

    impl From<Slot> for Slot

    source§

    fn from(s: Slot) -> Self

    Converts to this type from the input type.
    source§

    impl FromStr for Slot

    §

    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 Slot

    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 Slot

    source§

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

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

    impl From<Slot> for Slot

    source§

    fn from(s: Slot) -> Self

    Converts to this type from the input type.
    source§

    impl From<Slot> for Slot

    source§

    fn from(s: Slot) -> Self

    Converts to this type from the input type.
    source§

    impl FromStr for Slot

    §

    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 Slot

    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 Slot

    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 @@ -81,8 +81,8 @@
    §Example
    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 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

    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

    source§

    fn serialize( &self, value: &Slot, buffer: &mut Vec<u8>, @@ -206,7 +206,7 @@

    §Example
    V: MultiLane<T>,
    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where N: Copy + Ord + Hash,

    source§

    impl<T> RuleType for T
    where T: Copy + Debug + Eq + Hash + Ord,

    \ No newline at end of file diff --git a/massa_models/stats/struct.ConsensusStats.html b/massa_models/stats/struct.ConsensusStats.html index b1dc095b307..eebac585847 100644 --- a/massa_models/stats/struct.ConsensusStats.html +++ b/massa_models/stats/struct.ConsensusStats.html @@ -1,18 +1,18 @@ 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

    -

    Trait Implementations§

    source§

    impl Clone for ConsensusStats

    source§

    fn clone(&self) -> ConsensusStats

    Returns a copy of 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 ConsensusStats

    source§

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

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

    impl<'de> Deserialize<'de> for ConsensusStats

    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 ConsensusStats

    source§

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

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

    impl From<ConsensusStats> for ConsensusStats

    source§

    fn from(value: ConsensusStats) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for ConsensusStats

    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 +

    Trait Implementations§

    source§

    impl Clone for ConsensusStats

    source§

    fn clone(&self) -> ConsensusStats

    Returns a copy of 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 ConsensusStats

    source§

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

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

    impl<'de> Deserialize<'de> for ConsensusStats

    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 ConsensusStats

    source§

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

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

    impl From<ConsensusStats> for ConsensusStats

    source§

    fn from(value: ConsensusStats) -> Self

    Converts to this type from the input type.
    source§

    impl Serialize for ConsensusStats

    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 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 @@ -111,5 +111,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/stats/struct.ExecutionStats.html b/massa_models/stats/struct.ExecutionStats.html index 77c6df6ae16..cba6c015af8 100644 --- a/massa_models/stats/struct.ExecutionStats.html +++ b/massa_models/stats/struct.ExecutionStats.html @@ -1,20 +1,20 @@ 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 - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    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 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 @@ -113,5 +113,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/stats/struct.NetworkStats.html b/massa_models/stats/struct.NetworkStats.html index a66220c80b6..d5cc21310e5 100644 --- a/massa_models/stats/struct.NetworkStats.html +++ b/massa_models/stats/struct.NetworkStats.html @@ -10,9 +10,9 @@ §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 - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    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 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 @@ -111,5 +111,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/stats/struct.PoolStats.html b/massa_models/stats/struct.PoolStats.html index 02722733276..eb2108be201 100644 --- a/massa_models/stats/struct.PoolStats.html +++ b/massa_models/stats/struct.PoolStats.html @@ -4,9 +4,9 @@ }
    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 - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    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 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 @@ -102,5 +102,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file 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

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/types/enum.SetOrKeep.html b/massa_models/types/enum.SetOrKeep.html index b95adcfbe9d..883644432f8 100644 --- a/massa_models/types/enum.SetOrKeep.html +++ b/massa_models/types/enum.SetOrKeep.html @@ -7,16 +7,16 @@

    Implementations§

    source§

    impl<T: Clone> SetOrKeep<T>

    source

    pub fn apply_to(self, val: &mut T)

    applies the current SetOrKeep to a target mutable value

    Trait Implementations§

    source§

    impl<T: Clone> Applicable<SetOrKeep<T>> for SetOrKeep<T>

    allows applying another SetOrKeep to the current one

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

    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]>>( &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 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( +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( &self, value: &SetOrKeep<T>, buffer: &mut Vec<u8>, @@ -130,5 +130,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/types/enum.SetUpdateOrDelete.html b/massa_models/types/enum.SetUpdateOrDelete.html index 1815db511c5..6db4d39c521 100644 --- a/massa_models/types/enum.SetUpdateOrDelete.html +++ b/massa_models/types/enum.SetUpdateOrDelete.html @@ -12,18 +12,18 @@
    §

    Delete

    Deletes the value T

    Trait Implementations§

    source§

    impl<T: Default + Applicable<V>, V> Applicable<SetUpdateOrDelete<T, V>> for SetUpdateOrDelete<T, V>
    where 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]>>( +

    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]>>( &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 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>
    where - T: Serialize + Default + Applicable<V>, - V: Serialize + Applicable<V> + 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: 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( +sufficient, and should not be overridden without very good reason.

    source§

    impl<T, V> Serialize for SetUpdateOrDelete<T, V>
    where + T: Serialize + Default + Applicable<V>, + V: Serialize + Applicable<V> + 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: 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>, @@ -143,5 +143,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/version/struct.Version.html b/massa_models/version/struct.Version.html index 4a5978c38f1..52a3fec5237 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>

    @@ -28,8 +28,8 @@ 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

    source§

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

    source§

    fn serialize( &self, value: &Version, buffer: &mut Vec<u8>, @@ -149,5 +149,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_models/version/struct.VersionVisitor.html b/massa_models/version/struct.VersionVisitor.html index ac2ce1f1ef8..6f11b1a53fe 100644 --- a/massa_models/version/struct.VersionVisitor.html +++ b/massa_models/version/struct.VersionVisitor.html @@ -1,57 +1,57 @@ -VersionVisitor in massa_models::version - Rust

    Struct massa_models::version::VersionVisitor

    source ·
    struct VersionVisitor;

    Trait Implementations§

    source§

    impl<'de> Visitor<'de> for VersionVisitor

    §

    type Value = Version

    The value produced by this visitor.
    source§

    fn visit_str<E>(self, value: &str) -> Result<Version, E>
    where - E: Error,

    The input contains a string. The lifetime of the string is ephemeral and -it may be destroyed after this method returns. Read more
    source§

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

    Format a message stating what data this Visitor expects to receive. Read more
    source§

    fn visit_bool<E>(self, v: bool) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a boolean. Read more
    source§

    fn visit_i8<E>(self, v: i8) -> Result<Self::Value, E>
    where - E: Error,

    The input contains an i8. Read more
    source§

    fn visit_i16<E>(self, v: i16) -> Result<Self::Value, E>
    where - E: Error,

    The input contains an i16. Read more
    source§

    fn visit_i32<E>(self, v: i32) -> Result<Self::Value, E>
    where - E: Error,

    The input contains an i32. Read more
    source§

    fn visit_i64<E>(self, v: i64) -> Result<Self::Value, E>
    where - E: Error,

    The input contains an i64. Read more
    source§

    fn visit_i128<E>(self, v: i128) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a i128. Read more
    source§

    fn visit_u8<E>(self, v: u8) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a u8. Read more
    source§

    fn visit_u16<E>(self, v: u16) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a u16. Read more
    source§

    fn visit_u32<E>(self, v: u32) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a u32. Read more
    source§

    fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a u64. Read more
    source§

    fn visit_u128<E>(self, v: u128) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a u128. Read more
    source§

    fn visit_f32<E>(self, v: f32) -> Result<Self::Value, E>
    where - E: Error,

    The input contains an f32. Read more
    source§

    fn visit_f64<E>(self, v: f64) -> Result<Self::Value, E>
    where - E: Error,

    The input contains an f64. Read more
    source§

    fn visit_char<E>(self, v: char) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a char. Read more
    source§

    fn visit_borrowed_str<E>(self, v: &'de str) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a string that lives at least as long as the -Deserializer. Read more
    source§

    fn visit_string<E>(self, v: String) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a string and ownership of the string is being given -to the Visitor. Read more
    source§

    fn visit_bytes<E>(self, v: &[u8]) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a byte array. The lifetime of the byte array is -ephemeral and it may be destroyed after this method returns. Read more
    source§

    fn visit_borrowed_bytes<E>(self, v: &'de [u8]) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a byte array that lives at least as long as the -Deserializer. Read more
    source§

    fn visit_byte_buf<E>(self, v: Vec<u8>) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a byte array and ownership of the byte array is being -given to the Visitor. Read more
    source§

    fn visit_none<E>(self) -> Result<Self::Value, E>
    where - E: Error,

    The input contains an optional that is absent. Read more
    source§

    fn visit_some<D>( +VersionVisitor in massa_models::version - Rust

    Struct massa_models::version::VersionVisitor

    source ·
    struct VersionVisitor;

    Trait Implementations§

    source§

    impl<'de> Visitor<'de> for VersionVisitor

    §

    type Value = Version

    The value produced by this visitor.
    source§

    fn visit_str<E>(self, value: &str) -> Result<Version, E>
    where + E: Error,

    The input contains a string. The lifetime of the string is ephemeral and +it may be destroyed after this method returns. Read more
    source§

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

    Format a message stating what data this Visitor expects to receive. Read more
    source§

    fn visit_bool<E>(self, v: bool) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a boolean. Read more
    source§

    fn visit_i8<E>(self, v: i8) -> Result<Self::Value, E>
    where + E: Error,

    The input contains an i8. Read more
    source§

    fn visit_i16<E>(self, v: i16) -> Result<Self::Value, E>
    where + E: Error,

    The input contains an i16. Read more
    source§

    fn visit_i32<E>(self, v: i32) -> Result<Self::Value, E>
    where + E: Error,

    The input contains an i32. Read more
    source§

    fn visit_i64<E>(self, v: i64) -> Result<Self::Value, E>
    where + E: Error,

    The input contains an i64. Read more
    source§

    fn visit_i128<E>(self, v: i128) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a i128. Read more
    source§

    fn visit_u8<E>(self, v: u8) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a u8. Read more
    source§

    fn visit_u16<E>(self, v: u16) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a u16. Read more
    source§

    fn visit_u32<E>(self, v: u32) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a u32. Read more
    source§

    fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a u64. Read more
    source§

    fn visit_u128<E>(self, v: u128) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a u128. Read more
    source§

    fn visit_f32<E>(self, v: f32) -> Result<Self::Value, E>
    where + E: Error,

    The input contains an f32. Read more
    source§

    fn visit_f64<E>(self, v: f64) -> Result<Self::Value, E>
    where + E: Error,

    The input contains an f64. Read more
    source§

    fn visit_char<E>(self, v: char) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a char. Read more
    source§

    fn visit_borrowed_str<E>(self, v: &'de str) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a string that lives at least as long as the +Deserializer. Read more
    source§

    fn visit_string<E>(self, v: String) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a string and ownership of the string is being given +to the Visitor. Read more
    source§

    fn visit_bytes<E>(self, v: &[u8]) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a byte array. The lifetime of the byte array is +ephemeral and it may be destroyed after this method returns. Read more
    source§

    fn visit_borrowed_bytes<E>(self, v: &'de [u8]) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a byte array that lives at least as long as the +Deserializer. Read more
    source§

    fn visit_byte_buf<E>(self, v: Vec<u8>) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a byte array and ownership of the byte array is being +given to the Visitor. Read more
    source§

    fn visit_none<E>(self) -> Result<Self::Value, E>
    where + E: Error,

    The input contains an optional that is absent. Read more
    source§

    fn visit_some<D>( self, deserializer: D, -) -> Result<Self::Value, <D as Deserializer<'de>>::Error>
    where - D: Deserializer<'de>,

    The input contains an optional that is present. Read more
    source§

    fn visit_unit<E>(self) -> Result<Self::Value, E>
    where - E: Error,

    The input contains a unit (). Read more
    source§

    fn visit_newtype_struct<D>( +) -> Result<Self::Value, <D as Deserializer<'de>>::Error>
    where + D: Deserializer<'de>,

    The input contains an optional that is present. Read more
    source§

    fn visit_unit<E>(self) -> Result<Self::Value, E>
    where + E: Error,

    The input contains a unit (). Read more
    source§

    fn visit_newtype_struct<D>( self, deserializer: D, -) -> Result<Self::Value, <D as Deserializer<'de>>::Error>
    where - D: Deserializer<'de>,

    The input contains a newtype struct. Read more
    source§

    fn visit_seq<A>( +) -> Result<Self::Value, <D as Deserializer<'de>>::Error>
    where + D: Deserializer<'de>,

    The input contains a newtype struct. Read more
    source§

    fn visit_seq<A>( self, seq: A, -) -> Result<Self::Value, <A as SeqAccess<'de>>::Error>
    where - A: SeqAccess<'de>,

    The input contains a sequence of elements. Read more
    source§

    fn visit_map<A>( +) -> Result<Self::Value, <A as SeqAccess<'de>>::Error>
    where + A: SeqAccess<'de>,

    The input contains a sequence of elements. Read more
    source§

    fn visit_map<A>( self, map: A, -) -> Result<Self::Value, <A as MapAccess<'de>>::Error>
    where - A: MapAccess<'de>,

    The input contains a key-value map. Read more
    source§

    fn visit_enum<A>( +) -> Result<Self::Value, <A as MapAccess<'de>>::Error>
    where + A: MapAccess<'de>,

    The input contains a key-value map. Read more
    source§

    fn visit_enum<A>( self, data: A, -) -> Result<Self::Value, <A as EnumAccess<'de>>::Error>
    where - A: EnumAccess<'de>,

    The input contains an enum. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<Self::Value, <A as EnumAccess<'de>>::Error>
    where + A: EnumAccess<'de>,

    The input contains an enum. 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 - Self: Into<T>,

    Converts self into T using Into<T>. Read more
    source§

    impl<'de, T> Expected for T
    where - T: Visitor<'de>,

    source§

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

    Format an explanation of what data was being expected. Same signature as + Self: Into<T>,
    Converts self into T using Into<T>. Read more
    source§

    impl<'de, T> Expected for T
    where + T: Visitor<'de>,

    source§

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

    Format an explanation of what data was being expected. Same signature as the Display and Debug traits.
    §

    impl<T> FmtForward for T

    §

    fn fmt_binary(self) -> FmtBinary<Self>
    where Self: Binary,

    Causes self to use its Binary implementation when Debug-formatted.
    §

    fn fmt_display(self) -> FmtDisplay<Self>
    where Self: Display,

    Causes self to use its Display implementation when diff --git a/massa_module_cache/error/enum.CacheError.html b/massa_module_cache/error/enum.CacheError.html index 5725dd23121..51344c463a0 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/types/enum.ModuleMetadataId.html b/massa_module_cache/types/enum.ModuleMetadataId.html index 4495597a583..b3f56e709b1 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..0e7ae3ad4c8 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 3385c695a51..b2abb23b18a 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..6c73e15bdf2 100644 --- a/massa_node/fn.load_wallet.html +++ b/massa_node/fn.load_wallet.html @@ -1,6 +1,6 @@ -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,
    -) -> Result<Arc<RwLock<Wallet>>>
    Expand description

    Load wallet, asking for passwords if necessary

    +) -> Result<Arc<RwLock<Wallet>>>
    Expand description

    Load wallet, asking for passwords if necessary

    \ No newline at end of file diff --git a/massa_node/fn.main.html b/massa_node/fn.main.html index fe7b6f2df25..e7f3443c5e9 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..7be60133ed0 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 c63d8d706c4..da16ee0fa30 100644 --- a/massa_node/fn.stop.html +++ b/massa_node/fn.stop.html @@ -1,4 +1,4 @@ -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,
    diff --git a/massa_node/index.html b/massa_node/index.html
    index bb38bb38778..defa5d3f2a1 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/settings/index.html b/massa_node/settings/index.html index f2ffbe3c5ea..d95b79d104f 100644 --- a/massa_node/settings/index.html +++ b/massa_node/settings/index.html @@ -1,4 +1,4 @@ -massa_node::settings - Rust

    Module massa_node::settings

    source ·
    Expand description

    Build here the default node settings from the configuration file toml

    +massa_node::settings - Rust

    Module massa_node::settings

    source ·
    Expand description

    Build here the default node settings from the configuration file toml

    Structs§

    \ No newline at end of file diff --git a/massa_node/settings/struct.APISettings.html b/massa_node/settings/struct.APISettings.html index fc08de0a416..9ad94e05448 100644 --- a/massa_node/settings/struct.APISettings.html +++ b/massa_node/settings/struct.APISettings.html @@ -1,4 +1,4 @@ -APISettings in massa_node::settings - Rust

    Struct massa_node::settings::APISettings

    source ·
    pub struct APISettings {
    Show 18 fields +APISettings in massa_node::settings - Rust

    Struct massa_node::settings::APISettings

    source ·
    pub struct APISettings {
    Show 20 fields pub draw_lookahead_period_count: u64, pub bind_private: SocketAddr, pub bind_public: SocketAddr, @@ -17,9 +17,11 @@ pub enable_ws: bool, pub enable_broadcast: bool, pub deferred_credits_delta: MassaTime, + pub max_datastore_keys_query: Option<u32>, + pub max_addresses_datastore_keys_query: Option<u32>,
    }
    Expand description

    API and server configuration, read from a file configuration.

    -

    Fields§

    §draw_lookahead_period_count: u64§bind_private: SocketAddr§bind_public: SocketAddr§bind_api: SocketAddr§max_arguments: u64§openrpc_spec_path: PathBuf§max_request_body_size: u32§max_response_body_size: u32§max_connections: u32§max_subscriptions_per_connection: u32§max_log_length: u32§allow_hosts: Vec<String>§batch_request_limit: u32§ping_interval: MassaTime§enable_http: bool§enable_ws: bool§enable_broadcast: bool§deferred_credits_delta: MassaTime

    Trait Implementations§

    source§

    impl Clone for APISettings

    source§

    fn clone(&self) -> APISettings

    Returns a copy of 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 APISettings

    source§

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

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

    impl<'de> Deserialize<'de> for APISettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Fields§

    §draw_lookahead_period_count: u64§bind_private: SocketAddr§bind_public: SocketAddr§bind_api: SocketAddr§max_arguments: u64§openrpc_spec_path: PathBuf§max_request_body_size: u32§max_response_body_size: u32§max_connections: u32§max_subscriptions_per_connection: u32§max_log_length: u32§allow_hosts: Vec<String>§batch_request_limit: u32§ping_interval: MassaTime§enable_http: bool§enable_ws: bool§enable_broadcast: bool§deferred_credits_delta: MassaTime§max_datastore_keys_query: Option<u32>§max_addresses_datastore_keys_query: Option<u32>

    Trait Implementations§

    source§

    impl Clone for APISettings

    source§

    fn clone(&self) -> APISettings

    Returns a copy of 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 APISettings

    source§

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

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

    impl<'de> Deserialize<'de> for APISettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

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

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -141,7 +143,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_node/settings/struct.BlockDumpSettings.html b/massa_node/settings/struct.BlockDumpSettings.html index ff68e32bb8c..df395c3421c 100644 --- a/massa_node/settings/struct.BlockDumpSettings.html +++ b/massa_node/settings/struct.BlockDumpSettings.html @@ -1,8 +1,8 @@ -BlockDumpSettings in massa_node::settings - Rust

    Struct massa_node::settings::BlockDumpSettings

    source ·
    pub struct BlockDumpSettings {
    +BlockDumpSettings in massa_node::settings - Rust

    Struct massa_node::settings::BlockDumpSettings

    source ·
    pub struct BlockDumpSettings {
         pub(crate) block_dump_folder_path: PathBuf,
     }

    Fields§

    §block_dump_folder_path: PathBuf

    Where to dump blocks

    -

    Trait Implementations§

    source§

    impl Clone for BlockDumpSettings

    source§

    fn clone(&self) -> BlockDumpSettings

    Returns a copy of 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 BlockDumpSettings

    source§

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

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

    impl<'de> Deserialize<'de> for BlockDumpSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for BlockDumpSettings

    source§

    fn clone(&self) -> BlockDumpSettings

    Returns a copy of 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 BlockDumpSettings

    source§

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

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

    impl<'de> Deserialize<'de> for BlockDumpSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

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

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -124,7 +124,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_node/settings/struct.BootstrapSettings.html b/massa_node/settings/struct.BootstrapSettings.html index 4b155b7adb7..274d2f40710 100644 --- a/massa_node/settings/struct.BootstrapSettings.html +++ b/massa_node/settings/struct.BootstrapSettings.html @@ -1,6 +1,6 @@ BootstrapSettings in massa_node::settings - Rust

    Struct massa_node::settings::BootstrapSettings

    source ·
    pub struct BootstrapSettings {
    Show 19 fields pub bootstrap_list: Vec<(SocketAddr, NodeId)>, - pub bootstrap_protocol: IpType, + pub bootstrap_protocol: IpType, pub bootstrap_whitelist_path: PathBuf, pub bootstrap_blacklist_path: PathBuf, pub bind: Option<SocketAddr>, @@ -19,9 +19,9 @@ pub rate_limit: u64, pub bootstrap_timeout: MassaTime,
    }
    Expand description

    Bootstrap configuration.

    -

    Fields§

    §bootstrap_list: Vec<(SocketAddr, NodeId)>§bootstrap_protocol: IpType§bootstrap_whitelist_path: PathBuf§bootstrap_blacklist_path: PathBuf§bind: Option<SocketAddr>§connect_timeout: MassaTime§read_timeout: MassaTime§write_timeout: MassaTime§read_error_timeout: MassaTime§write_error_timeout: MassaTime§retry_delay: MassaTime§max_ping: MassaTime§max_clock_delta: MassaTime§cache_duration: MassaTime§max_simultaneous_bootstraps: u32§per_ip_min_interval: MassaTime§ip_list_max_size: usize§rate_limit: u64§bootstrap_timeout: MassaTime

    Allocated time with which to manage the bootstrap process

    -

    Trait Implementations§

    source§

    impl Clone for BootstrapSettings

    source§

    fn clone(&self) -> BootstrapSettings

    Returns a copy of 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 BootstrapSettings

    source§

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

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

    impl<'de> Deserialize<'de> for BootstrapSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Fields§

    §bootstrap_list: Vec<(SocketAddr, NodeId)>§bootstrap_protocol: IpType§bootstrap_whitelist_path: PathBuf§bootstrap_blacklist_path: PathBuf§bind: Option<SocketAddr>§connect_timeout: MassaTime§read_timeout: MassaTime§write_timeout: MassaTime§read_error_timeout: MassaTime§write_error_timeout: MassaTime§retry_delay: MassaTime§max_ping: MassaTime§max_clock_delta: MassaTime§cache_duration: MassaTime§max_simultaneous_bootstraps: u32§per_ip_min_interval: MassaTime§ip_list_max_size: usize§rate_limit: u64§bootstrap_timeout: MassaTime

    Allocated time with which to manage the bootstrap process

    +

    Trait Implementations§

    source§

    impl Clone for BootstrapSettings

    source§

    fn clone(&self) -> BootstrapSettings

    Returns a copy of 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 BootstrapSettings

    source§

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

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

    impl<'de> Deserialize<'de> for BootstrapSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

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

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -143,7 +143,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_node/settings/struct.ConsensusSettings.html b/massa_node/settings/struct.ConsensusSettings.html index d2081165f76..931ec09e867 100644 --- a/massa_node/settings/struct.ConsensusSettings.html +++ b/massa_node/settings/struct.ConsensusSettings.html @@ -1,4 +1,4 @@ -ConsensusSettings in massa_node::settings - Rust

    Struct massa_node::settings::ConsensusSettings

    source ·
    pub struct ConsensusSettings {
    +ConsensusSettings in massa_node::settings - Rust

    Struct massa_node::settings::ConsensusSettings

    source ·
    pub struct ConsensusSettings {
         pub max_discarded_blocks: usize,
         pub max_future_processing_blocks: usize,
         pub max_dependency_blocks: usize,
    @@ -21,8 +21,8 @@
     
    §broadcast_blocks_headers_channel_capacity: usize

    blocks headers channel capacity

    §broadcast_blocks_channel_capacity: usize

    blocks channel capacity

    §broadcast_filled_blocks_channel_capacity: usize

    filled blocks channel capacity

    -

    Trait Implementations§

    source§

    impl Clone for ConsensusSettings

    source§

    fn clone(&self) -> ConsensusSettings

    Returns a copy of 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 ConsensusSettings

    source§

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

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

    impl<'de> Deserialize<'de> for ConsensusSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ConsensusSettings

    source§

    fn clone(&self) -> ConsensusSettings

    Returns a copy of 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 ConsensusSettings

    source§

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

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

    impl<'de> Deserialize<'de> for ConsensusSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

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

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -144,7 +144,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_node/settings/struct.ExecutionSettings.html b/massa_node/settings/struct.ExecutionSettings.html index ad27821d78e..3b3a46da84d 100644 --- a/massa_node/settings/struct.ExecutionSettings.html +++ b/massa_node/settings/struct.ExecutionSettings.html @@ -18,8 +18,8 @@ pub max_event_per_query: usize, }

    Fields§

    §max_final_events: usize§readonly_queue_length: usize§cursor_delay: MassaTime§stats_time_window_duration: MassaTime§max_read_only_gas: u64§abi_gas_costs_file: PathBuf§hd_cache_path: PathBuf§lru_cache_size: u32§hd_cache_size: usize§snip_amount: usize§broadcast_slot_execution_output_channel_capacity: usize

    slot execution outputs channel capacity

    §broadcast_slot_execution_traces_channel_capacity: usize

    slot execution traces channel capacity

    -
    §execution_traces_limit: usize§event_cache_path: PathBuf§event_cache_size: usize§event_snip_amount: usize§max_event_per_query: usize

    Trait Implementations§

    source§

    impl Clone for ExecutionSettings

    source§

    fn clone(&self) -> ExecutionSettings

    Returns a copy of 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 ExecutionSettings

    source§

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

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

    impl<'de> Deserialize<'de> for ExecutionSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +
    §execution_traces_limit: usize§event_cache_path: PathBuf§event_cache_size: usize§event_snip_amount: usize§max_event_per_query: usize

    Trait Implementations§

    source§

    impl Clone for ExecutionSettings

    source§

    fn clone(&self) -> ExecutionSettings

    Returns a copy of 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 ExecutionSettings

    source§

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

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

    impl<'de> Deserialize<'de> for ExecutionSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

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

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -141,7 +141,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_node/settings/struct.FactorySettings.html b/massa_node/settings/struct.FactorySettings.html index ecee9ebd688..1b4fbbe6dc4 100644 --- a/massa_node/settings/struct.FactorySettings.html +++ b/massa_node/settings/struct.FactorySettings.html @@ -6,8 +6,8 @@

    Fields§

    §initial_delay: MassaTime

    Initial delay

    §staking_wallet_path: PathBuf

    Staking wallet file

    §stop_production_when_zero_connections: bool

    stop the production in case we are not connected to anyone

    -

    Trait Implementations§

    source§

    impl Clone for FactorySettings

    source§

    fn clone(&self) -> FactorySettings

    Returns a copy of 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 FactorySettings

    source§

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

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

    impl<'de> Deserialize<'de> for FactorySettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for FactorySettings

    source§

    fn clone(&self) -> FactorySettings

    Returns a copy of 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 FactorySettings

    source§

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

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

    impl<'de> Deserialize<'de> for FactorySettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

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

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -129,7 +129,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_node/settings/struct.GrpcApiSettings.html b/massa_node/settings/struct.GrpcApiSettings.html index 23be542f229..55ee3c08102 100644 --- a/massa_node/settings/struct.GrpcApiSettings.html +++ b/massa_node/settings/struct.GrpcApiSettings.html @@ -1,11 +1,11 @@ -GrpcApiSettings in massa_node::settings - Rust

    Struct massa_node::settings::GrpcApiSettings

    source ·
    pub struct GrpcApiSettings {
    +GrpcApiSettings in massa_node::settings - Rust

    Struct massa_node::settings::GrpcApiSettings

    source ·
    pub struct GrpcApiSettings {
         pub public: GrpcSettings,
         pub private: GrpcSettings,
     }
    Expand description

    gRPC API settings.

    Fields§

    §public: GrpcSettings

    Public server gRPC configuration.

    §private: GrpcSettings

    Private server gRPC configuration.

    -

    Trait Implementations§

    source§

    impl Clone for GrpcApiSettings

    source§

    fn clone(&self) -> GrpcApiSettings

    Returns a copy of 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 GrpcApiSettings

    source§

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

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

    impl<'de> Deserialize<'de> for GrpcApiSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for GrpcApiSettings

    source§

    fn clone(&self) -> GrpcApiSettings

    Returns a copy of 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 GrpcApiSettings

    source§

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

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

    impl<'de> Deserialize<'de> for GrpcApiSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

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

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -127,7 +127,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

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

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_node/settings/struct.GrpcSettings.html b/massa_node/settings/struct.GrpcSettings.html index b94c6d3a4c6..c3f391f7e8a 100644 --- a/massa_node/settings/struct.GrpcSettings.html +++ b/massa_node/settings/struct.GrpcSettings.html @@ -1,4 +1,4 @@ -GrpcSettings in massa_node::settings - Rust

    Struct massa_node::settings::GrpcSettings

    source ·
    pub struct GrpcSettings {
    Show 42 fields +GrpcSettings in massa_node::settings - Rust

    Struct massa_node::settings::GrpcSettings

    source ·
    pub struct GrpcSettings {
    Show 43 fields pub enabled: bool, pub accept_http1: bool, pub enable_cors: bool, @@ -41,6 +41,7 @@ pub client_certificate_authority_root_path: PathBuf, pub client_certificate_path: PathBuf, pub client_private_key_path: PathBuf, + pub max_datastore_keys_query: Option<u32>,
    }
    Expand description

    gRPC settings the gRPC settings

    Fields§

    §enabled: bool

    whether to enable gRPC

    @@ -85,8 +86,9 @@
    §client_certificate_authority_root_path: PathBuf

    client certificate authority root path

    §client_certificate_path: PathBuf

    client certificate path

    §client_private_key_path: PathBuf

    client private key path

    -

    Trait Implementations§

    source§

    impl Clone for GrpcSettings

    source§

    fn clone(&self) -> GrpcSettings

    Returns a copy of 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 GrpcSettings

    source§

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

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

    impl<'de> Deserialize<'de> for GrpcSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +
    §max_datastore_keys_query: Option<u32>

    Max keys returned by a datastore key query

    +

    Trait Implementations§

    source§

    impl Clone for GrpcSettings

    source§

    fn clone(&self) -> GrpcSettings

    Returns a copy of 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 GrpcSettings

    source§

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

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for GrpcSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -208,7 +210,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_node/settings/struct.LedgerSettings.html b/massa_node/settings/struct.LedgerSettings.html index 87727c2836b..c4724de91d9 100644 --- a/massa_node/settings/struct.LedgerSettings.html +++ b/massa_node/settings/struct.LedgerSettings.html @@ -5,8 +5,8 @@ pub initial_deferred_credits_path: Option<PathBuf>, pub ledger_backup_periods_interval: u64, pub max_ledger_backups: u64, -}

    Fields§

    §initial_ledger_path: PathBuf§disk_ledger_path: PathBuf§final_history_length: usize§initial_deferred_credits_path: Option<PathBuf>§ledger_backup_periods_interval: u64§max_ledger_backups: u64

    Trait Implementations§

    source§

    impl Clone for LedgerSettings

    source§

    fn clone(&self) -> LedgerSettings

    Returns a copy of 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 LedgerSettings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for LedgerSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +}

    Fields§

    §initial_ledger_path: PathBuf§disk_ledger_path: PathBuf§final_history_length: usize§initial_deferred_credits_path: Option<PathBuf>§ledger_backup_periods_interval: u64§max_ledger_backups: u64

    Trait Implementations§

    source§

    impl Clone for LedgerSettings

    source§

    fn clone(&self) -> LedgerSettings

    Returns a copy of 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 LedgerSettings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for LedgerSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -128,7 +128,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_node/settings/struct.LoggingSettings.html b/massa_node/settings/struct.LoggingSettings.html index eea66da83ff..98332efde6b 100644 --- a/massa_node/settings/struct.LoggingSettings.html +++ b/massa_node/settings/struct.LoggingSettings.html @@ -1,7 +1,7 @@ LoggingSettings in massa_node::settings - Rust

    Struct massa_node::settings::LoggingSettings

    source ·
    pub struct LoggingSettings {
         pub level: usize,
    -}

    Fields§

    §level: usize

    Trait Implementations§

    source§

    impl Clone for LoggingSettings

    source§

    fn clone(&self) -> LoggingSettings

    Returns a copy of 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 LoggingSettings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for LoggingSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +}

    Fields§

    §level: usize

    Trait Implementations§

    source§

    impl Clone for LoggingSettings

    source§

    fn clone(&self) -> LoggingSettings

    Returns a copy of 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 LoggingSettings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for LoggingSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -123,7 +123,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_node/settings/struct.MetricsSettings.html b/massa_node/settings/struct.MetricsSettings.html index ff83f0c2ce5..c7177bae086 100644 --- a/massa_node/settings/struct.MetricsSettings.html +++ b/massa_node/settings/struct.MetricsSettings.html @@ -1,12 +1,12 @@ -MetricsSettings in massa_node::settings - Rust

    Struct massa_node::settings::MetricsSettings

    source ·
    pub struct MetricsSettings {
    +MetricsSettings in massa_node::settings - Rust

    Struct massa_node::settings::MetricsSettings

    source ·
    pub struct MetricsSettings {
         pub enabled: bool,
         pub bind: SocketAddr,
         pub tick_delay: MassaTime,
     }

    Fields§

    §enabled: bool

    enable prometheus metrics

    §bind: SocketAddr

    port on which to listen for prometheus metrics

    §tick_delay: MassaTime

    interval at which to update metrics

    -

    Trait Implementations§

    source§

    impl Clone for MetricsSettings

    source§

    fn clone(&self) -> MetricsSettings

    Returns a copy of 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 MetricsSettings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for MetricsSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for MetricsSettings

    source§

    fn clone(&self) -> MetricsSettings

    Returns a copy of 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 MetricsSettings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for MetricsSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -128,7 +128,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_node/settings/struct.NetworkSettings.html b/massa_node/settings/struct.NetworkSettings.html index ac7c0ae1df1..8e2d0b81ec7 100644 --- a/massa_node/settings/struct.NetworkSettings.html +++ b/massa_node/settings/struct.NetworkSettings.html @@ -1,8 +1,8 @@ -NetworkSettings in massa_node::settings - Rust

    Struct massa_node::settings::NetworkSettings

    source ·
    pub struct NetworkSettings {
    +NetworkSettings in massa_node::settings - Rust

    Struct massa_node::settings::NetworkSettings

    source ·
    pub struct NetworkSettings {
         pub routable_ip: Option<IpAddr>,
     }

    Fields§

    §routable_ip: Option<IpAddr>

    Ip seen by others. If none the bind ip is used

    -

    Trait Implementations§

    source§

    impl Clone for NetworkSettings

    source§

    fn clone(&self) -> NetworkSettings

    Returns a copy of 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 NetworkSettings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for NetworkSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for NetworkSettings

    source§

    fn clone(&self) -> NetworkSettings

    Returns a copy of 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 NetworkSettings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for NetworkSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -124,7 +124,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_node/settings/struct.PoolSettings.html b/massa_node/settings/struct.PoolSettings.html index eef74d63e42..2dca5d11922 100644 --- a/massa_node/settings/struct.PoolSettings.html +++ b/massa_node/settings/struct.PoolSettings.html @@ -12,8 +12,8 @@

    Fields§

    §max_operation_pool_size: usize§max_operation_pool_excess_items: usize§operation_max_future_start_delay: MassaTime§operation_pool_refresh_interval: MassaTime§max_endorsements_pool_size_per_thread: usize§max_item_return_count: usize§broadcast_endorsements_channel_capacity: usize

    endorsements channel capacity

    §broadcast_operations_channel_capacity: usize

    operations channel capacity

    §minimal_fees: Amount

    operations minimum fees for block creator

    -

    Trait Implementations§

    source§

    impl Clone for PoolSettings

    source§

    fn clone(&self) -> PoolSettings

    Returns a copy of 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 PoolSettings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PoolSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for PoolSettings

    source§

    fn clone(&self) -> PoolSettings

    Returns a copy of 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 PoolSettings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PoolSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -135,7 +135,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_node/settings/struct.ProtocolSettings.html b/massa_node/settings/struct.ProtocolSettings.html index 6c989b2ee19..f269c487a06 100644 --- a/massa_node/settings/struct.ProtocolSettings.html +++ b/massa_node/settings/struct.ProtocolSettings.html @@ -1,4 +1,4 @@ -ProtocolSettings in massa_node::settings - Rust

    Struct massa_node::settings::ProtocolSettings

    source ·
    pub struct ProtocolSettings {
    Show 40 fields +ProtocolSettings in massa_node::settings - Rust

    Struct massa_node::settings::ProtocolSettings

    source ·
    pub struct ProtocolSettings {
    Show 40 fields pub ask_block_timeout: MassaTime, pub max_blocks_kept_for_propagation: usize, pub max_block_propagation_time: MassaTime, @@ -82,8 +82,8 @@
    §default_category_info: PeerCategoryInfo

    Limits for default category

    §test_oldest_peer_cooldown: MassaTime

    Cooldown before testing again an old peer

    §rate_limit: u64

    Rate limitation to apply to the data stream (per second)

    -

    Trait Implementations§

    source§

    impl Clone for ProtocolSettings

    source§

    fn clone(&self) -> ProtocolSettings

    Returns a copy of 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 ProtocolSettings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for ProtocolSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ProtocolSettings

    source§

    fn clone(&self) -> ProtocolSettings

    Returns a copy of 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 ProtocolSettings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for ProtocolSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -205,7 +205,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_node/settings/struct.SelectionSettings.html b/massa_node/settings/struct.SelectionSettings.html index 580eb6c1d6a..53e3da6f4c1 100644 --- a/massa_node/settings/struct.SelectionSettings.html +++ b/massa_node/settings/struct.SelectionSettings.html @@ -1,7 +1,7 @@ SelectionSettings in massa_node::settings - Rust

    Struct massa_node::settings::SelectionSettings

    source ·
    pub struct SelectionSettings {
         pub initial_rolls_path: PathBuf,
    -}

    Fields§

    §initial_rolls_path: PathBuf

    Trait Implementations§

    source§

    impl Clone for SelectionSettings

    source§

    fn clone(&self) -> SelectionSettings

    Returns a copy of 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 SelectionSettings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for SelectionSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +}

    Fields§

    §initial_rolls_path: PathBuf

    Trait Implementations§

    source§

    impl Clone for SelectionSettings

    source§

    fn clone(&self) -> SelectionSettings

    Returns a copy of 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 SelectionSettings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for SelectionSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -123,7 +123,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_node/settings/struct.Settings.html b/massa_node/settings/struct.Settings.html index a7e3cf2f0c7..5f69664cabb 100644 --- a/massa_node/settings/struct.Settings.html +++ b/massa_node/settings/struct.Settings.html @@ -1,4 +1,4 @@ -Settings in massa_node::settings - Rust

    Struct massa_node::settings::Settings

    source ·
    pub struct Settings {
    Show 15 fields +Settings in massa_node::settings - Rust

    Struct massa_node::settings::Settings

    source ·
    pub struct Settings {
    Show 15 fields pub logging: LoggingSettings, pub protocol: ProtocolSettings, pub consensus: ConsensusSettings, @@ -14,8 +14,8 @@ pub metrics: MetricsSettings, pub versioning: VersioningSettings, pub block_dump: BlockDumpSettings, -
    }

    Fields§

    §logging: LoggingSettings§protocol: ProtocolSettings§consensus: ConsensusSettings§api: APISettings§network: NetworkSettings§bootstrap: BootstrapSettings§pool: PoolSettings§execution: ExecutionSettings§ledger: LedgerSettings§selector: SelectionSettings§factory: FactorySettings§grpc: GrpcApiSettings§metrics: MetricsSettings§versioning: VersioningSettings§block_dump: BlockDumpSettings

    Trait Implementations§

    source§

    impl Clone for Settings

    source§

    fn clone(&self) -> Settings

    Returns a copy of 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 Settings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Settings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    }

    Fields§

    §logging: LoggingSettings§protocol: ProtocolSettings§consensus: ConsensusSettings§api: APISettings§network: NetworkSettings§bootstrap: BootstrapSettings§pool: PoolSettings§execution: ExecutionSettings§ledger: LedgerSettings§selector: SelectionSettings§factory: FactorySettings§grpc: GrpcApiSettings§metrics: MetricsSettings§versioning: VersioningSettings§block_dump: BlockDumpSettings

    Trait Implementations§

    source§

    impl Clone for Settings

    source§

    fn clone(&self) -> Settings

    Returns a copy of 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 Settings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Settings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -137,7 +137,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_node/settings/struct.VersioningSettings.html b/massa_node/settings/struct.VersioningSettings.html index d5aed501ca7..2a6c2f1e2c3 100644 --- a/massa_node/settings/struct.VersioningSettings.html +++ b/massa_node/settings/struct.VersioningSettings.html @@ -1,7 +1,7 @@ -VersioningSettings in massa_node::settings - Rust

    Struct massa_node::settings::VersioningSettings

    source ·
    pub struct VersioningSettings {
    +VersioningSettings in massa_node::settings - Rust

    Struct massa_node::settings::VersioningSettings

    source ·
    pub struct VersioningSettings {
         pub(crate) mip_stats_warn_announced_version: u32,
    -}

    Fields§

    §mip_stats_warn_announced_version: u32

    Trait Implementations§

    source§

    impl Clone for VersioningSettings

    source§

    fn clone(&self) -> VersioningSettings

    Returns a copy of 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 VersioningSettings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for VersioningSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +}

    Fields§

    §mip_stats_warn_announced_version: u32

    Trait Implementations§

    source§

    impl Clone for VersioningSettings

    source§

    fn clone(&self) -> VersioningSettings

    Returns a copy of 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 VersioningSettings

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for VersioningSettings

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where @@ -123,7 +123,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSend for T
    where T: Send,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_node/struct.Args.html b/massa_node/struct.Args.html index 7f7798d325d..59adefabed7 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 de15c3a1226..a3ab08154d3 100644 --- a/massa_node/struct.Managers.html +++ b/massa_node/struct.Managers.html @@ -1,13 +1,13 @@ -Managers in massa_node - Rust

    Struct massa_node::Managers

    source ·
    pub(crate) struct Managers {
    -    pub(crate) bootstrap_manager: Option<BootstrapManager>,
    +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>,
         pub(crate) selector_manager: Box<dyn SelectorManager>,
         pub(crate) pool_manager: Box<dyn PoolManager>,
         pub(crate) protocol_manager: Box<dyn ProtocolManager>,
    -    pub(crate) factory_manager: Box<dyn FactoryManager>,
    +    pub(crate) factory_manager: Box<dyn FactoryManager>,
         pub(crate) event_cache_manager: Box<dyn EventCacheManager>,
    -}

    Fields§

    §bootstrap_manager: Option<BootstrapManager>§consensus_manager: Box<dyn ConsensusManager>§execution_manager: Box<dyn ExecutionManager>§selector_manager: Box<dyn SelectorManager>§pool_manager: Box<dyn PoolManager>§protocol_manager: Box<dyn ProtocolManager>§factory_manager: Box<dyn FactoryManager>§event_cache_manager: Box<dyn EventCacheManager>

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +}

    Fields§

    §bootstrap_manager: Option<BootstrapManager>§consensus_manager: Box<dyn ConsensusManager>§execution_manager: Box<dyn ExecutionManager>§selector_manager: Box<dyn SelectorManager>§pool_manager: Box<dyn PoolManager>§protocol_manager: Box<dyn ProtocolManager>§factory_manager: Box<dyn FactoryManager>§event_cache_manager: Box<dyn EventCacheManager>

    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_pool_exports/config/struct.PoolConfig.html b/massa_pool_exports/config/struct.PoolConfig.html index 553758fad83..d84d60df852 100644 --- a/massa_pool_exports/config/struct.PoolConfig.html +++ b/massa_pool_exports/config/struct.PoolConfig.html @@ -59,9 +59,9 @@
  • If from snapshot: retrieve from args
  • If from bootstrap: set during bootstrap
  • -

    Trait Implementations§

    source§

    impl Clone for PoolConfig

    source§

    fn clone(&self) -> PoolConfig

    Returns a copy of 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 PoolConfig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PoolConfig

    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 Serialize for PoolConfig

    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 PoolConfig

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for PoolConfig

    source§

    fn clone(&self) -> PoolConfig

    Returns a copy of 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 PoolConfig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PoolConfig

    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 Serialize for PoolConfig

    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 PoolConfig

    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 @@ -177,6 +177,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_pool_exports/struct.PoolConfig.html b/massa_pool_exports/struct.PoolConfig.html index 157f0a8ff55..009e26246d5 100644 --- a/massa_pool_exports/struct.PoolConfig.html +++ b/massa_pool_exports/struct.PoolConfig.html @@ -59,9 +59,9 @@
  • If from snapshot: retrieve from args
  • If from bootstrap: set during bootstrap
  • -

    Trait Implementations§

    source§

    impl Clone for PoolConfig

    source§

    fn clone(&self) -> PoolConfig

    Returns a copy of 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 PoolConfig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PoolConfig

    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 Serialize for PoolConfig

    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 PoolConfig

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for PoolConfig

    source§

    fn clone(&self) -> PoolConfig

    Returns a copy of 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 PoolConfig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PoolConfig

    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 Serialize for PoolConfig

    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 PoolConfig

    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 @@ -177,6 +177,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    §

    impl<T> ErasedDestructor for T
    where T: 'static,

    §

    impl<T> MaybeSendSync for T

    \ No newline at end of file diff --git a/massa_pos_exports/cycle_info/struct.ProductionStats.html b/massa_pos_exports/cycle_info/struct.ProductionStats.html index 7adb989500d..6fdd1c23db2 100644 --- a/massa_pos_exports/cycle_info/struct.ProductionStats.html +++ b/massa_pos_exports/cycle_info/struct.ProductionStats.html @@ -6,11 +6,11 @@
    §block_failure_count: u64

    Number of blocks missed

    Implementations§

    source§

    impl ProductionStats

    source

    pub fn is_satisfying(&self, max_miss_ratio: &Ratio<u64>) -> bool

    Check if the production stats are above the required percentage

    source

    pub fn extend(&mut self, stats: &ProductionStats)

    Increment a production stat structure with another

    -

    Trait Implementations§

    source§

    impl Clone for ProductionStats

    source§

    fn clone(&self) -> ProductionStats

    Returns a copy of 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 ProductionStats

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for ProductionStats

    source§

    fn default() -> ProductionStats

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for ProductionStats

    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 PartialEq for ProductionStats

    source§

    fn eq(&self, other: &ProductionStats) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for ProductionStats

    source§

    fn clone(&self) -> ProductionStats

    Returns a copy of 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 ProductionStats

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for ProductionStats

    source§

    fn default() -> ProductionStats

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for ProductionStats

    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 PartialEq for ProductionStats

    source§

    fn eq(&self, other: &ProductionStats) -> 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 ProductionStats

    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 ProductionStats

    source§

    impl Eq for ProductionStats

    source§

    impl StructuralPartialEq for ProductionStats

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for ProductionStats

    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 ProductionStats

    source§

    impl Eq for ProductionStats

    source§

    impl StructuralPartialEq for ProductionStats

    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 @@ -115,5 +115,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_pos_exports/deferred_credits/struct.DeferredCredits.html b/massa_pos_exports/deferred_credits/struct.DeferredCredits.html index 5067ff82b05..0224810aedf 100644 --- a/massa_pos_exports/deferred_credits/struct.DeferredCredits.html +++ b/massa_pos_exports/deferred_credits/struct.DeferredCredits.html @@ -21,12 +21,12 @@ address: Address, amount: Amount, ) -> Option<Amount>

    Insert an element

    -

    Trait Implementations§

    source§

    impl Clone for DeferredCredits

    source§

    fn clone(&self) -> DeferredCredits

    Returns a copy of 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 DeferredCredits

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for DeferredCredits

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for DeferredCredits

    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<DeferredCredits> for DeferredCreditsDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Clone for DeferredCredits

    source§

    fn clone(&self) -> DeferredCredits

    Returns a copy of 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 DeferredCredits

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for DeferredCredits

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for DeferredCredits

    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<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>, @@ -128,5 +128,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_pos_exports/enum.PosError.html b/massa_pos_exports/enum.PosError.html index 3ee9ee86cf7..027e3a912d5 100644 --- a/massa_pos_exports/enum.PosError.html +++ b/massa_pos_exports/enum.PosError.html @@ -16,7 +16,7 @@
    §

    RollsFileLoadingError(String)

    Error while loading initial rolls file: {0}

    §

    DeferredCreditsFileLoadingError(String)

    Error while loading initial deferred credits file: {0}

    §

    ChannelDown(String)

    Communication channel was down: {0}

    -

    Trait Implementations§

    source§

    impl Clone for PosError

    source§

    fn clone(&self) -> PosError

    Returns a copy of 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 PosError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for PosError

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for PosError

    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 PosError

    source§

    fn clone(&self) -> PosError

    Returns a copy of 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 PosError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for PosError

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for PosError

    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_pos_exports/error/enum.PosError.html b/massa_pos_exports/error/enum.PosError.html index 211cbdc42c2..1a21c29f777 100644 --- a/massa_pos_exports/error/enum.PosError.html +++ b/massa_pos_exports/error/enum.PosError.html @@ -16,7 +16,7 @@
    §

    RollsFileLoadingError(String)

    Error while loading initial rolls file: {0}

    §

    DeferredCreditsFileLoadingError(String)

    Error while loading initial deferred credits file: {0}

    §

    ChannelDown(String)

    Communication channel was down: {0}

    -

    Trait Implementations§

    source§

    impl Clone for PosError

    source§

    fn clone(&self) -> PosError

    Returns a copy of 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 PosError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for PosError

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for PosError

    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 PosError

    source§

    fn clone(&self) -> PosError

    Returns a copy of 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 PosError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for PosError

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for PosError

    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_pos_exports/pos_changes/struct.PoSChanges.html b/massa_pos_exports/pos_changes/struct.PoSChanges.html index fe68bb6597c..7043f03ac25 100644 --- a/massa_pos_exports/pos_changes/struct.PoSChanges.html +++ b/massa_pos_exports/pos_changes/struct.PoSChanges.html @@ -11,12 +11,12 @@ ordered structure to ensure slot iteration order is deterministic

    Implementations§

    source§

    impl PoSChanges

    source

    pub fn is_empty(&self) -> bool

    Check if changes are empty

    source

    pub fn extend(&mut self, other: PoSChanges)

    Extends the current PosChanges with another one

    -

    Trait Implementations§

    source§

    impl Clone for PoSChanges

    source§

    fn clone(&self) -> PoSChanges

    Returns a copy of 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 PoSChanges

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for PoSChanges

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for PoSChanges

    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<PoSChanges> for PoSChangesDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Clone for PoSChanges

    source§

    fn clone(&self) -> PoSChanges

    Returns a copy of 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 PoSChanges

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for PoSChanges

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for PoSChanges

    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<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>, @@ -118,5 +118,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_pos_exports/settings/struct.SelectorConfig.html b/massa_pos_exports/settings/struct.SelectorConfig.html index 14625c01c3d..f20bc28343c 100644 --- a/massa_pos_exports/settings/struct.SelectorConfig.html +++ b/massa_pos_exports/settings/struct.SelectorConfig.html @@ -12,9 +12,9 @@ §periods_per_cycle: u64

    Number of periods per cycle

    §genesis_address: Address

    genesis address to force draw genesis creators

    §channel_size: usize

    communication channel length

    -

    Trait Implementations§

    source§

    impl Clone for SelectorConfig

    source§

    fn clone(&self) -> SelectorConfig

    Returns a copy of 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 SelectorConfig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for SelectorConfig

    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 Serialize for SelectorConfig

    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 +

    Trait Implementations§

    source§

    impl Clone for SelectorConfig

    source§

    fn clone(&self) -> SelectorConfig

    Returns a copy of 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 SelectorConfig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for SelectorConfig

    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 Serialize for SelectorConfig

    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 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 @@ -112,5 +112,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_pos_exports/struct.DeferredCredits.html b/massa_pos_exports/struct.DeferredCredits.html index 4c4b6c52451..3ac98593ed2 100644 --- a/massa_pos_exports/struct.DeferredCredits.html +++ b/massa_pos_exports/struct.DeferredCredits.html @@ -21,12 +21,12 @@ address: Address, amount: Amount, ) -> Option<Amount>

    Insert an element

    -

    Trait Implementations§

    source§

    impl Clone for DeferredCredits

    source§

    fn clone(&self) -> DeferredCredits

    Returns a copy of 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 DeferredCredits

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for DeferredCredits

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for DeferredCredits

    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<DeferredCredits> for DeferredCreditsDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Clone for DeferredCredits

    source§

    fn clone(&self) -> DeferredCredits

    Returns a copy of 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 DeferredCredits

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for DeferredCredits

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for DeferredCredits

    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<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>, @@ -128,5 +128,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_pos_exports/struct.PoSChanges.html b/massa_pos_exports/struct.PoSChanges.html index 7b528f9990c..003caa673ea 100644 --- a/massa_pos_exports/struct.PoSChanges.html +++ b/massa_pos_exports/struct.PoSChanges.html @@ -11,12 +11,12 @@ ordered structure to ensure slot iteration order is deterministic

    Implementations§

    source§

    impl PoSChanges

    source

    pub fn is_empty(&self) -> bool

    Check if changes are empty

    source

    pub fn extend(&mut self, other: PoSChanges)

    Extends the current PosChanges with another one

    -

    Trait Implementations§

    source§

    impl Clone for PoSChanges

    source§

    fn clone(&self) -> PoSChanges

    Returns a copy of 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 PoSChanges

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for PoSChanges

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for PoSChanges

    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<PoSChanges> for PoSChangesDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Trait Implementations§

    source§

    impl Clone for PoSChanges

    source§

    fn clone(&self) -> PoSChanges

    Returns a copy of 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 PoSChanges

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for PoSChanges

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for PoSChanges

    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<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>, @@ -118,5 +118,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_pos_exports/struct.ProductionStats.html b/massa_pos_exports/struct.ProductionStats.html index 6785d554fa6..43f2b68ef94 100644 --- a/massa_pos_exports/struct.ProductionStats.html +++ b/massa_pos_exports/struct.ProductionStats.html @@ -6,11 +6,11 @@ §block_failure_count: u64

    Number of blocks missed

    Implementations§

    source§

    impl ProductionStats

    source

    pub fn is_satisfying(&self, max_miss_ratio: &Ratio<u64>) -> bool

    Check if the production stats are above the required percentage

    source

    pub fn extend(&mut self, stats: &ProductionStats)

    Increment a production stat structure with another

    -

    Trait Implementations§

    source§

    impl Clone for ProductionStats

    source§

    fn clone(&self) -> ProductionStats

    Returns a copy of 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 ProductionStats

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for ProductionStats

    source§

    fn default() -> ProductionStats

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for ProductionStats

    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 PartialEq for ProductionStats

    source§

    fn eq(&self, other: &ProductionStats) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for ProductionStats

    source§

    fn clone(&self) -> ProductionStats

    Returns a copy of 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 ProductionStats

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for ProductionStats

    source§

    fn default() -> ProductionStats

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for ProductionStats

    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 PartialEq for ProductionStats

    source§

    fn eq(&self, other: &ProductionStats) -> 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 ProductionStats

    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 ProductionStats

    source§

    impl Eq for ProductionStats

    source§

    impl StructuralPartialEq for ProductionStats

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for ProductionStats

    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 ProductionStats

    source§

    impl Eq for ProductionStats

    source§

    impl StructuralPartialEq for ProductionStats

    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 @@ -115,5 +115,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_pos_exports/struct.SelectorConfig.html b/massa_pos_exports/struct.SelectorConfig.html index cb14ee81dfc..b0e87de3618 100644 --- a/massa_pos_exports/struct.SelectorConfig.html +++ b/massa_pos_exports/struct.SelectorConfig.html @@ -12,9 +12,9 @@ §periods_per_cycle: u64

    Number of periods per cycle

    §genesis_address: Address

    genesis address to force draw genesis creators

    §channel_size: usize

    communication channel length

    -

    Trait Implementations§

    source§

    impl Clone for SelectorConfig

    source§

    fn clone(&self) -> SelectorConfig

    Returns a copy of 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 SelectorConfig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for SelectorConfig

    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 Serialize for SelectorConfig

    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 +

    Trait Implementations§

    source§

    impl Clone for SelectorConfig

    source§

    fn clone(&self) -> SelectorConfig

    Returns a copy of 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 SelectorConfig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for SelectorConfig

    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 Serialize for SelectorConfig

    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 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 @@ -112,5 +112,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_protocol_exports/bootstrap_peers/struct.BootstrapPeers.html b/massa_protocol_exports/bootstrap_peers/struct.BootstrapPeers.html index 5804aec6916..e7e0d0f791d 100644 --- a/massa_protocol_exports/bootstrap_peers/struct.BootstrapPeers.html +++ b/massa_protocol_exports/bootstrap_peers/struct.BootstrapPeers.html @@ -1,6 +1,6 @@ BootstrapPeers in massa_protocol_exports::bootstrap_peers - Rust
    pub struct BootstrapPeers(pub Vec<(PeerId, HashMap<SocketAddr, TransportType>)>);
    Expand description

    Peers that are transmitted during bootstrap

    -

    Tuple Fields§

    §0: Vec<(PeerId, HashMap<SocketAddr, TransportType>)>

    Trait Implementations§

    source§

    impl Clone for BootstrapPeers

    source§

    fn clone(&self) -> BootstrapPeers

    Returns a copy of 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 BootstrapPeers

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for BootstrapPeers

    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<BootstrapPeers> for BootstrapPeersDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Tuple Fields§

    §0: Vec<(PeerId, HashMap<SocketAddr, TransportType>)>

    Trait Implementations§

    source§

    impl Clone for BootstrapPeers

    source§

    fn clone(&self) -> BootstrapPeers

    Returns a copy of 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 BootstrapPeers

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for BootstrapPeers

    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<BootstrapPeers> for BootstrapPeersDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], BootstrapPeers, E>

    @@ -29,8 +29,8 @@ assert_eq!(peers, peers);
    source§

    impl PartialEq for BootstrapPeers

    source§

    fn eq(&self, other: &BootstrapPeers) -> 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 BootstrapPeers

    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<BootstrapPeers> for BootstrapPeersSerializer

    source§

    fn serialize( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for BootstrapPeers

    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<BootstrapPeers> for BootstrapPeersSerializer

    source§

    fn serialize( &self, value: &BootstrapPeers, buffer: &mut Vec<u8>, @@ -165,5 +165,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_protocol_exports/bootstrap_peers/struct.PeerData.html b/massa_protocol_exports/bootstrap_peers/struct.PeerData.html index 88683521319..08adc80ddca 100644 --- a/massa_protocol_exports/bootstrap_peers/struct.PeerData.html +++ b/massa_protocol_exports/bootstrap_peers/struct.PeerData.html @@ -2,11 +2,11 @@ pub listeners: HashMap<SocketAddr, TransportType>, pub category: String, }
    Expand description

    Peer info provided in bootstrap

    -

    Fields§

    §listeners: HashMap<SocketAddr, TransportType>§category: String

    Trait Implementations§

    source§

    impl Clone for PeerData

    source§

    fn clone(&self) -> PeerData

    Returns a copy of 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 PeerData

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PeerData

    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 PartialEq for PeerData

    source§

    fn eq(&self, other: &PeerData) -> bool

    This method tests for self and other values to be equal, and is used +

    Fields§

    §listeners: HashMap<SocketAddr, TransportType>§category: String

    Trait Implementations§

    source§

    impl Clone for PeerData

    source§

    fn clone(&self) -> PeerData

    Returns a copy of 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 PeerData

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PeerData

    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 PartialEq for PeerData

    source§

    fn eq(&self, other: &PeerData) -> 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 PeerData

    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 PeerData

    source§

    impl StructuralPartialEq for PeerData

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for PeerData

    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 PeerData

    source§

    impl StructuralPartialEq for PeerData

    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 @@ -117,5 +117,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_protocol_exports/enum.ProtocolError.html b/massa_protocol_exports/enum.ProtocolError.html index 8d5d23d2263..e5ddc8367ec 100644 --- a/massa_protocol_exports/enum.ProtocolError.html +++ b/massa_protocol_exports/enum.ProtocolError.html @@ -6,7 +6,7 @@ PeerConnectionError(NetworkConnectionErrorType), InvalidIpError(IpAddr), IOError(Error), - SerdeError(Error), + SerdeError(Error), UnexpectedNodeCommandChannelClosure, UnexpectedWriterClosure, TimeError(TimeError), @@ -35,7 +35,7 @@
    §

    PeerConnectionError(NetworkConnectionErrorType)

    Error during network connection: {0:?}

    §

    InvalidIpError(IpAddr)

    The ip: {0} address is not valid

    §

    IOError(Error)

    IO error: {0}

    -
    §

    SerdeError(Error)

    Serde error: {0}

    +
    §

    SerdeError(Error)

    Serde error: {0}

    §

    UnexpectedNodeCommandChannelClosure

    The network controller should not drop a node command sender before shutting down the node.

    §

    UnexpectedWriterClosure

    The writer of a node should not drop its event sender before sending a clean_exit message.

    §

    TimeError(TimeError)

    Time error: {0}

    @@ -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/enum.TransportType.html b/massa_protocol_exports/enum.TransportType.html index 6b733276c25..9263e417e0b 100644 --- a/massa_protocol_exports/enum.TransportType.html +++ b/massa_protocol_exports/enum.TransportType.html @@ -4,19 +4,19 @@ }
    Expand description

    Define the different transports available TODO: Maybe try to fusion with the InternalTransportType enum above

    Variants§

    §

    Tcp = 0

    §

    Quic = 1

    Implementations§

    §

    impl TransportType

    pub fn from_transport_config(config: &TransportConfig) -> TransportType

    Extract the transport type from TransportConfig

    -

    Trait Implementations§

    §

    impl Clone for TransportType

    §

    fn clone(&self) -> TransportType

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for TransportType

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for TransportType

    §

    fn deserialize<__D>( +

    Trait Implementations§

    §

    impl Clone for TransportType

    §

    fn clone(&self) -> TransportType

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for TransportType

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for TransportType

    §

    fn deserialize<__D>( __deserializer: __D, -) -> Result<TransportType, <__D as Deserializer<'de>>::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl Hash for TransportType

    §

    fn hash<__H>(&self, state: &mut __H)
    where +) -> Result<TransportType, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl Hash for TransportType

    §

    fn hash<__H>(&self, state: &mut __H)
    where __H: Hasher,

    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
    §

    impl PartialEq for TransportType

    §

    fn eq(&self, other: &TransportType) -> 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.
    §

    impl Serialize for TransportType

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    §

    impl Serialize for TransportType

    §

    fn serialize<__S>( &self, __serializer: __S, -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl Copy for TransportType

    §

    impl Eq for TransportType

    §

    impl StructuralPartialEq for TransportType

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl Copy for TransportType

    §

    impl Eq for TransportType

    §

    impl StructuralPartialEq for TransportType

    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 @@ -131,5 +131,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_protocol_exports/error/enum.ProtocolError.html b/massa_protocol_exports/error/enum.ProtocolError.html index bec5d498933..ab740f9a40f 100644 --- a/massa_protocol_exports/error/enum.ProtocolError.html +++ b/massa_protocol_exports/error/enum.ProtocolError.html @@ -6,7 +6,7 @@ PeerConnectionError(NetworkConnectionErrorType), InvalidIpError(IpAddr), IOError(Error), - SerdeError(Error), + SerdeError(Error), UnexpectedNodeCommandChannelClosure, UnexpectedWriterClosure, TimeError(TimeError), @@ -35,7 +35,7 @@
    §

    PeerConnectionError(NetworkConnectionErrorType)

    Error during network connection: {0:?}

    §

    InvalidIpError(IpAddr)

    The ip: {0} address is not valid

    §

    IOError(Error)

    IO error: {0}

    -
    §

    SerdeError(Error)

    Serde error: {0}

    +
    §

    SerdeError(Error)

    Serde error: {0}

    §

    UnexpectedNodeCommandChannelClosure

    The network controller should not drop a node command sender before shutting down the node.

    §

    UnexpectedWriterClosure

    The writer of a node should not drop its event sender before sending a clean_exit message.

    §

    TimeError(TimeError)

    Time error: {0}

    @@ -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..c9db6ef930d 100644 --- a/massa_protocol_exports/peer_id/struct.PeerId.html +++ b/massa_protocol_exports/peer_id/struct.PeerId.html @@ -4,11 +4,11 @@ &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

    +) -> 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 +) -> 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 H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for PeerId

    source§

    fn cmp(&self, other: &PeerId) -> 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,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>, @@ -140,7 +140,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where N: Copy + Ord + Hash,

    source§

    impl<T> RuleType for T
    where T: Copy + Debug + Eq + Hash + Ord,

    \ No newline at end of file diff --git a/massa_protocol_exports/settings/struct.PeerCategoryInfo.html b/massa_protocol_exports/settings/struct.PeerCategoryInfo.html index f0237033482..5b03786ca7a 100644 --- a/massa_protocol_exports/settings/struct.PeerCategoryInfo.html +++ b/massa_protocol_exports/settings/struct.PeerCategoryInfo.html @@ -3,8 +3,8 @@ pub target_out_connections: usize, pub max_in_connections: usize, pub max_in_connections_per_ip: usize, -}

    Fields§

    §allow_local_peers: bool§target_out_connections: usize§max_in_connections: usize§max_in_connections_per_ip: usize

    Trait Implementations§

    source§

    impl Clone for PeerCategoryInfo

    source§

    fn clone(&self) -> PeerCategoryInfo

    Returns a copy of 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 PeerCategoryInfo

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PeerCategoryInfo

    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 Copy for PeerCategoryInfo

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +}

    Fields§

    §allow_local_peers: bool§target_out_connections: usize§max_in_connections: usize§max_in_connections_per_ip: usize

    Trait Implementations§

    source§

    impl Clone for PeerCategoryInfo

    source§

    fn clone(&self) -> PeerCategoryInfo

    Returns a copy of 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 PeerCategoryInfo

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PeerCategoryInfo

    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 Copy for PeerCategoryInfo

    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 @@ -110,5 +110,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_protocol_exports/settings/struct.ProtocolConfig.html b/massa_protocol_exports/settings/struct.ProtocolConfig.html index 633acf9114b..855ab84d7aa 100644 --- a/massa_protocol_exports/settings/struct.ProtocolConfig.html +++ b/massa_protocol_exports/settings/struct.ProtocolConfig.html @@ -151,8 +151,8 @@ §test_oldest_peer_cooldown: MassaTime

    Cooldown before testing again an old peer

    §rate_limit: u64

    Rate limit to apply on the data stream

    §chain_id: u64

    Chain id

    -

    Trait Implementations§

    source§

    impl Clone for ProtocolConfig

    source§

    fn clone(&self) -> ProtocolConfig

    Returns a copy of 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 ProtocolConfig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for ProtocolConfig

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ProtocolConfig

    source§

    fn clone(&self) -> ProtocolConfig

    Returns a copy of 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 ProtocolConfig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for ProtocolConfig

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 @@ -257,5 +257,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_protocol_exports/struct.BootstrapPeers.html b/massa_protocol_exports/struct.BootstrapPeers.html index e5cf6f857e9..fd50d67f5e6 100644 --- a/massa_protocol_exports/struct.BootstrapPeers.html +++ b/massa_protocol_exports/struct.BootstrapPeers.html @@ -1,6 +1,6 @@ BootstrapPeers in massa_protocol_exports - Rust

    Struct massa_protocol_exports::BootstrapPeers

    source ·
    pub struct BootstrapPeers(pub Vec<(PeerId, HashMap<SocketAddr, TransportType>)>);
    Expand description

    Peers that are transmitted during bootstrap

    -

    Tuple Fields§

    §0: Vec<(PeerId, HashMap<SocketAddr, TransportType>)>

    Trait Implementations§

    source§

    impl Clone for BootstrapPeers

    source§

    fn clone(&self) -> BootstrapPeers

    Returns a copy of 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 BootstrapPeers

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for BootstrapPeers

    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<BootstrapPeers> for BootstrapPeersDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    Tuple Fields§

    §0: Vec<(PeerId, HashMap<SocketAddr, TransportType>)>

    Trait Implementations§

    source§

    impl Clone for BootstrapPeers

    source§

    fn clone(&self) -> BootstrapPeers

    Returns a copy of 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 BootstrapPeers

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for BootstrapPeers

    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<BootstrapPeers> for BootstrapPeersDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], BootstrapPeers, E>

    @@ -29,8 +29,8 @@ assert_eq!(peers, peers);
    source§

    impl PartialEq for BootstrapPeers

    source§

    fn eq(&self, other: &BootstrapPeers) -> 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 BootstrapPeers

    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<BootstrapPeers> for BootstrapPeersSerializer

    source§

    fn serialize( +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for BootstrapPeers

    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<BootstrapPeers> for BootstrapPeersSerializer

    source§

    fn serialize( &self, value: &BootstrapPeers, buffer: &mut Vec<u8>, @@ -165,5 +165,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_protocol_exports/struct.PeerCategoryInfo.html b/massa_protocol_exports/struct.PeerCategoryInfo.html index 22889fcc0e6..58b0bacaf98 100644 --- a/massa_protocol_exports/struct.PeerCategoryInfo.html +++ b/massa_protocol_exports/struct.PeerCategoryInfo.html @@ -3,8 +3,8 @@ pub target_out_connections: usize, pub max_in_connections: usize, pub max_in_connections_per_ip: usize, -}

    Fields§

    §allow_local_peers: bool§target_out_connections: usize§max_in_connections: usize§max_in_connections_per_ip: usize

    Trait Implementations§

    source§

    impl Clone for PeerCategoryInfo

    source§

    fn clone(&self) -> PeerCategoryInfo

    Returns a copy of 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 PeerCategoryInfo

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PeerCategoryInfo

    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 Copy for PeerCategoryInfo

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +}

    Fields§

    §allow_local_peers: bool§target_out_connections: usize§max_in_connections: usize§max_in_connections_per_ip: usize

    Trait Implementations§

    source§

    impl Clone for PeerCategoryInfo

    source§

    fn clone(&self) -> PeerCategoryInfo

    Returns a copy of 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 PeerCategoryInfo

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PeerCategoryInfo

    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 Copy for PeerCategoryInfo

    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 @@ -110,5 +110,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_protocol_exports/struct.PeerData.html b/massa_protocol_exports/struct.PeerData.html index 71448b4e106..f0fb1108211 100644 --- a/massa_protocol_exports/struct.PeerData.html +++ b/massa_protocol_exports/struct.PeerData.html @@ -2,11 +2,11 @@ pub listeners: HashMap<SocketAddr, TransportType>, pub category: String, }
    Expand description

    Peer info provided in bootstrap

    -

    Fields§

    §listeners: HashMap<SocketAddr, TransportType>§category: String

    Trait Implementations§

    source§

    impl Clone for PeerData

    source§

    fn clone(&self) -> PeerData

    Returns a copy of 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 PeerData

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PeerData

    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 PartialEq for PeerData

    source§

    fn eq(&self, other: &PeerData) -> bool

    This method tests for self and other values to be equal, and is used +

    Fields§

    §listeners: HashMap<SocketAddr, TransportType>§category: String

    Trait Implementations§

    source§

    impl Clone for PeerData

    source§

    fn clone(&self) -> PeerData

    Returns a copy of 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 PeerData

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PeerData

    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 PartialEq for PeerData

    source§

    fn eq(&self, other: &PeerData) -> 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 PeerData

    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 PeerData

    source§

    impl StructuralPartialEq for PeerData

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for PeerData

    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 PeerData

    source§

    impl StructuralPartialEq for PeerData

    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 @@ -117,5 +117,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_protocol_exports/struct.PeerId.html b/massa_protocol_exports/struct.PeerId.html index 396745153e1..d31d89a48f8 100644 --- a/massa_protocol_exports/struct.PeerId.html +++ b/massa_protocol_exports/struct.PeerId.html @@ -4,11 +4,11 @@ &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

    +) -> 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 +) -> 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 H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for PeerId

    source§

    fn cmp(&self, other: &PeerId) -> 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,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>, @@ -140,7 +140,7 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where N: Copy + Ord + Hash,

    source§

    impl<T> RuleType for T
    where T: Copy + Debug + Eq + Hash + Ord,

    \ No newline at end of file diff --git a/massa_protocol_exports/struct.ProtocolConfig.html b/massa_protocol_exports/struct.ProtocolConfig.html index df87ecaa47f..773aff802ae 100644 --- a/massa_protocol_exports/struct.ProtocolConfig.html +++ b/massa_protocol_exports/struct.ProtocolConfig.html @@ -151,8 +151,8 @@ §test_oldest_peer_cooldown: MassaTime

    Cooldown before testing again an old peer

    §rate_limit: u64

    Rate limit to apply on the data stream

    §chain_id: u64

    Chain id

    -

    Trait Implementations§

    source§

    impl Clone for ProtocolConfig

    source§

    fn clone(&self) -> ProtocolConfig

    Returns a copy of 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 ProtocolConfig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for ProtocolConfig

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for ProtocolConfig

    source§

    fn clone(&self) -> ProtocolConfig

    Returns a copy of 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 ProtocolConfig

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for ProtocolConfig

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. 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 @@ -257,5 +257,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file 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 db6e07529eb..e53b5134416 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 5b08f667b35..59c7ba5489b 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/endorsement_handler/messages/enum.MessageTypeId.html b/massa_protocol_worker/handlers/endorsement_handler/messages/enum.MessageTypeId.html index 1ec16588a49..7c858612dc1 100644 --- a/massa_protocol_worker/handlers/endorsement_handler/messages/enum.MessageTypeId.html +++ b/massa_protocol_worker/handlers/endorsement_handler/messages/enum.MessageTypeId.html @@ -1,8 +1,8 @@ MessageTypeId in massa_protocol_worker::handlers::endorsement_handler::messages - Rust
    #[repr(u64)]
    pub enum MessageTypeId { Endorsements = 0, -}

    Variants§

    §

    Endorsements = 0

    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<&EndorsementMessage> for MessageTypeId

    source§

    fn from(message: &EndorsementMessage) -> 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§

    §

    Endorsements = 0

    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<&EndorsementMessage> for MessageTypeId

    source§

    fn from(message: &EndorsementMessage) -> 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/peer_handler/messages/enum.MessageTypeId.html b/massa_protocol_worker/handlers/peer_handler/messages/enum.MessageTypeId.html index bd6497f138f..2a307ca51ed 100644 --- a/massa_protocol_worker/handlers/peer_handler/messages/enum.MessageTypeId.html +++ b/massa_protocol_worker/handlers/peer_handler/messages/enum.MessageTypeId.html @@ -1,9 +1,9 @@ MessageTypeId in massa_protocol_worker::handlers::peer_handler::messages - Rust
    #[repr(u64)]
    pub enum MessageTypeId { NewPeerConnected = 0, ListPeers = 1, -}

    Variants§

    §

    NewPeerConnected = 0

    §

    ListPeers = 1

    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<&PeerManagementMessage> for MessageTypeId

    source§

    fn from(message: &PeerManagementMessage) -> 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§

    §

    NewPeerConnected = 0

    §

    ListPeers = 1

    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<&PeerManagementMessage> for MessageTypeId

    source§

    fn from(message: &PeerManagementMessage) -> 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/peer_handler/messages/enum.PeerManagementMessage.html b/massa_protocol_worker/handlers/peer_handler/messages/enum.PeerManagementMessage.html index cd9863ded8f..40d3c8a5124 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 91f98dc12fa..0685914fe43 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_signature/enum.KeyPair.html b/massa_signature/enum.KeyPair.html index 3b3ea78f27c..1bfb12e4983 100644 --- a/massa_signature/enum.KeyPair.html +++ b/massa_signature/enum.KeyPair.html @@ -31,27 +31,27 @@

    §Example
    let bytes = keypair.to_bytes(); let keypair2 = KeyPair::from_bytes(&bytes).unwrap(); assert_eq!(keypair.to_string(), keypair2.to_string());
    -

    Trait Implementations§

    source§

    impl Clone for KeyPair

    source§

    fn clone(&self) -> KeyPair

    Returns a copy of 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 KeyPair

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for KeyPair

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<KeyPair, D::Error>

    ::serde::Deserialize trait for KeyPair +

    Trait Implementations§

    source§

    impl Clone for KeyPair

    source§

    fn clone(&self) -> KeyPair

    Returns a copy of 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 KeyPair

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for KeyPair

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<KeyPair, D::Error>

    ::serde::Deserialize trait for KeyPair if the deserializer is human readable, deserialization is done using deserialize_bs58_check else, it uses deserialize_binary

    -
    §Example
    +
    §Example

    Human readable deserialization :

    let keypair = KeyPair::generate(0).unwrap();
     let serialized = serde_json::to_string(&keypair).unwrap();
     let deserialized: KeyPair = serde_json::from_str(&serialized).unwrap();
    -
    source§

    impl Display for KeyPair

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for KeyPair

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    +
    source§

    impl Display for KeyPair

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for KeyPair

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    
     let keypair = KeyPair::generate(0).unwrap();
     let string = keypair.to_string();
     let keypair2 = KeyPair::from_str(&string).unwrap();
     assert_eq!(keypair.to_string(), keypair2.to_string());
    -
    §

    type Err = MassaSignatureError

    The associated error which can be returned from parsing.
    source§

    impl Serialize for KeyPair

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for KeyPair +

    §

    type Err = MassaSignatureError

    The associated error which can be returned from parsing.
    source§

    impl Serialize for KeyPair

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for KeyPair if the serializer is human readable, serialization is done using serialize_bs58_check else, it uses serialize_binary

    -
    §Example
    +
    §Example

    Human readable serialization :

    let keypair = KeyPair::generate(0).unwrap();
    @@ -70,5 +70,5 @@ 
    §Example
    T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_signature/enum.MassaSignatureError.html b/massa_signature/enum.MassaSignatureError.html index f26d6c9eb0f..e12544a5452 100644 --- a/massa_signature/enum.MassaSignatureError.html +++ b/massa_signature/enum.MassaSignatureError.html @@ -8,7 +8,7 @@
    §

    SignatureError(String)

    Signature error : {0}

    §

    WrongPrefix(String, String)

    Wrong prefix for hash: expected {0}, got {1}

    §

    InvalidVersionError(String)

    invalid version identifier: {0}

    -

    Trait Implementations§

    source§

    impl Clone for MassaSignatureError

    source§

    fn clone(&self) -> MassaSignatureError

    Returns a copy of 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 MassaSignatureError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for MassaSignatureError

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for MassaSignatureError

    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 MassaSignatureError

    source§

    fn clone(&self) -> MassaSignatureError

    Returns a copy of 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 MassaSignatureError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for MassaSignatureError

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for MassaSignatureError

    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_signature/enum.PublicKey.html b/massa_signature/enum.PublicKey.html index b46353d31f7..388d7e2821f 100644 --- a/massa_signature/enum.PublicKey.html +++ b/massa_signature/enum.PublicKey.html @@ -21,18 +21,18 @@
    §Example
    let serialized = keypair.get_public_key().to_bytes(); let deserialized: PublicKey = PublicKey::from_bytes(&serialized).unwrap();
    -

    Trait Implementations§

    source§

    impl Clone for PublicKey

    source§

    fn clone(&self) -> PublicKey

    Returns a copy of 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 PublicKey

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PublicKey

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<PublicKey, D::Error>

    ::serde::Deserialize trait for PublicKey +

    Trait Implementations§

    source§

    impl Clone for PublicKey

    source§

    fn clone(&self) -> PublicKey

    Returns a copy of 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 PublicKey

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PublicKey

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<PublicKey, D::Error>

    ::serde::Deserialize trait for PublicKey if the deserializer is human readable, deserialization is done using deserialize_bs58_check else, it uses deserialize_binary

    -
    §Example
    +
    §Example

    Human readable deserialization :

    let keypair = KeyPair::generate(0).unwrap();
     
     let serialized = serde_json::to_string(&keypair.get_public_key()).unwrap();
     let deserialized: PublicKey = serde_json::from_str(&serialized).unwrap();
    -
    source§

    impl Deserializer<PublicKey> for PublicKeyDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    source§

    impl Deserializer<PublicKey> for PublicKeyDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], PublicKey, E>

    @@ -46,7 +46,7 @@
    §Example
    let (rest, deser_public_key) = PublicKeyDeserializer::new().deserialize::<DeserializeError>(&serialized).unwrap(); assert!(rest.is_empty()); assert_eq!(keypair.get_public_key(), deser_public_key);
    -
    source§

    impl Display for PublicKey

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for PublicKey

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    +
    source§

    impl Display for PublicKey

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for PublicKey

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    
     let pubkey = KeyPair::generate(0).unwrap().get_public_key();
     let string = pubkey.to_string();
    @@ -61,7 +61,7 @@ 
    §Example
    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 PublicKey

    source§

    fn partial_cmp(&self, other: &PublicKey) -> 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 PublicKey

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for PublicKey +operator. Read more

    source§

    impl Serialize for PublicKey

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for PublicKey if the serializer is human readable, serialization is done using serialize_bs58_check else, it uses serialize_binary

    @@ -85,5 +85,5 @@
    §Example
    T: Display + ?Sized,
    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + V: MultiLane<T>,
    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_signature/enum.Signature.html b/massa_signature/enum.Signature.html index 1fa9d93b0c5..387589d0d58 100644 --- a/massa_signature/enum.Signature.html +++ b/massa_signature/enum.Signature.html @@ -32,7 +32,7 @@
    §Example
    let serialized = signature.to_bytes(); let deserialized: Signature = Signature::from_bytes(&serialized).unwrap();
    -

    Trait Implementations§

    source§

    impl Clone for Signature

    source§

    fn clone(&self) -> Signature

    Returns a copy of 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 Signature

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Signature

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Signature, D::Error>

    ::serde::Deserialize trait for Signature +

    Trait Implementations§

    source§

    impl Clone for Signature

    source§

    fn clone(&self) -> Signature

    Returns a copy of 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 Signature

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Signature

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Signature, D::Error>

    ::serde::Deserialize trait for Signature if the deserializer is human readable, deserialization is done using from_bs58_check else, it uses from_bytes

    @@ -60,7 +60,7 @@
    §Example
    let (rest, deser_signature) = SignatureDeserializer::new().deserialize::<DeserializeError>(&serialized).unwrap(); assert!(rest.is_empty()); assert_eq!(signature, deser_signature);
    -
    source§

    impl Display for Signature

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for Signature

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    +
    source§

    impl Display for Signature

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for Signature

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    
     let hash = Hash::compute_from("Hello World!".as_bytes());
     let signature = KeyPair::generate(0).unwrap().sign(&hash).unwrap();
    @@ -69,11 +69,11 @@ 
    §Example
    assert_eq!(signature, signature_2);
    §

    type Err = MassaSignatureError

    The associated error which can be returned from parsing.
    source§

    impl PartialEq for Signature

    source§

    fn eq(&self, other: &Signature) -> 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 Signature

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for Signature +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Signature

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for Signature if the serializer is human readable, serialization is done using to_bs58_check else, it uses to_bytes

    -
    §Example
    +
    §Example

    Human readable serialization :

    let keypair = KeyPair::generate(0).unwrap();
    @@ -96,5 +96,5 @@ 
    §Example
    T: Display + ?Sized,
    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + V: MultiLane<T>,
    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_signature/error/enum.MassaSignatureError.html b/massa_signature/error/enum.MassaSignatureError.html index b48149ab8c3..6de7eb0ae77 100644 --- a/massa_signature/error/enum.MassaSignatureError.html +++ b/massa_signature/error/enum.MassaSignatureError.html @@ -8,7 +8,7 @@
    §

    SignatureError(String)

    Signature error : {0}

    §

    WrongPrefix(String, String)

    Wrong prefix for hash: expected {0}, got {1}

    §

    InvalidVersionError(String)

    invalid version identifier: {0}

    -

    Trait Implementations§

    source§

    impl Clone for MassaSignatureError

    source§

    fn clone(&self) -> MassaSignatureError

    Returns a copy of 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 MassaSignatureError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for MassaSignatureError

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for MassaSignatureError

    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 MassaSignatureError

    source§

    fn clone(&self) -> MassaSignatureError

    Returns a copy of 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 MassaSignatureError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for MassaSignatureError

    source§

    fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for MassaSignatureError

    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_signature/signature_impl/enum.KeyPair.html b/massa_signature/signature_impl/enum.KeyPair.html index 65ae3f1501d..5d450416864 100644 --- a/massa_signature/signature_impl/enum.KeyPair.html +++ b/massa_signature/signature_impl/enum.KeyPair.html @@ -31,27 +31,27 @@
    §Example
    let bytes = keypair.to_bytes(); let keypair2 = KeyPair::from_bytes(&bytes).unwrap(); assert_eq!(keypair.to_string(), keypair2.to_string());
    -

    Trait Implementations§

    source§

    impl Clone for KeyPair

    source§

    fn clone(&self) -> KeyPair

    Returns a copy of 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 KeyPair

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for KeyPair

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<KeyPair, D::Error>

    ::serde::Deserialize trait for KeyPair +

    Trait Implementations§

    source§

    impl Clone for KeyPair

    source§

    fn clone(&self) -> KeyPair

    Returns a copy of 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 KeyPair

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for KeyPair

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<KeyPair, D::Error>

    ::serde::Deserialize trait for KeyPair if the deserializer is human readable, deserialization is done using deserialize_bs58_check else, it uses deserialize_binary

    -
    §Example
    +
    §Example

    Human readable deserialization :

    let keypair = KeyPair::generate(0).unwrap();
     let serialized = serde_json::to_string(&keypair).unwrap();
     let deserialized: KeyPair = serde_json::from_str(&serialized).unwrap();
    -
    source§

    impl Display for KeyPair

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for KeyPair

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    +
    source§

    impl Display for KeyPair

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for KeyPair

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    
     let keypair = KeyPair::generate(0).unwrap();
     let string = keypair.to_string();
     let keypair2 = KeyPair::from_str(&string).unwrap();
     assert_eq!(keypair.to_string(), keypair2.to_string());
    -
    §

    type Err = MassaSignatureError

    The associated error which can be returned from parsing.
    source§

    impl Serialize for KeyPair

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for KeyPair +

    §

    type Err = MassaSignatureError

    The associated error which can be returned from parsing.
    source§

    impl Serialize for KeyPair

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for KeyPair if the serializer is human readable, serialization is done using serialize_bs58_check else, it uses serialize_binary

    -
    §Example
    +
    §Example

    Human readable serialization :

    let keypair = KeyPair::generate(0).unwrap();
    @@ -70,5 +70,5 @@ 
    §Example
    T: Display + ?Sized,
    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + V: MultiLane<T>,
    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_signature/signature_impl/enum.PublicKey.html b/massa_signature/signature_impl/enum.PublicKey.html index 6a38a89c0c4..ec83d0393e9 100644 --- a/massa_signature/signature_impl/enum.PublicKey.html +++ b/massa_signature/signature_impl/enum.PublicKey.html @@ -21,18 +21,18 @@
    §Example
    let serialized = keypair.get_public_key().to_bytes(); let deserialized: PublicKey = PublicKey::from_bytes(&serialized).unwrap();
    -

    Trait Implementations§

    source§

    impl Clone for PublicKey

    source§

    fn clone(&self) -> PublicKey

    Returns a copy of 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 PublicKey

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PublicKey

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<PublicKey, D::Error>

    ::serde::Deserialize trait for PublicKey +

    Trait Implementations§

    source§

    impl Clone for PublicKey

    source§

    fn clone(&self) -> PublicKey

    Returns a copy of 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 PublicKey

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for PublicKey

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<PublicKey, D::Error>

    ::serde::Deserialize trait for PublicKey if the deserializer is human readable, deserialization is done using deserialize_bs58_check else, it uses deserialize_binary

    -
    §Example
    +
    §Example

    Human readable deserialization :

    let keypair = KeyPair::generate(0).unwrap();
     
     let serialized = serde_json::to_string(&keypair.get_public_key()).unwrap();
     let deserialized: PublicKey = serde_json::from_str(&serialized).unwrap();
    -
    source§

    impl Deserializer<PublicKey> for PublicKeyDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( +

    source§

    impl Deserializer<PublicKey> for PublicKeyDeserializer

    source§

    fn deserialize<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>( &self, buffer: &'a [u8], ) -> IResult<&'a [u8], PublicKey, E>

    @@ -46,7 +46,7 @@
    §Example
    let (rest, deser_public_key) = PublicKeyDeserializer::new().deserialize::<DeserializeError>(&serialized).unwrap(); assert!(rest.is_empty()); assert_eq!(keypair.get_public_key(), deser_public_key);
    -
    source§

    impl Display for PublicKey

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for PublicKey

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    +
    source§

    impl Display for PublicKey

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for PublicKey

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    
     let pubkey = KeyPair::generate(0).unwrap().get_public_key();
     let string = pubkey.to_string();
    @@ -61,7 +61,7 @@ 
    §Example
    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 PublicKey

    source§

    fn partial_cmp(&self, other: &PublicKey) -> 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 PublicKey

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for PublicKey +operator. Read more

    source§

    impl Serialize for PublicKey

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for PublicKey if the serializer is human readable, serialization is done using serialize_bs58_check else, it uses serialize_binary

    @@ -85,5 +85,5 @@
    §Example
    T: Display + ?Sized,
    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + V: MultiLane<T>,
    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_signature/signature_impl/enum.Signature.html b/massa_signature/signature_impl/enum.Signature.html index adb8dfde8f5..dc9fb7ec8a9 100644 --- a/massa_signature/signature_impl/enum.Signature.html +++ b/massa_signature/signature_impl/enum.Signature.html @@ -32,7 +32,7 @@
    §Example
    let serialized = signature.to_bytes(); let deserialized: Signature = Signature::from_bytes(&serialized).unwrap();
    -

    Trait Implementations§

    source§

    impl Clone for Signature

    source§

    fn clone(&self) -> Signature

    Returns a copy of 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 Signature

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Signature

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Signature, D::Error>

    ::serde::Deserialize trait for Signature +

    Trait Implementations§

    source§

    impl Clone for Signature

    source§

    fn clone(&self) -> Signature

    Returns a copy of 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 Signature

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Signature

    source§

    fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Signature, D::Error>

    ::serde::Deserialize trait for Signature if the deserializer is human readable, deserialization is done using from_bs58_check else, it uses from_bytes

    @@ -60,7 +60,7 @@
    §Example
    let (rest, deser_signature) = SignatureDeserializer::new().deserialize::<DeserializeError>(&serialized).unwrap(); assert!(rest.is_empty()); assert_eq!(signature, deser_signature);
    -
    source§

    impl Display for Signature

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for Signature

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    +
    source§

    impl Display for Signature

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for Signature

    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    §Example
    
     let hash = Hash::compute_from("Hello World!".as_bytes());
     let signature = KeyPair::generate(0).unwrap().sign(&hash).unwrap();
    @@ -69,11 +69,11 @@ 
    §Example
    assert_eq!(signature, signature_2);
    §

    type Err = MassaSignatureError

    The associated error which can be returned from parsing.
    source§

    impl PartialEq for Signature

    source§

    fn eq(&self, other: &Signature) -> 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 Signature

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for Signature +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Signature

    source§

    fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

    ::serde::Serialize trait for Signature if the serializer is human readable, serialization is done using to_bs58_check else, it uses to_bytes

    -
    §Example
    +
    §Example

    Human readable serialization :

    let keypair = KeyPair::generate(0).unwrap();
    @@ -96,5 +96,5 @@ 
    §Example
    T: Display + ?Sized,
    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + V: MultiLane<T>,
    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file 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..1213f7e70ed 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,7 +122,7 @@ 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);
    @@ -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>, @@ -183,6 +183,6 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    source§

    impl<N> NodeTrait for N
    where N: Copy + Ord + Hash,

    \ No newline at end of file diff --git a/massa_versioning/versioning/enum.ComponentStateTypeId.html b/massa_versioning/versioning/enum.ComponentStateTypeId.html index f99114e18db..0e31523b6e5 100644 --- a/massa_versioning/versioning/enum.ComponentStateTypeId.html +++ b/massa_versioning/versioning/enum.ComponentStateTypeId.html @@ -5,7 +5,7 @@ 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 diff --git a/massa_versioning/versioning/enum.IsConsistentWithShutdownPeriodError.html b/massa_versioning/versioning/enum.IsConsistentWithShutdownPeriodError.html index 5351c91256e..e258d8c06ef 100644 --- a/massa_versioning/versioning/enum.IsConsistentWithShutdownPeriodError.html +++ b/massa_versioning/versioning/enum.IsConsistentWithShutdownPeriodError.html @@ -2,7 +2,7 @@ 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.MipComponent.html b/massa_versioning/versioning/enum.MipComponent.html index f01acf98807..eaeef459a57 100644 --- a/massa_versioning/versioning/enum.MipComponent.html +++ b/massa_versioning/versioning/enum.MipComponent.html @@ -6,7 +6,7 @@ FinalStateHashKind, // 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

    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.UpdateWithError.html b/massa_versioning/versioning/enum.UpdateWithError.html index b8a52045e13..a023bfbdc91 100644 --- a/massa_versioning/versioning/enum.UpdateWithError.html +++ b/massa_versioning/versioning/enum.UpdateWithError.html @@ -4,7 +4,7 @@ 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 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_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..03e8ec5e187 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..5ac54b83530 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..7cfb0811046 100644 --- a/massa_wallet/struct.Wallet.html +++ b/massa_wallet/struct.Wallet.html @@ -36,9 +36,9 @@ 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 - __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 +

    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 T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where @@ -138,5 +138,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/massa_wallet/struct.WalletFileFormat.html b/massa_wallet/struct.WalletFileFormat.html index 7ce5556e647..0d428b3e605 100644 --- a/massa_wallet/struct.WalletFileFormat.html +++ b/massa_wallet/struct.WalletFileFormat.html @@ -7,9 +7,9 @@ pub(crate) ciphered_data: Vec<u8>, pub(crate) public_key: Vec<u8>, }
    Expand description

    Follow the standard: https://github.com/massalabs/massa-standards/blob/main/wallet/file-format.md

    -

    Fields§

    §version: u64§nickname: String§address: String§salt: Salt§nonce: [u8; 12]§ciphered_data: Vec<u8>§public_key: Vec<u8>

    Trait Implementations§

    source§

    impl Clone for WalletFileFormat

    source§

    fn clone(&self) -> WalletFileFormat

    Returns a copy of 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 WalletFileFormat

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for WalletFileFormat

    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 Serialize for WalletFileFormat

    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 +

    Fields§

    §version: u64§nickname: String§address: String§salt: Salt§nonce: [u8; 12]§ciphered_data: Vec<u8>§public_key: Vec<u8>

    Trait Implementations§

    source§

    impl Clone for WalletFileFormat

    source§

    fn clone(&self) -> WalletFileFormat

    Returns a copy of 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 WalletFileFormat

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for WalletFileFormat

    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 Serialize for WalletFileFormat

    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 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 @@ -107,5 +107,5 @@ V: MultiLane<T>,

    §

    fn vzip(self) -> V

    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file +[WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/search-index.js b/search-index.js index 50fc466726d..96b24eab13c 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{El}}{d{Gd}}{d{Db}}}{{n{{l{j}}}}}}{{{Ef{Fl}}{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-ApiServer-for-API%3CApiV2%3E"],[137,"impl-RpcServer-for-API%3CPrivate%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",{"t":"FKFKFFKFMCOOOCNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNMMOOONNNNNMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNONNNNNNNNMMMMMMMMOMMMMMMMONNNNNOOCOOOCMOMHMMNNNONOMONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNHHKMMMNMMMMHHHHHH","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_address_datastore_keys","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","get_address_datastore_keys_to_state_query_item"],"q":[[0,"massa_api"],[182,"massa_api::api"],[183,"massa_api::api_trait"],[192,"massa_api::private"],[196,"massa_api::public"],[198,"alloc::string"],[199,"alloc::vec"],[200,"core::future::future"],[201,"alloc::boxed"],[202,"core::pin"],[203,"rkyv::with"],[204,"core::result"],[205,"massa_api_exports::execution"],[206,"massa_api_exports::address"],[207,"massa_models::address"],[208,"massa_models::slot"],[209,"massa_models::block_id"],[210,"massa_api_exports::datastore"],[211,"massa_models::endorsement"],[212,"massa_models::execution"],[213,"massa_api_exports"],[214,"massa_models::operation"],[215,"massa_api_exports::page"],[216,"core::option"],[217,"tonic::request"],[218,"jsonrpsee_core::server::rpc_module"],[219,"core::alloc::layout"],[220,"massa_protocol_exports::controller_trait"],[221,"massa_execution_exports::controller_traits"],[222,"massa_api_exports::config"],[223,"std::sync::mutex"],[224,"std::sync::condvar"],[225,"alloc::sync"],[226,"massa_wallet"],[227,"parking_lot::rwlock"],[228,"massa_consensus_exports::controller_trait"],[229,"massa_pos_exports::controller_traits"],[230,"massa_pool_exports::controller_traits"],[231,"massa_protocol_exports::settings"],[232,"massa_models::version"],[233,"massa_models::node"],[234,"massa_storage"],[235,"massa_versioning::versioning"],[236,"massa_consensus_exports::channels"],[237,"massa_pool_exports::channels"],[238,"core::net::ip_addr"],[239,"massa_api_exports::operation"],[240,"core::net::socket_addr"],[241,"jsonrpsee_core::client::error"],[242,"jsonrpsee_core"],[243,"core::any"],[244,"tokio::sync::broadcast"],[245,"jsonrpsee_core::server::subscription"],[246,"serde::ser"],[247,"core::marker"],[248,"core::clone"],[249,"std::path"],[250,"alloc::collections::btree::set"],[251,"massa_execution_exports::types"]],"i":[0,0,0,0,0,0,0,0,1,0,52,42,55,0,52,42,55,43,60,52,42,55,43,60,55,52,55,52,42,55,43,60,52,42,55,43,60,52,42,55,43,60,52,42,55,43,60,1,1,52,42,55,52,42,55,43,60,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,52,42,55,43,60,52,42,55,43,60,52,42,55,43,60,1,52,52,42,55,43,60,43,43,43,1,1,1,1,1,1,1,1,52,1,1,1,1,1,1,1,42,52,42,55,43,60,55,52,0,52,52,42,0,1,52,1,0,62,63,43,43,43,60,60,42,1,52,52,42,55,43,60,52,42,55,43,60,52,42,55,43,60,52,42,55,43,60,52,42,55,43,60,52,42,55,43,60,52,55,52,42,55,43,60,0,0,0,73,73,73,73,73,73,73,73,0,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}}{h{Bb}}}{{n{{l{j}}}}}}{{{d{b}}Bd}{{n{{l{j}}}}}}{{{d{b}}{h{Bf}}}{{n{{l{j}}}}}}{{{d{b}}}{{n{{l{j}}}}}}{{{d{b}}{h{Bh}}}{{n{{l{j}}}}}}{{{d{b}}{h{Bd}}}{{n{{l{j}}}}}}{{{d{b}}{h{f}}}{{n{{l{j}}}}}}{{{d{b}}{h{Bj}}}{{n{{l{j}}}}}}{{{d{b}}{h{Bl}}}{{n{{l{j}}}}}}{{{d{b}}Bn}{{n{{l{j}}}}}}{{{d{b}}C`}{{n{{l{j}}}}}}7{{{d{b}}{h{Cb}}}{{n{{l{j}}}}}}6{{{d{b}}{Cf{Cd}}}{{n{{l{j}}}}}}99{{}Ab}0000{ce{}{}}0000{c{{Ch{e}}}{}{}}0000{b{{Cj{b}}}}`{{}{{Af{ClCn}}}}0000{{{l{D`}}{l{Db}}Dd{Dn{{Dl{{Dh{Df}}Dj}}}}{Dn{{Eb{E`}}}}}{{Ef{Ed}}}}{{{l{Eh}}{l{Db}}Dd{l{Ej}}{l{El}}{l{D`}}EnF`FbFdFf}{{Ef{Fh}}}}{{{l{Eh}}Fj{l{Db}}FlDdF`}{{Ef{Fn}}}}{{{d{b}}{h{G`}}}{{n{{l{j}}}}}}00{{{d{b}}{h{Fb}}}{{n{{l{j}}}}}}1{{{d{b}}}{{n{{l{j}}}}}}00`0222{{{d{b}}{h{Gb}}}{{n{{l{j}}}}}}23`{d}0000```````{{{d{b}}{h{B`}}}{{n{{l{j}}}}}}`{{{d{b}}{h{Gd}}}{{n{{l{j}}}}}}{{{Cj{c}}{d{Gf}}{d{Dd}}}{{Af{GhGj}}}{}}{{Gl{d{Gf}}{d{Dd}}}{{n{{l{j}}}}}}{{Gn{d{Gf}}{d{Dd}}}{{n{{l{j}}}}}}{{{Ef{Fh}}{d{Gf}}{d{Dd}}}{{n{{l{j}}}}}}{{{Ef{Fn}}{d{Gf}}{d{Dd}}}{{n{{l{j}}}}}}{{{Ef{Ed}}{d{Gf}}{d{Dd}}}{{n{{l{j}}}}}}`{GhAh}`{{{d{b}}}{{H`{Ah}}}}`{c{{Af{e}}}{}{}}000000000{{{d{c}}}Hb{}}0000{{{l{c}}}{{l{Hd}}}{}}0000{{{d{A`c}}}{{d{A`Hd}}}{}}0000{{{d{c}}}{{d{Hd}}}{}}0000``{ce{}{}}0000{{}{{H`{c}}}{}}{{{Hf{c}}Hh}Hj{HlHnI`}}`{{{d{Ib}}{Cf{Id}}}{{n{{l{j}}}}}}{{{d{Ib}}}{{n{{l{j}}}}}}0{Ib{{Cj{Ib}}}}{{{d{Ib}}Hh}{{n{{l{j}}}}}}000{{If{d{Ih}}Df}{{H`{Ij}}}}{{If{d{Ih}}}{{H`{{h{G`}}}}}}{{If{h{G`}}IhIl}{{H`{Ah}}}}{{If{In{G`}}{d{Ih}}}{{H`{Ah}}}}{{Gd{d{Dd}}{Cf{Bd}}}{{H`{J`}}}}{{An{Cf{Jb}}Gb}{{H`{Jd}}}}","D":"Mf","p":[[10,"MassaRpcServer",0],[1,"reference"],[5,"String",198],[5,"Vec",199],[10,"Future",200],[5,"Box",201],[5,"Pin",202],[0,"mut"],[1,"usize"],[5,"With",203],[6,"Result",204],[1,"unit"],[5,"ReadOnlyBytecodeExecution",205],[5,"ReadOnlyCall",205],[5,"GetAddressDatastoreKeysRequest",206],[6,"Address",207],[5,"AddressFilter",206],[5,"Slot",208],[6,"BlockId",209],[5,"DatastoreEntryInput",210],[5,"DeferredCallsQuoteRequest",205],[6,"EndorsementId",211],[5,"EventFilter",212],[5,"TimeInterval",213],[6,"OperationId",214],[5,"PageRequest",215],[6,"Option",216],[5,"Request",217],[5,"RpcModule",218],[5,"Layout",219],[5,"LayoutError",219],[10,"ProtocolController",220],[10,"ExecutionController",221],[5,"APIConfig",222],[1,"bool"],[5,"Mutex",223],[5,"Condvar",224],[1,"tuple"],[5,"Arc",225],[5,"Wallet",226],[8,"RwLock",227],[5,"Private",0],[5,"API",0],[10,"ConsensusController",228],[10,"SelectorController",229],[10,"PoolController",230],[5,"ProtocolConfig",231],[5,"Version",232],[5,"NodeId",233],[5,"Storage",234],[5,"MipStore",235],[5,"Public",0],[5,"ConsensusBroadcasts",236],[5,"PoolBroadcasts",237],[5,"ApiV2",0],[6,"IpAddr",238],[1,"u8"],[5,"OperationInput",239],[6,"SocketAddr",240],[5,"StopHandle",0],[6,"Error",241],[10,"RpcServer",0],[10,"ApiServer",0],[8,"RpcResult",242],[5,"TypeId",243],[10,"Any",243],[5,"Sender",244],[5,"PendingSubscriptionSink",245],[8,"SubscriptionResult",242],[10,"Serialize",246],[10,"Send",247],[10,"Clone",248],[10,"MassaApiServer",183],[5,"ApiRequest",213],[5,"PathBuf",249],[6,"ListType",213],[1,"u64"],[6,"ScrudOperation",213],[5,"BTreeSet",250],[8,"SecureShareOperation",214],[1,"u32"],[6,"ExecutionQueryRequestItem",251]],"r":[],"b":[[98,"impl-API%3CPrivate%3E"],[99,"impl-API%3CPublic%3E"],[100,"impl-API%3CApiV2%3E"],[136,"impl-RpcServer-for-API%3CPublic%3E"],[137,"impl-ApiServer-for-API%3CApiV2%3E"],[138,"impl-RpcServer-for-API%3CPrivate%3E"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFsACgAPAAkAHAATAE0ABABXAAQAXgAEAHcABACGAAAAiQADAJEAHQCxAAYA"}],\ +["massa_api_exports",{"t":"FPPPGPGPFPPCCNNNNNNNNNNNNCCNNHHOCCCNNNNNNNNNNNNNNNNCCCCOCNNCONNNNNNNNNNNNNNNNNNNFFFFFOOOOOONNNNNNNNNNOOOOONNNNNNNNNNNNNOOOOOONNNNOOOOOONNNNNNNNNNNNNNNNNOONNNNNNNNNNOOOOOOONNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNFFFONNNNNNNNNNNNNNNOONNNNNNNNNNNNNNOONNNNNNOOOOOOOONNNONNNNNNNNNNNNNNNNNFOOOOOOOONNONNNOONOOONNNONNOOOOOOOOOOOOOOOOOOOOOOOOONNNNNFFONNNNONNNNNNNNONNNNNNNNNNNONNNNNNNNNNNNNFNNNNNNONNNNOOONNONNNNNNNGPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNPFFFFPFPPFFGFGOOOONNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNNNNNNNNNNNNNNNNNNNOOOOOOOOOONNNNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNONNNNNONNNNNNONNNNNNNFNNONNNOOOOOOONONNNNNNOOOOOOOONNNNNNONFFNNNNNNNONNNNNNNNOOONNNNOOONNOOONNNNNNNNNNFFFONNNNNNNNNNNNONNNNNNNNNNNNNNONOONNNNNONNNNNNNNNNNNFONNONNNNNONNNNNNNNNNNNNFONNNNNNNNNNNNONNNNN","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","GetAddressDatastoreKeysRequest","GetAddressDatastoreKeysResponse","active_rolls","address","address","address","address","address","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","candidate_balance","candidate_balance","candidate_datastore_keys","candidate_roll_count","candidate_rolls","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","compact","count","created_blocks","created_endorsements","created_operations","cycle_infos","deferred_credits","deserialize","deserialize","deserialize","deserialize","end_key","final_balance","final_balance","final_datastore_keys","final_roll_count","final_rolls","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","inclusive_end_key","inclusive_start_key","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","is_final","is_final","is_final","keys","next_block_draws","next_endorsement_draws","prefix","serialize","serialize","serialize","serialize","start_key","thread","thread","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_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","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_addresses_datastore_keys_query","max_arguments","max_connections","max_datastore_key_length","max_datastore_keys_queries","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"],[205,"massa_api_exports::block"],[277,"massa_api_exports::config"],[334,"massa_api_exports::datastore"],[376,"massa_api_exports::endorsement"],[401,"massa_api_exports::error"],[437,"massa_api_exports::execution"],[659,"massa_api_exports::ledger"],[683,"massa_api_exports::node"],[721,"massa_api_exports::operation"],[764,"massa_api_exports::page"],[817,"massa_api_exports::rolls"],[841,"massa_api_exports::slot"],[861,"core::result"],[862,"serde::de"],[863,"alloc::string"],[864,"core::option"],[865,"core::fmt"],[866,"tonic::request"],[867,"serde::ser"],[868,"core::any"],[869,"massa_wallet::error"],[870,"massa_hash::error"],[871,"massa_versioning::versioning_factory"],[872,"massa_models::error"],[873,"massa_time::error"],[874,"core::error"],[875,"core::clone"],[876,"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,0,0,24,20,24,21,22,23,20,24,21,22,23,20,24,21,22,23,20,24,20,20,24,20,21,22,23,20,21,22,23,20,21,22,23,20,22,20,20,20,20,20,20,24,21,22,22,20,24,20,20,24,20,20,24,24,21,21,22,23,20,24,21,22,23,20,21,22,23,22,22,20,24,21,22,23,20,24,21,22,23,21,22,23,23,20,20,22,20,24,21,23,22,20,24,20,21,22,23,20,24,21,20,24,21,22,23,20,24,21,22,23,20,24,21,22,23,20,24,21,22,23,0,0,0,26,25,26,27,25,26,27,25,26,27,25,26,27,25,26,27,25,27,25,26,27,25,25,26,27,27,25,26,27,25,26,27,25,27,25,26,27,25,26,27,26,26,26,27,26,27,27,27,25,26,27,27,25,26,27,25,27,25,26,27,25,26,27,25,26,27,25,26,27,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,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,29,29,30,29,30,30,29,30,29,30,29,30,29,30,30,29,30,30,29,30,29,30,29,30,29,30,29,29,30,29,30,30,29,30,29,30,29,30,29,30,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,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,43,0,0,0,0,39,0,39,43,0,0,0,0,0,41,44,46,44,39,40,41,42,43,44,45,46,47,48,39,40,41,42,43,44,45,46,47,48,41,47,47,48,42,39,40,41,42,43,44,45,46,47,48,39,40,41,42,43,44,45,46,47,48,39,40,41,42,43,44,45,46,47,48,42,44,39,40,41,42,43,44,45,46,47,48,44,40,41,42,44,39,40,40,41,42,43,44,45,46,47,48,39,40,41,42,43,44,45,46,47,48,44,39,40,41,42,43,44,45,46,47,48,40,39,40,41,42,43,44,45,46,47,48,39,40,41,42,43,44,45,46,47,48,41,42,45,46,41,40,42,45,46,40,39,40,41,42,43,44,45,46,47,48,48,40,44,42,42,45,46,44,39,40,41,42,43,44,45,46,47,48,40,39,40,41,42,43,44,45,46,47,48,39,40,41,42,43,44,45,46,47,48,39,40,41,42,43,44,45,46,47,48,39,40,41,42,43,44,45,46,47,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,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,50,50,50,50,50,50,50,50,50,50,50,0,0,52,51,52,51,51,51,51,52,52,51,52,51,51,52,51,51,51,51,51,52,51,52,51,51,51,51,52,51,52,52,51,51,51,52,51,52,51,52,51,52,51,0,0,0,53,53,56,55,53,56,55,53,55,53,55,53,55,55,56,55,53,56,55,55,53,55,53,56,55,53,56,55,56,53,56,53,53,56,55,53,55,55,53,56,55,53,56,55,53,56,55,53,56,55,0,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,0,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61],"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}}}{}{}}0000{{{b{dc}}}{{b{de}}}{}{}}0000`````{{{b{Bh}}}Bh}{{{b{Bj}}}Bj}{{{b{Bl}}}Bl}{{{b{Bn}}}Bn}{{{b{c}}{b{de}}}h{}{}}000{{{b{c}}}h{}}000{{{b{Bh}}}C`}``````{c{{j{Bh}}}l}{c{{j{C`}}}l}{c{{j{Bj}}}l}{c{{j{Bl}}}l}``````{{{b{Bh}}{b{dAh}}}Aj}0{{{b{C`}}{b{dAh}}}Aj}0{{{b{Bj}}{b{dAh}}}Aj}0{{{b{Bl}}{b{dAh}}}Aj}{{{b{Bn}}{b{dAh}}}Aj}{cc{}}0000{{{b{c}}}c{}}000``{ce{}{}}0000{c{{Bb{e}}}{}{}}0000```````{{{b{Bh}}c}jBd}{{{b{C`}}c}jBd}{{{b{Bj}}c}jBd}{{{b{Bn}}c}jBd}```{{{b{c}}}e{}{}}000{{{b{c}}}Ad{}}00{c{{j{e}}}{}{}}000000000{{{b{c}}}Bf{}}000099999````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00{{{b{Cb}}}Cb}{{{b{Cd}}}Cd}{{{b{Cf}}}Cf}{{{b{c}}{b{de}}}h{}{}}00{{{b{c}}}h{}}00``{c{{j{Cb}}}l}{c{{j{Cd}}}l}{c{{j{Cf}}}l}{{{b{Cb}}{b{dAh}}}Aj}0{{{b{Cd}}{b{dAh}}}Aj}{{{b{Cf}}{b{dAh}}}Aj}0{cc{}}00{{{b{c}}}c{}}00``{ce{}{}}00{c{{Bb{e}}}{}{}}00````````{{{b{Cb}}c}jBd}{{{b{Cd}}c}jBd}{{{b{Cf}}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{Ch}}}Ch}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}``{c{{j{Ch}}}l}```{{{b{Ch}}{b{dAh}}}Aj}{cc{}}{{{b{c}}}c{}}`{ce{}{}}{c{{Bb{e}}}{}{}}`````````````````````````><<;1```::99`{{{b{Cj}}}Cj}{{{b{Cl}}}Cl}9988{c{{j{Cj}}}l}{c{{j{Cl}}}l}`{{{b{Cj}}{b{dAh}}}Aj}{{{b{Cl}}{b{dAh}}}Aj}099887766`{{{b{Cj}}c}jBd}{{{b{Cl}}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{Cn}}}Cn}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{c{{j{Cn}}}l}`{{{b{Cn}}{b{dAh}}}Aj}0{cc{}}{{{b{c}}}c{}}```{ce{}{}}{c{{Bb{e}}}{}{}}`{{{b{Cn}}c}jBd}?>==<2``````````````````;:{{{b{D`}}{b{dAh}}}Aj}0{DbD`}{DdD`}7{DfD`}{DhD`}{DjD`}87{{{b{D`}}}{{Af{{b{Dl}}}}}}{{{b{c}}}Ad{}}{c{{j{e}}}{}{}}0{{{b{c}}}Bf{}}<``````````````````{{{b{c}}}{{b{e}}}{}{}}000000000{{{b{dc}}}{{b{de}}}{}{}}000000000`````{{{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{En}}}En}{{{b{F`}}}F`}{{{b{c}}{b{de}}}h{}{}}000000000{{{b{c}}}h{}}000000000``{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}{c{{j{En}}}l}{c{{j{F`}}}l}`````{{{b{Dn}}{b{dAh}}}Aj}{{{b{E`}}{b{dAh}}}Aj}0{{{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}{{{b{En}}{b{dAh}}}Aj}{{{b{F`}}{b{dAh}}}Aj}{cc{}}000000000`{{{b{c}}}c{}}000000000`{ce{}{}}000000000{c{{Bb{e}}}{}{}}000000000``````````{{{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{En}}c}jBd}{{{b{F`}}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{Fb}}}Fb}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}0{c{{j{Fb}}}l}`{{{b{Fb}}{b{dAh}}}Aj}0{cc{}}{{{b{c}}}c{}}{ce{}{}}{c{{Bb{e}}}{}{}}`{{{b{Fb}}c}jBd}?>==<2`;:`{{{b{Fd}}}Fd}98```````{c{{j{Fd}}}l}`{{{b{Fd}}{b{dAh}}}Aj}07654````````{{{b{Fd}}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{Ff}}}Ff}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}`{c{{j{Fh}}}l}{c{{j{Ff}}}l}{{{b{Fh}}{b{dAh}}}Aj}{{{b{Ff}}{b{dAh}}}Aj}0{cc{}}0{{{b{c}}}c{}}```{ce{}{}}0{c{{Bb{e}}}{}{}}0```{{{b{Fh}}c}jBd}{{{b{Ff}}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{{Fj{c}}}}}{{Fj{c}}}Fl}{{{b{{Fn{c}}}}}{{Fn{c}}}Fl}{{{b{c}}{b{de}}}h{}{}}0{{{b{c}}}h{}}0`{c{{j{G`}}}l}{c{{j{{Fn{e}}}}}lGb}{cc{}}00{{{Fj{c}}}{{Fn{c}}}{}}{{{b{c}}}c{}}0{ce{}{}}00{c{{Bb{e}}}{}{}}00`{{{Gd{c}}{Af{G`}}}{{Fj{c}}}Gf}``{{{b{{Fj{c}}}}e}jGfBd}{{{b{G`}}c}jBd}{{{b{{Fn{c}}}}e}jGfBd}{{{b{c}}}e{}{}}0`{c{{j{e}}}{}{}}00000{{{b{c}}}Bf{}}00888``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{{{b{Gh}}}Gh}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}0{c{{j{Gh}}}l}`{{{b{Gh}}{b{dAh}}}Aj}0{cc{}}{{{b{c}}}c{}}{ce{}{}}{c{{Bb{e}}}{}{}}{{{b{Gh}}c}jBd}>{{{b{c}}}Ad{}}>>=3``<;{{{b{Gj}}}Gj}:9{c{{j{Gj}}}l}{{{b{Gj}}{b{dAh}}}Aj}8765{{{b{Gj}}c}jBd}`{{{b{c}}}e{}{}}{c{{j{e}}}{}{}}0{{{b{c}}}Bf{}}:","D":"BIb","p":[[1,"reference"],[0,"mut"],[5,"TimeInterval",0],[1,"unit"],[6,"Result",861],[10,"Deserializer",862],[5,"ApiRequest",0],[1,"bool"],[1,"str"],[5,"String",863],[6,"Option",864],[5,"Formatter",865],[8,"Result",865],[6,"ScrudOperation",0],[5,"Error",865],[6,"ListType",0],[5,"Request",866],[10,"Serializer",867],[5,"TypeId",868],[5,"AddressInfo",80],[5,"AddressFilter",80],[5,"GetAddressDatastoreKeysRequest",80],[5,"GetAddressDatastoreKeysResponse",80],[5,"CompactAddressInfo",80],[5,"BlockInfo",205],[5,"BlockInfoContent",205],[5,"BlockSummary",205],[5,"APIConfig",277],[5,"DatastoreEntryInput",334],[5,"DatastoreEntryOutput",334],[5,"EndorsementInfo",376],[6,"ApiError",401],[6,"WalletError",869],[6,"MassaHashError",870],[6,"FactoryError",871],[6,"ModelsError",872],[6,"TimeError",873],[10,"Error",874],[6,"ReadOnlyResult",437],[5,"ExecuteReadOnlyResponse",437],[5,"ReadOnlyBytecodeExecution",437],[5,"ReadOnlyCall",437],[6,"TransferContext",437],[5,"Transfer",437],[5,"DeferredCallsQuoteRequest",437],[5,"DeferredCallsQuoteResponse",437],[5,"DeferredCallResponse",437],[5,"DeferredCallsSlotResponse",437],[5,"LedgerInfo",659],[5,"NodeStatus",683],[5,"OperationInfo",721],[5,"OperationInput",721],[5,"PagedVec",764],[10,"Clone",875],[5,"PagedVecV2",764],[5,"PageRequest",764],[10,"Deserialize",862],[5,"Vec",876],[10,"Serialize",867],[5,"RollsInfo",817],[5,"SlotAmount",841]],"r":[],"b":[[135,"impl-Debug-for-AddressInfo"],[136,"impl-Display-for-AddressInfo"],[137,"impl-Debug-for-CompactAddressInfo"],[138,"impl-Display-for-CompactAddressInfo"],[139,"impl-Debug-for-AddressFilter"],[140,"impl-Display-for-AddressFilter"],[229,"impl-Debug-for-BlockInfo"],[230,"impl-Display-for-BlockInfo"],[232,"impl-Debug-for-BlockSummary"],[233,"impl-Display-for-BlockSummary"],[352,"impl-Display-for-DatastoreEntryOutput"],[353,"impl-Debug-for-DatastoreEntryOutput"],[384,"impl-Debug-for-EndorsementInfo"],[385,"impl-Display-for-EndorsementInfo"],[421,"impl-Display-for-ApiError"],[422,"impl-Debug-for-ApiError"],[423,"impl-From%3CWalletError%3E-for-ApiError"],[424,"impl-From%3CMassaHashError%3E-for-ApiError"],[426,"impl-From%3CFactoryError%3E-for-ApiError"],[427,"impl-From%3CModelsError%3E-for-ApiError"],[428,"impl-From%3CTimeError%3E-for-ApiError"],[528,"impl-Display-for-ExecuteReadOnlyResponse"],[529,"impl-Debug-for-ExecuteReadOnlyResponse"],[669,"impl-Debug-for-LedgerInfo"],[670,"impl-Display-for-LedgerInfo"],[699,"impl-Display-for-NodeStatus"],[700,"impl-Debug-for-NodeStatus"],[734,"impl-Display-for-OperationInfo"],[735,"impl-Debug-for-OperationInfo"],[828,"impl-Debug-for-RollsInfo"],[829,"impl-Display-for-RollsInfo"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABQCUwAOAAsAHAABACQAAgArAAAAMAADADoAAQA+ABIAXAAJAGsACwB+AAMAiAAHAJUAAwCgAAQArAADALMAGgDSAA4A4wAHAO4AAgD2AAIAAQECAAUBEAAfAQEAIgECACcBAAArAQAALQEAADABAABKAQQAUgEDAFcBBwBgAQIAZQEBAGkBAQBsAQwAegEFAIEBAQCEAQAAiQEAAIsBBgCkAQUAqwECAK8BBgDIARMA4QEdAAECCQAQAgoAJgIJADsCCQBPAgkAYQIyAJUCAQCYAgQAngIBAKECAACjAgAApQIGAK0CAQCwAgIAugIAALwCAQC/AgAAwQIAAMoCBQDRAgAA1AIGANwCBADjAgAA6QIBAO4CAQDzAgkAAAMPABMDAgAZAwIAHwMSADQDAQA3AwQAPQMBAEADAABCAwcATAMGAFQDAABWAwEAWQMEAA=="}],\ ["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_pos_exports::error"],[1218,"massa_hash::error"],[1219,"massa_signature::error"],[1220,"massa_consensus_exports::error"],[1221,"massa_final_state::error"],[1222,"massa_models::error"],[1223,"massa_serialization"],[1224,"massa_protocol_exports::error"],[1225,"massa_time::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{dc}}}{{j{l}}}{}}{{{b{dEd}}}{{j{lDn}}}}{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}{cc{}}{IbBj}{IdBj}{DnBj}{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{lIf}}}}{{{b{Jb}}{b{Fb}}{b{d{Gh{Dh}}}}}{{j{lIf}}}}``````````{{{b{c}}}e{}{}}0{{{b{F`}}}Ff}{c{{j{e}}}{}{}}0000{Kd{{j{Jn{Kf{Jn}}}}}}111{Kd{{j{K`{Kf{K`}}}}}}{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{{{b{c}}{b{de}}}{{j{{h{gi}}}}}{}{}{}{}}{c{{j{Gj}}}Ln}1{c{{j{n}}}Ln}2{c{{j{Gb}}}Ln}{c{{j{En}}}Ln}44{fl}0000```{{{b{Gj}}{b{dGl}}}Gn}{{{b{n}}{b{dGl}}}Gn}{{{b{Gb}}{b{dGl}}}Gn}{{{b{En}}{b{dGl}}}Gn}{cc{}}0{{{b{n}}}Gb}1{{{b{n}}}En}2{{{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,"PosError",1217],[6,"MassaHashError",1218],[6,"MassaSignatureError",1219],[6,"ConsensusError",1220],[6,"FinalStateError",1221],[6,"ModelsError",1222],[6,"SerializeError",1223],[6,"ProtocolError",1224],[6,"TimeError",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-Display-for-BootstrapError"],[429,"impl-Debug-for-BootstrapError"],[430,"impl-From%3CPosError%3E-for-BootstrapError"],[431,"impl-From%3CMassaHashError%3E-for-BootstrapError"],[432,"impl-From%3CMassaSignatureError%3E-for-BootstrapError"],[433,"impl-From%3CConsensusError%3E-for-BootstrapError"],[435,"impl-From%3CFinalStateError%3E-for-BootstrapError"],[436,"impl-From%3CModelsError%3E-for-BootstrapError"],[437,"impl-From%3CError%3E-for-BootstrapError"],[438,"impl-From%3CSerializeError%3E-for-BootstrapError"],[439,"impl-From%3CProtocolError%3E-for-BootstrapError"],[440,"impl-From%3CTimeError%3E-for-BootstrapError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADwDgQA1AAYAQQADAEcAAQBLAAUAUgACAFkAAQBcAAAAXwACAGMAAgBnAAAAaQAAAGsAAABtAAAAcQAAAHMAAAB1AAAAdwAAAHkAAAB7AAAAfQAAAH8AAACCAAAAhAAAAIkAAACLAAAAjwAAAJEAAACUAAIAmAAHAKEAAQClAAEArQAFALQAAwC5ABMA4gACAOYAAADpAAAA6wAAAO0ABADzAAoAAQEBAAUBBAAMAQUAEwETACkBBAAwAQoAPgEBAEIBBwBMAQgAVgEVAG8BAQBzAQYAewEAAH0BAAB/AQMAhAEHAKYBDAC0AQYAvAEMAMoBCgDWAQwA5gECAOwBCAD2AQEA+QEUABACAQAWAgAAGAIAACACAAAiAgUAKQI1AGACAgBkAh0AigIKAJ0CEgC0Ag8AxgJPACgDEQA9AwEAQQMJAEwDAgBQAwAAUgMAAFQDEQBnAwAAcAMDAHkDCQCFAw4AlgMYALADBQC4AwAAugMAALwDAAC+AwgAzAMEANMDBADaAwEA3QMBAOADAQDjAwEA6AMBAOsDAQDuAwIA8gMBAPUDAQD4AwEA+wMBAP4DAQACBAEABQQBAAsEAQAOBAEAEwQBABYEAQAaBAEAHQQBACEEBAAnBAEAKgQBADAEKQBbBAAAXgQAAGAEAQBkBBMAegQAAH0EAwCDBAgAjgQMAJwEBAA="}],\ -["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,"serde_json::error"],[845,"massa_protocol_exports::error"],[846,"massa_time::error"],[847,"massa_models::error"],[848,"massa_execution_exports::error"],[849,"std::io::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}2{c{{Ah{Ef}}}El}3{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{Fb}}{d{{Aj{Fd}}}}}{{Ff{{d{{Aj{Fd}}}}Bbc}}}{{Fh{{d{{Aj{Fd}}}}}}{Fj{{d{{Aj{Fd}}}}}}}}{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}{c{{Ah{Bb}}}El}11{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{GlGj}{HbGj}{HhGj}5{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{Ib}}{d{{Aj{Fd}}}}}{{Ff{{d{{Aj{Fd}}}}Hnc}}}{{Fh{{d{{Aj{Fd}}}}}}{Fj{{d{{Aj{Fd}}}}}}}}{{{d{c}}{d{Cbe}}}{{Ah{{Cj{gi}}}}}{}{}{}{}}{c{{Ah{Hn}}}El}11{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],[5,"Error",844],[6,"ProtocolError",845],[6,"TimeError",846],[6,"ModelsError",847],[6,"ExecutionError",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-Debug-for-LedgerError"],[593,"impl-Display-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%3CModelsError%3E-for-ConsensusError"],[600,"impl-From%3CExecutionError%3E-for-ConsensusError"],[601,"impl-From%3CError%3E-for-ConsensusError"],[603,"impl-From%3CError%3E-for-LedgerError"],[604,"impl-From%3CModelsError%3E-for-LedgerError"],[605,"impl-From%3CTryFromSliceError%3E-for-LedgerError"],[607,"impl-From%3CError%3E-for-LedgerError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEACSgADAAAABwAAAAoAAAAMAAAAFAAAABcAAAAbAAEAHgAAADkAAAA/AAAAQgAHAEsAAQBOAAAAUQAAAFMAAABVAAAAVwAJAGQAAABnAAAAaQAAAHEAAgB7AAAAfgAAAIEAFwCaAAcAowBQAPcAAAD9AAcABwEHABcBBwAgARMANQFAAH0BAAB/AQIAhQESAJkBCACjAQAApwEDAK4BBQC2AQMAuwEVANMBAQDXAQMA3AEFAOMBBwDvAQMA9QEFAP4BDwA4Ah8AWQIBAFwCAgBgAgMAZwIiAI0CCgCZAgEAnAIKAKoCAACsAhEAvwIHAMsCAwDSAgIA1gICANwCCQDnAhcAAQMBAAkDAgANAwQAFAMAABgDAAAbAwAAHQMAAB8DAAAmAwEAKwMHAA=="}],\ +["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_models::error"],[1220,"massa_serialization"],[1221,"massa_signature::error"],[1222,"massa_pos_exports::error"],[1223,"massa_protocol_exports::error"],[1224,"massa_consensus_exports::error"],[1225,"massa_time::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}{HnBj}{cc{}}{I`Bj}{IbBj}{IdBj}{IfBj}{IhBj}{DnBj}{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}}}}}}}}11{{{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{lI`}}}}{{{b{Jb}}{b{Fb}}{b{d{Gh{Dh}}}}}{{j{lI`}}}}``````````{{{b{c}}}e{}{}}0{{{b{F`}}}Ff}{c{{j{e}}}{}{}}0000{Kd{{j{Jn{Kf{Jn}}}}}}111{Kd{{j{K`{Kf{K`}}}}}}{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}}}}}{}{}{}{}}{c{{j{n}}}Ln}1{c{{j{Gb}}}Ln}2{c{{j{En}}}Ln}33{fl}0000```{{{b{Gj}}{b{dGl}}}Gn}{{{b{n}}{b{dGl}}}Gn}{{{b{Gb}}{b{dGl}}}Gn}{{{b{En}}{b{dGl}}}Gn}{cc{}}0{{{b{n}}}Gb}1{{{b{n}}}En}2{{{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,"ModelsError",1219],[6,"SerializeError",1220],[6,"MassaSignatureError",1221],[6,"PosError",1222],[6,"ProtocolError",1223],[6,"ConsensusError",1224],[6,"TimeError",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%3CModelsError%3E-for-BootstrapError"],[434,"impl-From%3CSerializeError%3E-for-BootstrapError"],[435,"impl-From%3CMassaSignatureError%3E-for-BootstrapError"],[436,"impl-From%3CPosError%3E-for-BootstrapError"],[437,"impl-From%3CProtocolError%3E-for-BootstrapError"],[438,"impl-From%3CConsensusError%3E-for-BootstrapError"],[439,"impl-From%3CError%3E-for-BootstrapError"],[440,"impl-From%3CTimeError%3E-for-BootstrapError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADwDgQA1AAYAQQADAEcAAQBLAAUAUgACAFkAAQBcAAAAXwACAGMAAgBnAAAAaQAAAGsAAABtAAAAcQAAAHMAAAB1AAAAdwAAAHkAAAB7AAAAfQAAAH8AAACCAAAAhAAAAIkAAACLAAAAjwAAAJEAAACUAAIAmAAHAKEAAQClAAEArQAFALQAAwC5ABMA4gACAOYAAADpAAAA6wAAAO0ABADzAAoAAQEBAAUBBAAMAQUAEwETACkBBAAwAQoAPgEBAEIBBwBMAQgAVgEVAG8BAQBzAQYAewEAAH0BAAB/AQMAhAEHAKYBCwCzAQcAvAEMAMoBCgDWAQwA5gECAOwBCAD2AQEA+QEUABACAQAWAgAAGAIAACACAAAiAgUAKQI2AGECAQBkAh0AigIKAJ0CEgC0Ag8AxgJPACgDEQA9AwEAQQMJAEwDAgBQAwAAUgMAAFQDEQBnAwAAcAMDAHkDCQCFAw4AlgMYALADBQC4AwAAugMAALwDAAC+AwgAzAMEANMDBADaAwEA3QMBAOADAQDjAwEA6AMBAOsDAQDuAwIA8gMBAPUDAQD4AwEA+wMBAP4DAQACBAEABQQBAAsEAQAOBAEAEwQBABYEAQAaBAEAHQQBACEEBAAnBAEAKgQBADAEKQBbBAAAXgQAAGAEAQBkBBMAegQAAH0EAwCDBAgAjgQMAJwEBAA="}],\ +["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}04{Ajl}4{{{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":"OzAAAAEAABoACgABAAAABQAAAAwAAAAOAAIAFQACABkAAAAcAAUAJgADACsAAAAtAAUA"}],\ +["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-Display-for-ExtendedWalletEntry"],[105,"impl-Debug-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_models::error"],[845,"serde_json::error"],[846,"massa_execution_exports::error"],[847,"massa_protocol_exports::error"],[848,"std::io::error"],[849,"massa_time::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}{H`Af}{cc{}}{HbAf}{GjAf}{HdAf}{HfAf}4{GnGj}{GlGj}{HdGj}7{HhGj}{{}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],[6,"ModelsError",844],[5,"Error",845],[6,"ExecutionError",846],[6,"ProtocolError",847],[5,"Error",848],[6,"TimeError",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%3CModelsError%3E-for-ConsensusError"],[595,"impl-From%3CError%3E-for-ConsensusError"],[596,"impl-From%3CExecutionError%3E-for-ConsensusError"],[598,"impl-From%3CProtocolError%3E-for-ConsensusError"],[599,"impl-From%3CLedgerError%3E-for-ConsensusError"],[600,"impl-From%3CError%3E-for-ConsensusError"],[601,"impl-From%3CTimeError%3E-for-ConsensusError"],[603,"impl-From%3CError%3E-for-LedgerError"],[604,"impl-From%3CModelsError%3E-for-LedgerError"],[605,"impl-From%3CError%3E-for-LedgerError"],[607,"impl-From%3CTryFromSliceError%3E-for-LedgerError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEACSgADAAAABwAAAAoAAAAMAAAAFAAAABcAAAAbAAEAHgAAADkAAAA/AAAAQgAHAEsAAQBOAAAAUQAAAFMAAABVAAAAVwAJAGQAAABnAAAAaQAAAHEAAgB7AAAAfgAAAIEAFwCaAAcAowBQAPcAAAD9AAcABwEHABcBBwAgARMANQFAAH0BAAB/AQIAhQETAJoBBwCjAQAApwEDAK4BBQC2AQMAuwEVANMBAQDXAQMA3AEFAOMBBwDvAQMA9QEFAP4BDwA4Ah0AVwIDAFwCAgBgAgMAZwIiAI0CCgCZAgEAnAIKAKoCAACsAhIAwAIGAMsCAwDSAgIA1gICANwCCQDnAhcAAQMBAAkDAgANAwQAFAMAABgDAAAbAwAAHQMAAB8DAAAmAwEAKwMHAA=="}],\ ["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_versioning::versioning_factory"],[1128,"massa_hash::error"],[1129,"massa_module_cache::error"],[1130,"massa_models::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}{cc{}}{FnAl}{G`Al}{GbAl}3{{{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}{Hn{{Af{I`Gb}}}}``{{{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,"FactoryError",1127],[6,"MassaHashError",1128],[6,"CacheError",1129],[6,"ModelsError",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%3CFactoryError%3E-for-ExecutionError"],[395,"impl-From%3CMassaHashError%3E-for-ExecutionError"],[396,"impl-From%3CCacheError%3E-for-ExecutionError"],[397,"impl-From%3CModelsError%3E-for-ExecutionError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFQCQwAYAAAAQQAAAFoAAgBnAAMAeAADAH0AAwCJAAEAjgAHAKQAAQCoAAEArgAAALkAAQC9AAEAwgACAMwAAQDTAAAA1gABANsABADhAAAA4wABAOcAAwDtAAAA8gABAAABAAAMAQcAFgEFAB0BAQAyAQkAPQEBAEABAgBEAQcAcAEaAIwBAgCQAQMAlgEYALIBAgC2AQcAwAEAAMIBAADFAQAAxwECAMwBAADOAQgA2QEBAN4BAQDkAQMA7QEGAPgBBwAEAgEACAIBAA4CAQASAgEAFQIBACsCAQA1Ag8AgQIJAJECIQC7Ah0A3wJDACoDCQBFAwkAUQMQAHMDEACGAxAAnQMQALIDAQC7A4AA"}],\ -["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}{{{An{B`Nb}}{In{EdFd}}{In{EdFd}}{Jb{FdJ`}}}Bj}{{}Bd}0{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":"OzAAAAEAAI0ClwABAAAABQAAAA4AAAATAAAAGQAAABsAAAAdABIAOAAAAEEAAgBHAAgAUQAUAG0AAwCAAAEAhQAHAKkAAQCwAAEAtAABALwAAQDTAAMA2QABAN0ABQDkAAEA6QAAAOsABgDzAA0ABAEAAAgBAAARAQIAGQEFACEBAgAqARMAPwEDAEUBAQBJAQMATgEFAFcBAABhAQQAZwEAAGwBAAB3AQAAeQEBAHwBAQB/AQAAgQEHAIoBAwCPAQQAlQEAAJcBDAClAQIAqQEcAMwBBgDZARYA8QEBAPUBLwAmAgAALAIDADECAQA0AgcAPQIFAEcCAABMAgIAUAIAAFcCAABaAgAAXAIAAHECAABzAgEAfQIBAIACAACCAgIAiwIAAJ4CAAChAgAApQICAKsCBACyAgMAuQIHAMICAQDGAgEAygIBAM8CAQDUAgEA2wINAOsCBADxAgIA9wIHAAADAAADAwAACgMBAA4DAQAVAwEAGAMBAB4DDAAsAwsAOgMAADwDAABAAwEAQwMBAEoDCQBVAwEAWQMHAGIDBABoAwEAawMBAG4DAQBzAwAAdQMGAH4DBQCIAwAAiwMAAI0DAACPAwAAkgMGAJsDBQClAwAAqAMAAKoDAACsAwAArwMGALkDAQC+AwMAzAMAAM4DAQDUAwAA2wMGAOYDBQD0AwAA9gMBAPkDAAD+AwEAAwQDAAgEAAAKBAUAFQQAABcEAQAaBAAAIAQGACoEDQA6BAEAPgQFAEYEAQBJBBEAXAQBAF8EBQBmBAAAaAQBAGsEAQBvBAAAcgQAAHQEBQB7BAAA"}],\ +["massa_execution_exports",{"t":"PPPPPPPPPPPPPPPPPPPPPPPPFPPPPPPPPPPPPPFPPPFPFFFFKGKFFGGFGFGFFPPPPFPPPPPPPPPFFFGPPPPPGFPPPNNOOOOOOOOOOONNNNOOOOOOOOOOOOOCONNMNNNNOOOCOOOONNOOONNNNNNNNOCOOOCOMOOOOOONNNNNNOOOONMMMMMMMMOONNNNNNOOOONNOOOOCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOONNOMOOOOOOCOOOOOOOMOOOOOOONNNNNNNNCCNNNNNNMNNOOOOOOOOOOOOOOOOOOOOOOOOFNNNNNNNNNNNNNNNNNONNNNNNNNKKMMMMMMMMMMMMMPPPPGGPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHHHHFFNNOOOONNNNOOOOONNNNNNNOOOONNNNNNNNOOOONNNNNNOOOONNNNNNONNOOOOOOOOOOOOOOOOOOOONNOOOOOOOONNNNNNNNNNNNNNNNPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPFPFFFFGFGFGFFPPPPPFFFGPGNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNOOOONNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOO","n":["AddressBalanceCandidate","AddressBalanceFinal","AddressBytecodeCandidate","AddressBytecodeFinal","AddressDatastoreKeys","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","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","address","address","count","count","cycle","end_key","end_key","key","key","max_gas_request","params_size","prefix","prefix","restrict_to_addresses","start_key","start_key","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","AddressDatastoreKeys","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","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","address","address","count","count","cycle","end_key","end_key","key","key","max_gas_request","params_size","prefix","prefix","restrict_to_addresses","start_key","start_key","target_slot","parameter","target_addr","target_func"],"q":[[0,"massa_execution_exports"],[286,"massa_execution_exports::ExecutionError"],[288,"massa_execution_exports::ExecutionQueryRequestItem"],[307,"massa_execution_exports::ReadOnlyExecutionTarget"],[310,"massa_execution_exports::channels"],[337,"massa_execution_exports::controller_traits"],[352,"massa_execution_exports::error"],[436,"massa_execution_exports::error::ExecutionError"],[438,"massa_execution_exports::event_store"],[475,"massa_execution_exports::mapping_grpc"],[481,"massa_execution_exports::settings"],[586,"massa_execution_exports::types"],[1089,"massa_execution_exports::types::ExecutionQueryRequestItem"],[1108,"massa_execution_exports::types::ReadOnlyExecutionTarget"],[1111,"dyn_clone::sealed"],[1112,"massa_sc_runtime::types"],[1113,"alloc::boxed"],[1114,"rkyv::with"],[1115,"core::result"],[1116,"core::fmt"],[1117,"alloc::string"],[1118,"std::collections::hash::map"],[1119,"massa_models::address"],[1120,"massa_models::slot"],[1121,"core::ops::range"],[1122,"alloc::vec"],[1123,"alloc::collections::btree::map"],[1124,"massa_models::denunciation"],[1125,"massa_models::execution"],[1126,"massa_models::output_event"],[1127,"core::option"],[1128,"massa_models::amount"],[1129,"massa_models::operation"],[1130,"massa_models::stats"],[1131,"tonic::request"],[1132,"core::alloc::layout"],[1133,"std::path"],[1134,"anyhow"],[1135,"core::any"],[1136,"massa_models::block_id"],[1137,"massa_models::prehash"],[1138,"core::error"],[1139,"massa_models::error"],[1140,"massa_module_cache::error"],[1141,"massa_hash::error"],[1142,"massa_versioning::versioning_factory"],[1143,"alloc::collections::vec_deque"],[1144,"core::iter::traits::iterator"],[1145,"serde::ser"],[1146,"massa_proto_rs::massa::api::v1"]],"i":[73,73,73,73,66,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,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,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,86,87,88,86,87,84,85,89,89,86,87,88,86,87,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,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,66,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,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,86,87,88,86,87,84,85,89,89,86,87,88,86,87,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{FlAl}{cc{}}{FnAl}{G`Al}{GbAl}3{{{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{Db{I`}}D`}{{Af{IbFl}}}}``{{{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":"D@f","p":[[1,"reference"],[5,"Private",1111],[1,"unit"],[0,"mut"],[5,"CondomLimits",0,1112],[5,"GasCosts",0,1112],[10,"ExecutionController",337],[5,"Box",1113],[1,"usize"],[5,"With",1114],[6,"Result",1115],[5,"ReadOnlyExecutionRequest",586],[5,"ReadOnlyExecutionOutput",586],[6,"ExecutionError",352],[5,"Formatter",1116],[5,"Error",1116],[5,"String",1117],[1,"u64"],[5,"HashMap",1118],[6,"Address",1119],[1,"slice"],[5,"Slot",1120],[6,"Bound",1121],[5,"ExecutionAddressInfo",586],[5,"Vec",1122],[5,"BTreeMap",1123],[6,"DenunciationIndex",1124],[1,"bool"],[1,"tuple"],[5,"EventFilter",1125],[5,"SCOutputEvent",1126],[1,"u8"],[6,"Option",1127],[5,"Amount",1128],[6,"OperationId",1129],[5,"ExecutionStats",1130],[5,"Request",1131],[5,"Layout",1132],[5,"LayoutError",1132],[5,"PathBuf",1133],[5,"Error",1134],[5,"ExecutionQueryRequest",586],[5,"ExecutionQueryResponse",586],[10,"ExecutionManager",337],[5,"TypeId",1135],[10,"Any",1135],[6,"BlockId",1136],[5,"ExecutionBlockMetadata",586],[8,"PreHashMap",1137],[5,"ExecutionChannels",310],[10,"Error",1138],[6,"ExecutionQueryError",352],[8,"Result",1116],[6,"ModelsError",1139],[6,"CacheError",1140],[6,"MassaHashError",1141],[6,"FactoryError",1142],[5,"EventStore",438],[5,"VecDeque",1143],[17,"Item"],[10,"Iterator",1144],[10,"Serializer",1145],[5,"ExecutionQueryCycleInfos",586],[5,"ExecutionQueryCycleInfos",1146],[5,"ScExecutionEventsFilter",1146],[6,"ExecutionQueryResponseItem",586],[5,"ExecutionQueryResponse",1146],[5,"ExecutionQueryResponseItem",1146],[5,"ExecutionQueryStakerInfo",586],[5,"ExecutionQueryStakerInfoEntry",1146],[5,"ExecutionQueryRequestItem",1146],[1,"u32"],[6,"ExecutionQueryRequestItem",586],[5,"StorageCostsConstants",481],[5,"ExecutionConfig",481],[6,"SlotExecutionOutput",586],[5,"ExecutedBlockInfo",586],[5,"ExecutionOutput",586],[6,"ReadOnlyExecutionTarget",586],[5,"ReadOnlyCallRequest",586],[5,"ExecutionStackElement",586],[6,"ExecutionQueryExecutionStatus",586],[15,"VMError",436],[15,"AddressDatastoreValueCandidate",1089],[15,"AddressDatastoreValueFinal",1089],[15,"AddressDatastoreKeysCandidate",1089],[15,"AddressDatastoreKeysFinal",1089],[15,"CycleInfos",1089],[15,"DeferredCallQuote",1089],[15,"FunctionCall",1108]],"r":[[24,1112],[38,438],[42,586],[44,586],[45,586],[46,310],[47,481],[48,337],[49,352],[50,337],[51,586],[52,586],[53,352],[54,586],[55,586],[56,586],[57,586],[58,586],[59,586],[60,586],[65,1112],[75,586],[76,586],[77,586],[78,586],[84,586],[85,481]],"b":[[395,"impl-Debug-for-ExecutionError"],[396,"impl-Display-for-ExecutionError"],[397,"impl-Debug-for-ExecutionQueryError"],[398,"impl-Display-for-ExecutionQueryError"],[399,"impl-From%3CModelsError%3E-for-ExecutionError"],[401,"impl-From%3CCacheError%3E-for-ExecutionError"],[402,"impl-From%3CMassaHashError%3E-for-ExecutionError"],[403,"impl-From%3CFactoryError%3E-for-ExecutionError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFQCQwAZAAAAQgAAAFoAAgBnAAMAeAADAH0AAwCJAAEAjgAHAKQAAQCoAAEArgAAALkAAQC9AAEAwgACAMwAAQDTAAAA1gABANsABADhAAAA4wABAOcAAwDtAAAA8gABAAABAAAMAQcAFgEFAB0BAQA4AQkAQwEBAEYBAgBKAQcAdgEaAJIBAgCWAQMAnAEYALgBAgC8AQcAxgEAAMgBAADLAQAAzQECANIBAADUAQgA3wEBAOQBAQDqAQMA8wEGAP4BBwAKAgEADgIBABQCAQAYAgEAGwIBADECAQA7Ag8AhwIJAJcCIQDBAh0A5QJDADADCQBLAwkAVwMQAHkDEACMAxAAowMQALgDAQDBA4AA"}],\ +["massa_execution_worker",{"t":"CCCCCCCCCCCCCCCHCCCPFPPGPPPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNONONNNNNNONOOOOOOOONNNNNONNNNNNNNNNONNONOOONNOOHNNNNNNNNNNNNNNNNNHNNNNNNNNNNOOONOONNONONOONNNNOOOOOOOOONNNNNNNNNNOONNNNNNNNNFFFNONNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNNNNNNNONNNNONONONNNNNNNNNNNNNNNNNNNNNNNNHIIFOONNNNOOQNNNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNNNNNOOONNNOONNNNNNNNOFFFFFGPPOOOONNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNNONNNNNNOONNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNHHNNNNNNNNNNNNNNNNNNNNNNNNOOQNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNOOONNNNNNNNNNNNNNFFNNNNNNNNNOOONNNNNNNNONNNNNNNNNNNNNNNNNOOOONNNNNNONONNNNNNNNNNNNNNNNFONNNNNNNONNNNNNNHNONNONNNNNNNNNNNNFSONNNNNOONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNFONNNNNNOONNNNNNNNNNNNNNNNNNNFONNNNNNOONNNNNNNNNNNNNNNNNNNFOONNNNNNNNNNONNNNNNNNNNNNOOONNNNNONNNNNNNNNFONONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNOOONNNNNNNNNNNNONNNNNNNFFKNNNNONNNNNNNNONNNNNNNNNNOONNNNMNNOONNNNNNNNNNNNNNMNNFNNNNNNNONNONNNNNNOOOHNNNNNNNNN","n":["active_history","context","controller","datastore_scan","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","scan_datastore","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_datastore_keys","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"],[19,"massa_execution_worker::active_history"],[102,"massa_execution_worker::context"],[230,"massa_execution_worker::controller"],[322,"massa_execution_worker::datastore_scan"],[323,"massa_execution_worker::execution"],[398,"massa_execution_worker::execution_info"],[551,"massa_execution_worker::interface_impl"],[690,"massa_execution_worker::request_queue"],[747,"massa_execution_worker::slot_sequencer"],[816,"massa_execution_worker::speculative_async_pool"],[851,"massa_execution_worker::speculative_deferred_calls"],[894,"massa_execution_worker::speculative_executed_denunciations"],[923,"massa_execution_worker::speculative_executed_ops"],[952,"massa_execution_worker::speculative_ledger"],[996,"massa_execution_worker::speculative_roll_state"],[1035,"massa_execution_worker::stats"],[1065,"massa_execution_worker::storage_backend"],[1120,"massa_execution_worker::worker"],[1151,"massa_execution_exports::settings"],[1152,"massa_final_state::controller_trait"],[1153,"parking_lot::rwlock"],[1154,"alloc::sync"],[1155,"massa_pos_exports::controller_traits"],[1156,"alloc::boxed"],[1157,"massa_versioning::versioning"],[1158,"massa_execution_exports::channels"],[1159,"massa_wallet"],[1160,"massa_metrics"],[1161,"massa_event_cache::controller"],[1162,"massa_execution_exports::controller_traits"],[1163,"rkyv::with"],[1164,"core::result"],[1165,"massa_models::address"],[1166,"alloc::vec"],[1167,"massa_models::amount"],[1168,"massa_models::bytecode"],[1169,"massa_models::denunciation"],[1170,"massa_models::operation"],[1171,"massa_async_pool::message"],[1172,"massa_models::types"],[1173,"core::option"],[1174,"core::ops::range"],[1175,"core::fmt"],[1176,"massa_models::slot"],[1177,"massa_pos_exports::deferred_credits"],[1178,"massa_hash::hash"],[1179,"tonic::request"],[1180,"core::alloc::layout"],[1181,"core::any"],[1182,"massa_models::block_id"],[1183,"massa_module_cache::controller"],[1184,"massa_execution_exports::error"],[1185,"alloc::string"],[1186,"massa_models::deferred_calls"],[1187,"massa_deferred_calls::call"],[1188,"massa_deferred_calls"],[1189,"massa_models::output_event"],[1190,"alloc::collections::btree::map"],[1191,"alloc::collections::btree::set"],[1192,"rand_xoshiro::xoshiro256plusplus"],[1193,"massa_execution_exports::types"],[1194,"dyn_clone::sealed"],[1195,"massa_models::execution"],[1196,"massa_models::stats"],[1197,"std::collections::hash::map"],[1198,"massa_models::prehash"],[1199,"massa_ledger_exports::ledger_changes"],[1200,"massa_proto_rs::massa::model::v1"],[1201,"anyhow"],[1202,"massa_sc_runtime::types"],[1203,"massa_sc_runtime::execution"],[1204,"massa_time"],[1205,"parking_lot::mutex"],[1206,"massa_channel::sender"],[1207,"core::ops::function"],[1208,"massa_async_pool::changes"],[1209,"massa_deferred_calls::registry_changes"],[1210,"massa_deferred_calls::config"],[1211,"massa_executed_ops::denunciations_changes"],[1212,"massa_executed_ops::ops_changes"],[1213,"core::clone"],[1214,"massa_pos_exports::cycle_info"],[1215,"massa_pos_exports::pos_changes"],[1216,"num_rational"],[1217,"std::path"],[1218,"parking_lot::condvar"]],"i":[0,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,64,64,52,64,52,52,52,52,52,64,52,64,52,64,52,52,52,52,52,52,52,52,64,52,52,64,52,64,52,64,52,64,52,64,52,52,52,52,64,64,52,64,52,64,52,0,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,64,52,0,52,52,64,52,64,52,52,52,64,52,64,64,52,52,52,52,64,52,64,52,52,52,64,52,52,52,52,52,52,52,52,52,52,52,52,64,52,52,52,64,52,64,52,52,52,64,52,64,52,64,52,64,52,64,52,52,64,52,0,0,0,70,73,73,79,70,73,79,70,70,70,70,70,73,79,70,73,79,70,73,79,70,73,79,70,70,70,73,73,73,79,70,70,70,70,70,70,70,70,70,70,73,79,70,79,70,73,79,70,73,79,70,73,79,70,73,73,73,79,70,70,73,79,73,73,79,70,73,73,79,70,73,79,70,73,79,70,73,79,70,73,79,70,73,79,70,70,73,79,70,0,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,145,145,89,94,94,94,93,145,94,85,87,89,93,145,94,85,87,89,94,85,87,94,94,94,93,145,94,85,87,89,93,145,94,85,87,89,93,145,94,85,87,89,85,93,145,94,85,87,89,94,94,89,93,145,94,85,87,89,93,93,145,94,85,87,89,93,145,94,85,87,89,93,145,94,85,87,89,93,145,94,85,87,89,93,94,85,87,94,93,145,94,85,87,89,93,85,87,89,89,85,87,87,87,85,87,93,145,94,85,87,89,93,145,94,85,87,89,93,145,94,85,87,89,93,145,94,85,87,89,93,145,94,85,87,89,93,145,94,85,87,89,93,145,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,0,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,118,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}}}}{Gh{{Cb{Bn}}}}{Gh{{Cb{Bn}}}}{Dh{Gl}}}{{Bh{{Dh{{Gn{{Cb{Bn}}}}}}Fj}}}}{{{An{Fh}}}H`}{{{An{Fh}}{An{Bl}}{An{{C`{Bn}}}}}Dl}{{{An{Fh}}{An{Bl}}}Dl}{{}Bd}0{{{An{Eh}}}Hb}{{{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{Hd}}{h{{f{d}}}}{h{{f{Bb}}}}{h{{f{Ff}}}}n}Fh}``{{{An{B`Fh}}H`Fj}Bj}{{{An{B`Fh}}{An{Bl}}Ch}{{Bh{BjFj}}}}{{{An{B`Fh}}{An{Bl}}{Cb{Bn}}{Cb{Bn}}}{{Bh{BjFj}}}}{{{An{B`Fh}}{Dh{Hf}}}Hh}`````````{{{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}}Hj}Bj{}}`{{{An{c}}}{{An{e}}}{}{}}00{{{An{B`c}}}{{An{B`e}}}{}{}}00{{{An{Hl}}}Hl}{{{An{Hl}}}{{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{Hl}}Hn}{{Bh{I`Fj}}}}``{{{An{Ib}}{An{B`E`}}}Eb}{cc{}}00{{{An{c}}}c{}}{{{An{Hl}}{An{{C`{Bl}}}}{Gh{Ed}}}{{Cb{Id}}}}{{{An{Hl}}Df}{{Gj{BlDf}}}}{{{An{Hl}}{An{Cj}}}{{Al{DlDl}}}}{{{An{Hl}}If}{{Cb{Gd}}}}{{{An{Hl}}{Cb{{Al{Bl{Cb{Bn}}}}}}}{{Cb{{Al{{Dh{{Cb{Bn}}}}{Dh{{Cb{Bn}}}}}}}}}}{{{An{Hl}}{An{{C`{Bl}}}}}{{Cb{{Al{{Dh{Cf}}{Dh{Cf}}}}}}}}{{{An{Hl}}{An{{C`{Cl}}}}}{{Cb{{Al{{Dh{Dl}}{Dh{Dl}}}}}}}}{{{An{Hl}}}Ih}{{}Bd}00``{ce{}{}}00{c{{Ej{e}}}{}{}}00{{}{{Bh{ElEn}}}}00{bIb}`{An}00{{{An{Hl}}Ij}Il}`{{{An{B`In}}}Bj}`{{{An{B`Ib}}}Ib}`{{{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{Hl}}{J`{EdFd}}{Dh{{J`{EdFd}}}}{Jd{FdJb}}}Bj}???{{{An{Bl}}{An{{C`{Bn}}}}{Gh{{Cb{Bn}}}}{Gh{{Cb{Bn}}}}{Dh{Gl}}{h{{f{d}}}}{h{{f{Bb}}}}{Dh{{An{Jf}}}}}{{Al{{Dh{{Gn{{Cb{Bn}}}}}}{Dh{{Gn{{Cb{Bn}}}}}}}}}}`````{{{An{B`Jh}}Hh}Bj}0{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}```{{{An{Jh}}{An{Fn}}}{{Dh{G`}}}}{{{An{Jh}}EdDfDf}{{Al{EdDfDlCf}}}}{Bd{{An{c}}}{}}{Bd{{An{B`c}}}{}}{{{An{c}}{An{B`e}}}{{Bh{{Bf{gi}}}}}{}{}{}{}}{BdBj}{{{An{Jh}}Db{Dh{Ch}}}{{Bh{JjFj}}}}{{{An{Jh}}{An{Jl}}Bl}{{Bh{BjFj}}}}{{{An{B`Jh}}{An{Ed}}{Dh{{An{{Al{FdJb}}}}}}{l{j}}}Bj}{{{An{Jh}}{An{Fn}}G`}{{Bh{JnFj}}}}{{{An{Jh}}{An{K`}}{An{Ed}}{An{B`Cf}}}{{Bh{KbFj}}}}32{{{An{Jh}}{An{Kd}}Ed{An{B`Df}}{An{B`Cf}}}{{Bh{BjFj}}}}{{{An{Jh}}Hn}{{Bh{I`Fj}}}}55{{{An{Jh}}{An{Ed}}{Dh{{An{{Al{FdJb}}}}}}{l{j}}}Hh}6`````{cc{}}{{{An{Jh}}{An{Bl}}}{{Cb{Gf}}}}{{{An{Jh}}{An{Bl}}}{{Al{{Gj{EdCf}}{Gj{EdCf}}}}}}{{{An{Jh}}{An{Bl}}{Gh{Ed}}}{{Gj{EdCf}}}}{{{An{Jh}}Df}{{Gj{BlDf}}}}{{{An{Jh}}Df{Dh{{An{{Kf{Bl}}}}}}}{{Dh{Kh}}}}{{{An{Jh}}Ed}{{Cb{Fn}}}}{{{An{Jh}}{An{Cj}}}{{Al{DlDl}}}}{{{An{Jh}}If}{{Cb{Gd}}}}{{{An{Jh}}{An{Bl}}}{{Al{{Dh{Ch}}{Dh{Ch}}}}}}{{{An{Jh}}{An{Bl}}{An{{C`{Bn}}}}}{{Al{{Dh{{Cb{Bn}}}}{Dh{{Cb{Bn}}}}}}}}{{{An{Jh}}{An{Bl}}}{{Al{{Dh{Cf}}{Dh{Cf}}}}}}{{{An{Jh}}{An{Bl}}{An{{C`{Bn}}}}{Gh{{Cb{Bn}}}}{Gh{{Cb{Bn}}}}{Dh{Gl}}}{{Al{{Dh{{Gn{{Cb{Bn}}}}}}{Dh{{Gn{{Cb{Bn}}}}}}}}}}{{{An{Jh}}{An{Bl}}}{{Al{DfDf}}}}{{{An{Jh}}{An{Bl}}{An{{C`{Bn}}}}{Gh{{Cb{Bn}}}}{Gh{{Cb{Bn}}}}{Dh{Gl}}}{{Dh{{Gn{{Cb{Bn}}}}}}}}{{{An{Jh}}}Eh}{{{An{Jh}}{An{{C`{Cl}}}}}{{Cb{{Al{{Dh{Dl}}{Dh{Dl}}}}}}}}{{{An{Jh}}}Ih}{{}Bd}{ce{}{}}{c{{Ej{e}}}{}{}}{{}{{Bh{ElEn}}}}```{{b{h{{f{d}}}}n{l{j}}A`{h{{f{Ab}}}}Ad{l{Af}}}Jh}{An}{{{An{Jh}}{An{Kd}}Bl}{{Bh{H`Fj}}}}``{c{{Bh{e}}}{}{}}0{{{An{c}}}F`{}}{{{l{c}}}{{l{Fb}}}{}}{{{An{B`c}}}{{An{B`Fb}}}{}}{{{An{c}}}{{An{Fb}}}{}}{{{An{B`Jh}}{An{{Dh{Hf}}}}{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{Kb}}{An{B`E`}}}Eb}{cc{}}00000`{{}Bd}00000{ce{}{}}00000{c{{Ej{e}}}{}{}}00000{{}{{Bh{ElEn}}}}00000{GlKj}{{}Kl}{{}Jj}{{{An{G`}}}Jn}`{An}00000{{{An{B`Kj}}EdKl}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}}Hj}Bj{}}{{{An{Kn}}{An{L`}}{An{L`}}}{{Lb{L`}}}}{{{An{Kn}}{An{Ld}}}{{Lb{Fl}}}}{{{An{L`}}}{{Lb{Cf}}}}{{{An{Cf}}}L`}{{{An{Kn}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}{Dh{Fl}}}{{Lb{Bj}}}}{{{An{Kn}}{An{Ld}}}{{Lb{{Cb{Bn}}}}}}{{{An{c}}}{{An{e}}}{}{}}{{{An{B`c}}}{{An{B`e}}}{}{}}{{{An{Kn}}{An{{C`{Bn}}}}}Fl}{{{An{Kn}}}{{Lb{Dl}}}}{{{An{Kn}}}{{Lb{Df}}}}{{{An{Kn}}{An{Ld}}}{{Lb{Dl}}}}{{{An{Kn}}{An{L`}}}{{Lb{Dl}}}}11{{{An{Kn}}{An{Lf}}{An{Lf}}}{{Lb{Lf}}}}{{{An{Kn}}{An{Lf}}{An{Lf}}}{{Lb{{Al{DfLf}}}}}}{{{An{Kn}}{An{Lf}}Df}{{Lb{Lf}}}}{{{An{Kn}}{An{Lf}}Df}{{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{Fl}}}}{{{An{Kn}}}{{Lb{Bj}}}}{{{An{Kn}}{An{Ld}}}{{Lb{Bj}}}}?{{{An{Kn}}{An{Ld}}{An{Ld}}{Al{DfBn}}Df{An{{C`{Bn}}}}Df}{{Lb{Fl}}}}{{{An{Kn}}{An{{C`{Bn}}}}{Dh{Fl}}}{{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{DfL`}}}}}}{BdBj}{{{An{Kn}}{An{{C`{Bn}}}}{Dh{Fl}}}{{Lb{Dl}}}}{{{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{Dl}}}}<{cc{}}{{{An{c}}}c{}}{{{An{Kn}}Fl}{{Lb{Bj}}}}{{{An{Kn}}{Cb{Bn}}}{{Lb{Bj}}}}{{{An{Kn}}{An{Ld}}}{{Lb{Ll}}}}{{{An{Fh}}{Dh{Fl}}}{{Lb{Bl}}}}{{{An{Kn}}{An{Ld}}}{{Lb{Df}}}}{{{An{Kn}}}{{Lb{Df}}}}1{{{An{Kn}}{Dh{Fl}}}{{Lb{L`}}}}{{{An{Kn}}{Dh{Fl}}}{{Lb{{Cb{Bn}}}}}}2{{{An{Kn}}}{{Lb{L`}}}}{{{An{Kn}}}{{Lb{{Cb{Fl}}}}}}4{{{An{Kn}}}{{Lb{Ln}}}}{{{An{Kn}}}{{Lb{Bn}}}}{{{An{Kn}}{Al{DfBn}}DfDf}{{Lb{{Al{DlDf}}}}}}{{{An{Kn}}{An{{C`{Bn}}}}{Dh{Fl}}}{{Lb{{Gn{{Cb{Bn}}}}}}}}{{{An{Kn}}{An{{C`{Bn}}}}{Dh{Fl}}}{{Lb{{Cb{Bn}}}}}}{{{An{Kn}}}{{Lb{Gl}}}}{{{An{Kn}}{Dh{{An{{C`{Bn}}}}}}}{{Lb{{Gn{{Cb{Bn}}}}}}}}{{{An{Kn}}{An{Ld}}{Dh{{An{{C`{Bn}}}}}}}{{Lb{{Gn{{Cb{Bn}}}}}}}}{{{An{Kn}}{An{{C`{Bn}}}}Df}{{Lb{M`}}}}{{{An{Kn}}{An{{C`{Bn}}}}}{{Lb{{Cb{Bn}}}}}}{{{An{Kn}}{Dh{{An{{C`{Bn}}}}}}}{{Lb{{Cb{{Cb{Bn}}}}}}}}{{{An{Kn}}{An{{C`{Bn}}}}}{{Lb{{Cb{{Cb{Bn}}}}}}}}{{{An{Kn}}}{{Lb{{Dh{Fl}}}}}}={{{An{Kn}}{An{Ld}}}{{Lb{Df}}}}0{{{An{Kn}}}{{Lb{Df}}}}6{{{An{Kn}}{An{{C`{Bn}}}}}{{Lb{Dl}}}}{{{An{Kn}}{An{Ld}}{An{{C`{Bn}}}}}{{Lb{Dl}}}}{{{An{Kn}}{An{{C`{Bn}}}}}{{Lb{{Mb{Bn}}}}}}000{{{An{Kn}}}{{Lb{Bj}}}}{{}Bd}{{{An{Kn}}{An{Ld}}Df}{{Lb{{Cb{Bn}}}}}}{{{An{Kn}}{An{Ld}}L`}{{Lb{{Cb{Bn}}}}}}{ce{}{}}{c{{Ej{e}}}{}{}}{{{An{Kn}}{An{Ld}}}{{Lb{Dl}}}}{{}{{Bh{ElEn}}}}{{{An{Lf}}}{{Lb{Md}}}}{{{An{Md}}}Lf}{{{An{Kn}}{An{Ld}}}{{Lb{L`}}}}{{{An{Kn}}{An{L`}}}{{Lb{Fl}}}}{{b{h{{Mf{Fh}}}}}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}}Df}Bj}{{{An{Kn}}{An{L`}}Df}{{Lb{{Al{L`L`}}}}}}{{{An{Kn}}{An{L`}}Df}{{Lb{L`}}}}{{{An{Kn}}{An{Ld}}{An{Ld}}{Al{DfBn}}{Al{DfBn}}DfDfDf{An{{C`{Bn}}}}{Dh{{Al{{An{Ld}}{Dh{{An{{C`{Bn}}}}}}}}}}}{{Lb{Bj}}}}{{{An{Kn}}{An{{C`{Bn}}}}{Dh{Fl}}}{{Lb{Bj}}}}{{{An{Kn}}{An{{C`{Bn}}}}{An{{C`{Bn}}}}{Dh{Fl}}}{{Lb{Bj}}}}{{{An{Kn}}{An{{C`{Bn}}}}{An{Ld}}{An{Ld}}}{{Lb{Dl}}}}{{{An{Kn}}{An{L`}}{An{L`}}}{{Lb{L`}}}}{{{An{c}}}e{}{}}{{{An{Kn}}{An{Ld}}Df}{{Lb{Bj}}}}{{{An{Kn}}{An{Ld}}{An{Ld}}Df}{{Lb{Bj}}}}{{{An{Kn}}FlL`{Dh{Fl}}}{{Lb{Bj}}}}{c{{Bh{e}}}{}{}}0{{{An{c}}}F`{}}{{{An{Kn}}}{{Lb{Mh}}}}{{{An{Kn}}}{{Lb{Mj}}}}{{{An{Kn}}Df}{{Lb{{Cb{Bn}}}}}}{{{l{c}}}{{l{Fb}}}{}}{{{An{B`c}}}{{An{B`Fb}}}{}}{{{An{c}}}{{An{Fb}}}{}}{{{An{Kn}}{An{Ld}}}{{Lb{Dl}}}}{ce{}{}}``{{{An{c}}}{{An{e}}}{}{}}0{{{An{B`c}}}{{An{B`e}}}{}{}}0{{{Ml{ce}}Fj}Bj{}{}}{{{An{B`{Mn{ce}}}}Fj}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`E`}}}EbN`N`}{{{An{{Mn{ce}}}}{An{B`E`}}}EbN`N`}{cc{}}0{{}Bd}0>>{c{{Ej{e}}}{}{}}0{{{Ml{ce}}}{{Al{c{Nb{{Bh{eFj}}}}}}}{}{}}{{{An{{Mn{ce}}}}}Dl{}{}}0{{}{{Bh{ElEn}}}}0`{{c{Nb{{Bh{eFj}}}}}{{Ml{ce}}}{}{}}{Bd{{Mn{ce}}}{}{}}{An}0{{{An{B`{Mn{ce}}}}}{{Dh{{Ml{ce}}}}}{}{}}{{{An{B`{Mn{ce}}}}{Ml{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}}Hj}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`E`}}}Eb}{cc{}}0{{{An{c}}}c{}}{{{An{Nf}}}{{Dh{{An{Fd}}}}}}{{{An{Nd}}}Md}{{{An{Nd}}{An{Ed}}}{{Dh{{An{Nf}}}}}}{{{An{Nd}}{An{Ed}}}{{Dh{Bd}}}}{{{An{Nd}}}Ed}{{{An{B`Nd}}{J`{EdFd}}{J`{EdFd}}{Jd{FdJb}}}Bj}{{}Bd}0{ce{}{}}0{c{{Ej{e}}}{}{}}0{{{An{Nd}}}Dl}````{{}{{Bh{ElEn}}}}0{{bEd}Nd}{An}0{{{An{B`Nd}}e}{{Dh{c}}}{}{{Nj{Dl{An{Ed}}{Dh{{An{{Al{FdJb}}}}}}}{{Nh{c}}}}}}`{{Ed{Dh{Nf}}Dl{Dh{Fd}}Dl{Dh{Fd}}{An{B`{Jd{FdJb}}}}Dl}{{Al{NfDl}}}}`{{{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`Nd}}{J`{EdFd}}{Dh{{J`{EdFd}}}}{Jd{FdJb}}}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}}}}Dl}{{Cb{{Al{CnDb}}}}}}`{cc{}}{{{An{Nl}}}{{Al{Nn{Gj{CnO`}}}}}}{{}Bd}{ce{}{}}{c{{Ej{e}}}{}{}}{{{An{Ed}}{An{Ed}}}Dl}{{{An{Ed}}{An{Ed}}{An{Ed}}}Dl}{{{An{Ob}}{An{Jf}}}Dl}{{}{{Bh{ElEn}}}}`{{{h{{f{d}}}}{h{{f{Bb}}}}}Nl}{An}`{{{An{B`Nl}}Db}Bj}{{{An{B`Nl}}{Al{Nn{Gj{CnO`}}}}}Bj}{{{An{B`Nl}}{An{Ed}}{An{Jf}}}{{Cb{{Al{CnDb}}}}}}{{{An{B`Nl}}}Nn}{{{An{B`Nl}}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}}}}{Gh{{Cb{Bn}}}}{Gh{{Cb{Bn}}}}{Dh{Gl}}}{{Dh{{Gn{{Cb{Bn}}}}}}}}{{{An{A@d}}}Jf}{{{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}}Jf}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}}}Jf}{{{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{{Jd{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}Ih}{{}Bd}9{c{{Ej{e}}}{}{}}{{}{{Bh{ElEn}}}}{MdAAd}{An}{{{An{B`AAd}}Md}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`{Mf{Ib}}}}}}{h{{f{Jh}}}}{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}}{Mn{HnI`}}}Bj}{ce{}{}}{{{An{B`AAn}}}{{Al{IbDl}}}}","D":"CNb","p":[[5,"ExecutionConfig",1151],[10,"FinalStateController",1152],[8,"RwLock",1153],[5,"Arc",1154],[10,"SelectorController",1155],[5,"Box",1156],[5,"MipStore",1157],[5,"ExecutionChannels",1158],[5,"Wallet",1159],[5,"MassaMetrics",1160],[10,"EventCacheController",1161],[10,"ExecutionManager",1162],[10,"ExecutionController",1162],[1,"tuple"],[1,"reference"],[0,"mut"],[5,"ActiveHistory",19],[1,"usize"],[5,"With",1163],[6,"Result",1164],[1,"unit"],[6,"Address",1165],[1,"u8"],[1,"slice"],[5,"Vec",1166],[6,"HistorySearchResult",19],[5,"Amount",1167],[5,"Bytecode",1168],[6,"DenunciationIndex",1169],[6,"OperationId",1170],[8,"AsyncMessageId",1171],[5,"AsyncMessageUpdate",1171],[5,"AsyncMessage",1171],[6,"SetUpdateOrDelete",1172],[1,"u64"],[6,"Option",1173],[5,"Range",1174],[1,"bool"],[6,"SlotIndexPosition",19],[5,"Formatter",1175],[8,"Result",1175],[5,"Slot",1176],[5,"DeferredCredits",1177],[5,"Hash",1178],[5,"Request",1179],[5,"Layout",1180],[5,"LayoutError",1180],[5,"TypeId",1181],[10,"Any",1181],[6,"BlockId",1182],[5,"ModuleCache",1183],[5,"ExecutionContext",102],[6,"ExecutionError",1184],[5,"String",1185],[6,"DeferredCallId",1186],[5,"DeferredCall",1187],[5,"DeferredSlotCalls",1188],[5,"SCOutputEvent",1189],[5,"ExecutionAddressCycleInfo",1165],[6,"Bound",1174],[5,"BTreeMap",1190],[1,"u32"],[5,"BTreeSet",1191],[5,"ExecutionContextSnapshot",102],[5,"Xoshiro256PlusPlus",1192],[5,"ExecutionStackElement",1193],[5,"ExecutedBlockInfo",1193],[5,"ExecutionOutput",1193],[5,"Private",1194],[5,"ExecutionControllerImpl",230],[5,"ReadOnlyExecutionRequest",1193],[5,"ReadOnlyExecutionOutput",1193],[5,"ExecutionInputData",230],[5,"ExecutionAddressInfo",1193],[5,"EventFilter",1195],[5,"ExecutionStats",1196],[5,"ExecutionQueryRequest",1193],[5,"ExecutionQueryResponse",1193],[5,"ExecutionManagerImpl",230],[5,"HashMap",1197],[5,"ExecutionBlockMetadata",1193],[8,"PreHashMap",1198],[5,"LedgerChanges",1199],[5,"ExecutionState",323],[5,"AsyncMessageExecutionResult",398],[6,"OperationType",1170],[5,"DeferredCallExecutionResult",398],[6,"Denunciation",1169],[5,"DenunciationResult",398],[8,"SecureShareOperation",1170],[8,"PreHashSet",1198],[5,"ExecutionQueryCycleInfos",1193],[5,"ExecutionInfo",398],[5,"ExecutionInfoForSlot",398],[5,"InterfaceImpl",551],[5,"NativeAmount",1200],[8,"Result",1201],[1,"str"],[5,"NativeTime",1200],[10,"Interface",1202],[6,"ComparisonResult",1200],[6,"AddressCategory",1200],[5,"Slot",1200],[6,"RuntimeModule",1203],[1,"array"],[5,"MassaTime",1204],[8,"Mutex",1205],[1,"i64"],[1,"f64"],[5,"RequestWithResponseSender",690],[5,"RequestQueue",690],[10,"Debug",1175],[5,"MassaSender",1206],[5,"SlotSequencer",747],[5,"SlotInfo",747],[17,"Output"],[10,"Fn",1207],[5,"SpeculativeAsyncPool",816],[5,"AsyncPoolChanges",1208],[5,"AsyncMessageInfo",1171],[5,"AsyncMessageTrigger",1171],[5,"SpeculativeDeferredCallRegistry",851],[1,"u128"],[5,"DeferredCallRegistryChanges",1209],[5,"DeferredCallsConfig",1210],[5,"SpeculativeExecutedDenunciations",894],[8,"ExecutedDenunciationsChanges",1211],[5,"SpeculativeExecutedOps",923],[8,"ExecutedOpsChanges",1212],[5,"SpeculativeLedger",952],[5,"StorageCostsConstants",1151],[5,"SpeculativeRollState",996],[10,"RangeBounds",1174],[10,"Clone",1213],[5,"ProductionStats",1214],[5,"PoSChanges",1215],[5,"Ratio",1216],[5,"ExecutionStatsCounter",1035],[5,"PathBuf",1217],[5,"FileStorageBackend",1065],[5,"RocksDBStorageBackend",1065],[10,"StorageBackend",1065],[5,"ExecutionThread",1120],[5,"Condvar",1218],[6,"OperationInfo",398]],"r":[[15,1120]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAI4CmQABAAAABgAAAA8AAAAUAAAAGgAAABwAAAAeABIAOQAAAEIAAgBIAAgAUgAUAG4AAwCBAAEAhgAHAKoAAQCxAAEAtQABAL0AAQDUAAMA2gABAN4ABQDlAAEA6gAAAOwABgD0AA0ABQEAAAkBAAASAQIAGgEFACIBAgArARMAQAECAEQBAABHAQEASwEDAFABBQBZAQAAYwEEAGkBAABuAQAAdgEAAHoBAAB8AQEAfwEBAIIBAACEAQcAjQEDAJIBBACYAQAAmgEMAKgBAgCsARwAzwEGANwBFgD0AQEA+AEvACkCAAAvAgMANAIBADcCBwBAAgUASgIAAE8CAgBTAgAAWgIAAF0CAABfAgAAdAIAAHYCAQCAAgEAgwIAAIUCAgCOAgAAoQIAAKQCAACoAgIArgIEALUCAwC8AgcAxQIBAMkCAQDNAgEA0gIBANcCAQDeAg0A7gIEAPQCAgD6AgcAAwMAAAYDAAANAwEAEQMBABgDAQAbAwEAIQMMAC8DCwA9AwAAPwMAAEMDAQBGAwEATQMJAFgDAQBcAwcAZQMEAGsDAQBuAwEAcQMBAHYDAAB4AwYAgQMFAIsDAACOAwAAkAMAAJIDAACVAwYAngMFAKgDAACrAwAArQMAAK8DAACyAwYAvAMBAMEDAwDPAwAA0QMBANcDAADeAwYA6QMFAPcDAAD5AwEA/AMAAAEEAQAGBAMACwQAAA0EBQAYBAAAGgQBAB0EAAAjBAYALQQNAD0EAQBBBAUASQQBAEwEEQBfBAEAYgQFAGkEAABrBAEAbgQBAHIEAAB1BAAAdwQFAH4EAAA="}],\ ["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-Debug-for-FactoryError"],[85,"impl-Display-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,"tonic_reflection::server"],[890,"massa_execution_exports::error"],[891,"massa_protocol_exports::error"],[892,"massa_versioning::versioning_factory"],[893,"massa_time::error"],[894,"massa_wallet::error"],[895,"massa_models::error"],[896,"massa_consensus_exports::error"],[897,"massa_hash::error"],[898,"massa_signature::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}}}}}{}{}{}{}}{c{{n{Cf}}}Cj}11{c{{n{Ch}}}Cj}`{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,"Error",889],[6,"ExecutionError",890],[6,"ProtocolError",891],[6,"FactoryError",892],[6,"TimeError",893],[6,"WalletError",894],[6,"ModelsError",895],[6,"ConsensusError",896],[6,"MassaHashError",897],[6,"MassaSignatureError",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"],[300,"impl-From%3CError%3E-for-GrpcError"],[301,"impl-From%3CExecutionError%3E-for-GrpcError"],[302,"impl-From%3CProtocolError%3E-for-GrpcError"],[303,"impl-From%3CFactoryError%3E-for-GrpcError"],[304,"impl-From%3CTimeError%3E-for-GrpcError"],[305,"impl-From%3CWalletError%3E-for-GrpcError"],[306,"impl-From%3CModelsError%3E-for-GrpcError"],[308,"impl-From%3CConsensusError%3E-for-GrpcError"],[309,"impl-From%3CMassaHashError%3E-for-GrpcError"],[310,"impl-From%3CMassaSignatureError%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_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-Debug-for-FinalStateError"],[162,"impl-Display-for-FinalStateError"],[163,"impl-From%3CIsConsistentWithShutdownPeriodError%3E-for-FinalStateError"],[164,"impl-From%3CExtendFromDbError%3E-for-FinalStateError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHoAHwAQAAEAFgAAABgAAQAbAAEAKQABAEgAAQBLAAAATwABAFMAAQBgAAQAagAAAGwAAABxAAAAegAEAKAABQCoAAYAsAAAALMAAgC7AAAAvQAAAL8AEADUAAEA3QAIAOoADgD6AAMAAQECAAcBAAALAQIADwEBABMBAQAWARAA"}],\ +["massa_grpc",{"t":"FFFNNNONNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNCNNNONNNNNNNNNNNNNNNCOCCOOCNNNNNNNNNNNNNNNNNNNNNNNNFFPPGNNNOOONNNNNNOOOOONNNNNNNNNONNNNNNNNNNNNONNNOOOOOOONNNNNNNNNOOOOONNNOONNNNNNOONNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNPPPGPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHFFFNNNNNNNNNNNNNNNONNNNNNOOONNNNNNNNNNNNNOOONNNNNHNNNNNNNNNNNNNNNNNNOONNNNNNNNNONNNHONNNNNNNOOONNNOOOOOOONNNNNNNNONNNHNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNOONNNCCCCCCCCCCCFINOONNNNNNNNNNNNHNNNNHNHONNNNNNNNFIOONNNNNNONNHNNNNHNHNNNNNNNFINOONNNNNNNNNNNNHNNNNHNHONNNNNNNNFIONNNNNNNNHNNNNHOONHNNNNNNNIFNNNNNNNNNNNNNNNNHNONNNNNNNNFFFFFFINNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOHHNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNOHOOOOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIIHHIHHIHHSIH","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_key_length","max_datastore_keys_queries","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"],[279,"massa_grpc::error"],[328,"massa_grpc::private"],[348,"massa_grpc::public"],[363,"massa_grpc::server"],[517,"massa_grpc::stream"],[528,"massa_grpc::stream::new_blocks"],[562,"massa_grpc::stream::new_endorsements"],[590,"massa_grpc::stream::new_filled_blocks"],[624,"massa_grpc::stream::new_operations"],[652,"massa_grpc::stream::new_slot_abi_call_stacks"],[681,"massa_grpc::stream::new_slot_execution_outputs"],[866,"massa_grpc::stream::new_slot_transfers"],[867,"massa_grpc::stream::send_blocks"],[870,"massa_grpc::stream::send_endorsements"],[873,"massa_grpc::stream::send_operations"],[876,"massa_grpc::stream::tx_throughput"],[879,"dyn_clone::sealed"],[880,"core::result"],[881,"rkyv::with"],[882,"core::fmt"],[883,"core::hash"],[884,"core::marker"],[885,"tonic::request"],[886,"core::alloc::layout"],[887,"core::any"],[888,"alloc::boxed"],[889,"serde::de"],[890,"core::error"],[891,"massa_execution_exports::error"],[892,"massa_models::error"],[893,"massa_time::error"],[894,"massa_hash::error"],[895,"massa_consensus_exports::error"],[896,"massa_wallet::error"],[897,"tonic_reflection::server"],[898,"massa_protocol_exports::error"],[899,"massa_signature::error"],[900,"massa_versioning::versioning_factory"],[901,"tonic::status"],[902,"std::io::error"],[903,"core::option"],[904,"alloc::string"],[905,"massa_proto_rs::massa::api::v1"],[906,"core::future::future"],[907,"core::pin"],[908,"tonic_health::server"],[909,"tonic::codec::decode"],[910,"tonic::body"],[911,"http::request"],[912,"http::response"],[913,"core::convert"],[914,"tower_service"],[915,"tonic::server"],[916,"core::clone"],[917,"massa_models::block"],[918,"massa_models::endorsement"],[919,"massa_models::block_header"],[920,"massa_models::block_id"],[921,"massa_models::secure_share"],[922,"massa_models::operation"],[923,"massa_execution_exports::types"],[924,"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,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}22{c{{n{Ch}}}Cj}`{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}{Dll}{Dnl}{E`l}{cc{}}{{}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":"BDf","p":[[1,"reference"],[5,"Private",879],[1,"unit"],[0,"mut"],[5,"SlotRange",0],[6,"GrpcError",279],[6,"Result",880],[5,"SlotDraw",0],[5,"EndorsementDraw",0],[1,"usize"],[5,"With",881],[1,"bool"],[5,"Formatter",882],[8,"Result",882],[1,"u64"],[10,"Hash",883],[10,"Sized",884],[10,"BuildHasher",883],[10,"Hasher",883],[5,"Request",885],[5,"Layout",886],[5,"LayoutError",886],[5,"TypeId",887],[5,"Box",888],[10,"Any",887],[5,"GrpcConfig",126],[5,"GrpcApiConfig",126],[6,"ServiceName",126],[10,"Deserializer",889],[10,"Error",890],[6,"ExecutionError",891],[6,"ModelsError",892],[6,"TimeError",893],[6,"MassaHashError",894],[6,"ConsensusError",895],[6,"WalletError",896],[6,"Error",897],[6,"ProtocolError",898],[6,"MassaSignatureError",899],[6,"FactoryError",900],[5,"Status",901],[5,"Error",902],[6,"Option",903],[5,"String",904],[5,"MassaPrivateGrpc",363],[5,"AddStakingSecretKeysRequest",905],[5,"AddStakingSecretKeysResponse",905],[5,"AddToBootstrapBlacklistRequest",905],[5,"AddToBootstrapBlacklistResponse",905],[5,"AddToBootstrapWhitelistRequest",905],[5,"AddToBootstrapWhitelistResponse",905],[5,"AddToPeersWhitelistRequest",905],[5,"AddToPeersWhitelistResponse",905],[5,"AllowEveryoneToBootstrapRequest",905],[5,"AllowEveryoneToBootstrapResponse",905],[5,"BanNodesByIdsRequest",905],[5,"BanNodesByIdsResponse",905],[5,"BanNodesByIpsRequest",905],[5,"BanNodesByIpsResponse",905],[5,"GetBootstrapBlacklistRequest",905],[5,"GetBootstrapBlacklistResponse",905],[5,"GetBootstrapWhitelistRequest",905],[5,"GetBootstrapWhitelistResponse",905],[5,"GetMipStatusRequest",905],[5,"GetMipStatusResponse",905],[5,"GetNodeStatusRequest",905],[5,"GetNodeStatusResponse",905],[5,"GetPeersWhitelistRequest",905],[5,"GetPeersWhitelistResponse",905],[5,"RemoveFromBootstrapBlacklistRequest",905],[5,"RemoveFromBootstrapBlacklistResponse",905],[5,"RemoveFromBootstrapWhitelistRequest",905],[5,"RemoveFromBootstrapWhitelistResponse",905],[5,"RemoveFromPeersWhitelistRequest",905],[5,"RemoveFromPeersWhitelistResponse",905],[5,"RemoveStakingAddressesRequest",905],[5,"RemoveStakingAddressesResponse",905],[5,"ShutdownGracefullyRequest",905],[5,"ShutdownGracefullyResponse",905],[5,"SignMessagesRequest",905],[5,"SignMessagesResponse",905],[5,"UnbanNodesByIdsRequest",905],[5,"UnbanNodesByIdsResponse",905],[5,"UnbanNodesByIpsRequest",905],[5,"UnbanNodesByIpsResponse",905],[5,"MassaPublicGrpc",363],[5,"ExecuteReadOnlyCallRequest",905],[5,"ExecuteReadOnlyCallResponse",905],[5,"GetBlocksRequest",905],[5,"GetBlocksResponse",905],[5,"GetDatastoreEntriesRequest",905],[5,"GetDatastoreEntriesResponse",905],[5,"GetEndorsementsRequest",905],[5,"GetEndorsementsResponse",905],[5,"GetNextBlockBestParentsRequest",905],[5,"GetNextBlockBestParentsResponse",905],[5,"GetOperationsRequest",905],[5,"GetOperationsResponse",905],[5,"GetScExecutionEventsRequest",905],[5,"GetScExecutionEventsResponse",905],[5,"GetSelectorDrawsRequest",905],[5,"GetSelectorDrawsResponse",905],[5,"GetStakersRequest",905],[5,"GetStakersResponse",905],[5,"GetStatusRequest",905],[5,"GetStatusResponse",905],[5,"GetTransactionsThroughputRequest",905],[5,"GetTransactionsThroughputResponse",905],[5,"QueryStateRequest",905],[5,"QueryStateResponse",905],[5,"SearchBlocksRequest",905],[5,"SearchBlocksResponse",905],[5,"SearchEndorsementsRequest",905],[5,"SearchEndorsementsResponse",905],[5,"SearchOperationsRequest",905],[5,"SearchOperationsResponse",905],[10,"Future",906],[5,"Pin",907],[5,"GetOperationAbiCallStacksRequest",905],[5,"GetSlotAbiCallStacksRequest",905],[5,"GetSlotTransfersRequest",905],[5,"HealthReporter",908],[5,"NewBlocksRequest",905],[5,"Streaming",909],[5,"NewEndorsementsRequest",905],[5,"NewFilledBlocksRequest",905],[5,"NewOperationsRequest",905],[5,"NewSlotAbiCallStacksRequest",905],[5,"NewSlotExecutionOutputsRequest",905],[5,"NewSlotTransfersRequest",905],[5,"SendBlocksRequest",905],[5,"SendEndorsementsRequest",905],[5,"SendOperationsRequest",905],[5,"StopHandle",363],[8,"BoxBody",910],[5,"Request",911],[17,"Response"],[5,"Response",912],[17,"Error"],[6,"Infallible",913],[10,"Service",914],[10,"NamedService",915],[10,"Clone",916],[10,"Send",884],[5,"TransactionsThroughputRequest",905],[5,"Filter",528],[8,"NewBlocksStreamType",528],[8,"SecureShareBlock",917],[5,"Filter",562],[8,"NewEndorsementsStreamType",562],[8,"SecureShareEndorsement",918],[5,"Filter",590],[8,"NewFilledBlocksStreamType",590],[5,"BlockHeader",919],[6,"BlockId",920],[5,"SecureShare",921],[5,"Filter",624],[8,"NewOperationsStreamType",624],[8,"SecureShareOperation",922],[5,"SlotAbiCallStack",652],[8,"NewSlotABICallStacksStreamType",652],[5,"Filter",681],[5,"AsyncPoolChangesFilter",681],[5,"ExecutedDenounciationFilter",681],[5,"ExecutionEventFilter",681],[5,"ExecutedOpsChangesFilter",681],[5,"LedgerChangesFilter",681],[6,"SlotExecutionOutput",923],[5,"ExecutionOutput",923],[8,"NewSlotExecutionOutputsStreamType",681],[5,"SendBlocksResponse",905],[5,"Sender",924],[6,"Code",901],[8,"SendBlocksStreamType",867],[5,"SendEndorsementsResponse",905],[8,"SendEndorsementsStreamType",870],[5,"SendOperationsResponse",905],[8,"SendOperationsStreamType",873],[8,"TransactionsThroughputStreamType",876]],"r":[],"b":[[300,"impl-Display-for-GrpcError"],[301,"impl-Debug-for-GrpcError"],[302,"impl-From%3CExecutionError%3E-for-GrpcError"],[303,"impl-From%3CModelsError%3E-for-GrpcError"],[304,"impl-From%3CTimeError%3E-for-GrpcError"],[305,"impl-From%3CMassaHashError%3E-for-GrpcError"],[306,"impl-From%3CConsensusError%3E-for-GrpcError"],[307,"impl-From%3CWalletError%3E-for-GrpcError"],[308,"impl-From%3CError%3E-for-GrpcError"],[309,"impl-From%3CProtocolError%3E-for-GrpcError"],[310,"impl-From%3CMassaSignatureError%3E-for-GrpcError"],[311,"impl-From%3CFactoryError%3E-for-GrpcError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEwCTgABAAEABAACAAgABQAPAAgAGQAPACoAFABAAAIARgAFAE0AAgBRAAIAVwAIAGUAAABnABcAhAACAIoABQCVAAgAnwALAKwAAgC2AAIAvAACAMQAAgDMAAIA0QACAPIAAgAAARcAJgESADoBAAA8AQEAPwEJAFIBAABkAQAAZgEAAG8BAQB4AQUAfwEFAIgBCwCbAQIApgEAAKsBAQCyAQIAuAECALwBAgDLAQIA4QEAAOcBAADqAQEA7QEIAPgBCAADAgIAEQIAABMCDAAhAgIAJQIBACgCCwA1AgkAQAIBAEMCAQBGAgkAUQIMAF8CAgBjAgEAZgILAHMCBwB8AgEAfwIBAIICCgCOAgoAmgIBAJ0CAQCgAgAAogINALECRQD4AgYABQMMABgDDAAmAzwAaAMAAGsDAAA="}],\ +["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-Debug-for-HashXof%3CSIZE%3E"],[122,"impl-Display-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,"core::ops::range"],[521,"alloc::collections::btree::set"],[522,"core::result"],[523,"core::fmt"],[524,"tonic::request"],[525,"core::any"],[526,"alloc::string"],[527,"nom::internal"],[528,"nom::error"],[529,"massa_serialization"],[530,"num_enum"],[531,"massa_models::types"],[532,"alloc::collections::btree::map"],[533,"serde::de"],[534,"core::ops::function"],[535,"serde::ser"]],"i":[27,0,27,0,18,27,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,27,0,30,46,32,41,31,45,55,54,2,38,50,40,38,50,45,55,40,54,0,0,38,50,45,55,0,40,54,46,2,41,0,2,2,2,2,20,2,0,42,30,32,31,0,0,42,46,2,0,20,20,2,20,39,41,42,39,39,32,31,0,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,0,2,2,2,2,2,2,2,2,2,18,18,0,18,18,18,18,18,18,18,18,18,18,18,18,18,27,0,27,0,26,26,27,0,26,0,0,0,0,0,0,0,0,27,0,26,30,32,31,26,27,28,29,30,31,32,26,27,28,29,30,31,32,26,27,28,29,30,31,32,26,27,28,29,30,31,32,26,27,28,29,30,31,32,0,28,31,29,32,26,27,30,26,26,26,26,27,27,27,27,30,30,30,30,26,27,30,26,27,28,29,30,31,32,26,27,28,29,30,31,32,26,27,28,29,30,31,32,26,27,28,29,30,31,32,30,32,31,28,29,30,31,32,28,31,26,27,28,29,30,31,32,26,26,27,28,29,30,31,32,26,26,27,28,29,30,31,32,26,27,28,29,30,31,32,29,28,32,31,26,27,28,29,30,31,32,28,29,0,0,0,0,0,0,0,0,46,41,45,38,4,38,40,39,42,40,45,41,46,38,4,39,42,40,45,41,46,38,4,38,45,40,38,4,38,4,38,4,4,38,45,40,39,40,41,38,4,4,42,45,46,38,4,46,4,41,38,4,38,38,38,38,4,4,4,4,38,4,39,42,40,45,41,46,38,4,38,4,4,4,4,4,4,4,4,39,42,40,45,41,46,38,4,39,42,40,45,41,46,38,4,42,42,46,39,42,40,45,41,46,39,40,41,38,4,4,4,4,38,4,39,42,40,45,41,46,38,4,39,42,40,45,41,46,38,4,39,42,40,45,41,46,38,4,39,41,42,39,39,39,42,40,45,41,46,38,4,0,0,0,55,54,50,50,54,55,50,54,55,50,50,55,54,50,50,50,50,55,54,54,50,55,50,50,50,50,50,50,50,54,55,50,50,54,55,50,54,55,50,54,55,54,50,50,54,55,50,54,55,50,54,55,50,54,55,50],"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`}}}}{An{{Ad{A`}}}}{An{{Ad{A`}}}}{Aj{B`}}}{{Aj{{Bb{{Ad{A`}}}}}}}}`{{{f{d}}{f{{Ab{A`}}}}{f{{Ab{A`}}}}}Af}`````````{{{f{bd}}}{{Bf{lBd}}}}```{{{f{bd}}}l}`````````{{{f{c}}}{{f{e}}}{}{}}{{{f{bc}}}{{f{be}}}{}{}}{{{f{Bh}}}Bh}{{{f{c}}{f{be}}}l{}{}}{{{f{c}}}l{}}{{{f{Bh}}{f{bBj}}}Bl}{cc{}}{{{f{c}}}c{}}`{ce{}{}}{c{{Bn{e}}}{}{}}```{{{f{c}}}e{}{}}{c{{Bf{e}}}{}{}}0{{{f{c}}}C`{}}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`}}}}{An{{Ad{A`}}}}{An{{Ad{A`}}}}{Aj{B`}}}{{Aj{{Bb{{Ad{A`}}}}}}}}{{{f{d}}{f{{Ab{A`}}}}{f{{Ab{A`}}}}}Af}{{{f{bd}}}{{Bf{lBd}}}}{{{f{bd}}}l}````{{{f{c}}}{{f{e}}}{}{}}{{{f{bc}}}{{f{be}}}{}{}}{{{f{Bd}}{f{bBj}}}Bl}0{cc{}}{ce{}{}}{c{{Bn{e}}}{}{}}{{{f{c}}}Cb{}}{c{{Bf{e}}}{}{}}0{{{f{c}}}C`{}}4```````````````````````88888887777777{{{f{Cd}}}Cd}{{{f{Cf}}}Cf}{{{f{Ch}}}Ch}{{{f{Cj}}}Cj}{{{f{Cl}}}Cl}{{{f{Cn}}}Cn}{{{f{D`}}}D`}{{{f{c}}{f{be}}}l{}{}}000000{{{f{c}}}l{}}000000{{{f{n}}{f{{Ab{A`}}}}}{{Ad{A`}}}}{{}Ch}{{}Cn}{{{f{Cj}}{f{{Ab{A`}}}}}{{Db{{f{{Ab{A`}}}}Cfc}}}{{Dd{{f{{Ab{A`}}}}}}{Df{{f{{Ab{A`}}}}}}}}{{{f{D`}}{f{{Ab{A`}}}}}{{Db{{f{{Ab{A`}}}}Clc}}}{{Dd{{f{{Ab{A`}}}}}}{Df{{f{{Ab{A`}}}}}}}}{{{f{Cd}}{f{Cd}}}Af}{{{f{Cf}}{f{Cf}}}Af}{{{f{Cl}}{f{Cl}}}Af}{{{f{c}}{f{e}}}Af{}{}}00000000000{{{f{Cd}}{f{bBj}}}Bl}{{{f{Cf}}{f{bBj}}}Bl}{{{f{Cl}}{f{bBj}}}Bl}{cc{}}000000{{{f{c}}}c{}}000000{ce{}{}}000000{c{{Bn{e}}}{}{}}000000```{AfCh}{{A`Af}Cj}{{{f{n}}Cf}Cl}{AfCn}{{A`Af}D`}{{{f{Ch}}{f{Cf}}{f{b{Ad{A`}}}}}{{Bf{lDh}}}}{{{f{Cn}}{f{Cl}}{f{b{Ad{A`}}}}}{{Bf{lDh}}}}{{{f{c}}}e{}{}}000000{c{{Bf{e}}}{}{}}{A`{{Bf{Cd{Dj{Cd}}}}}}111111{c{{Bf{Cd{Dj{Cd}}}}}{}}2222222{{{f{c}}}C`{}}000000````=======`````````````{{{f{bDl}}Dl}l}{{{f{bh}}h}l}``{{{f{c}}}{{f{e}}}{}{}}0000000{{{f{bc}}}{{f{be}}}{}{}}0000000```{{{f{Dl}}}Dl}{{{f{h}}}h}{{{f{c}}{f{be}}}l{}{}}0{{{f{c}}}l{}}0{{{f{bh}}{f{n}}}l}```{{}Dn}{{}E`}{{}Eb}{{}Dl}{{}h}{{{f{bh}}n{Ad{A`}}}l}{{{f{Ed}}{f{{Ab{A`}}}}}{{Db{{f{{Ab{A`}}}}{Eh{{Ad{A`}}{Ef{{Ad{A`}}}}}}c}}}{{Dd{{f{{Ab{A`}}}}}}{Df{{f{{Ab{A`}}}}}}}}{{{f{Ej}}{f{{Ab{A`}}}}}{{Db{{f{{Ab{A`}}}}Dlc}}}{{Dd{{f{{Ab{A`}}}}}}{Df{{f{{Ab{A`}}}}}}}}{{{f{El}}{f{{Ab{A`}}}}}{{Db{{f{{Ab{A`}}}}hc}}}{{Dd{{f{{Ab{A`}}}}}}{Df{{f{{Ab{A`}}}}}}}}{c{{Bf{Dl}}}En}{c{{Bf{h}}}En}`{{{f{h}}{f{n}}c}Af{{Fb{}{{F`{Af}}}}}}`{{{f{Dl}}{f{Dl}}}Af}{{{f{h}}{f{h}}}Af}{{{f{c}}{f{e}}}Af{}{}}0000000{{{f{Dl}}{f{bBj}}}Bl}{{{f{h}}{f{bBj}}}Bl}{cc{}}0000000{{{f{c}}}c{}}0{{{f{h}}{f{n}}}{{Aj{{f{{Ff{FdDl}}}}}}}}{{{f{h}}{f{n}}c}{{Aj{Ah}}}{{Fb{}{{F`{{Aj{Ah}}}}}}}}{{{f{h}}{f{n}}c}{{Aj{Al}}}{{Fb{}{{F`{{Aj{Al}}}}}}}}{{{f{h}}}{{Ad{Al}}}}{{{f{h}}{f{n}}{f{{Ab{A`}}}}c}{{Aj{{Ad{A`}}}}}{{Fb{}{{F`{{Aj{{Ad{A`}}}}}}}}}}{{{f{h}}{f{n}}{f{{Ab{A`}}}}c}Af{{Fb{}{{F`{Af}}}}}}{{{f{h}}{f{n}}{Aj{{Ad{A`}}}}}Af}{ce{}{}}0000000{c{{Bn{e}}}{}{}}0000000```{{}Dn}{{A`FhFh}Ed}{{}E`}{{A`FhFh}Ej}{{}Eb}{{FhA`FhFh}El}{{{f{Dn}}{f{{Eh{{Ad{A`}}{Ef{{Ad{A`}}}}}}}}{f{b{Ad{A`}}}}}{{Bf{lDh}}}}{{{f{E`}}{f{Dl}}{f{b{Ad{A`}}}}}{{Bf{lDh}}}}{{{f{Eb}}{f{h}}{f{b{Ad{A`}}}}}{{Bf{lDh}}}}{{{f{Dl}}c}BfFj}{{{f{h}}c}BfFj}{{{f{bh}}nAh}l}{{{f{bh}}nAl}l}{{{f{bh}}n{Ad{A`}}{Ad{A`}}}l}{{{f{c}}}e{}{}}0{c{{Bf{e}}}{}{}}000000000000000{{{f{c}}}C`{}}0000000`````{ce{}{}}0000000`````{{{f{bFd}}Dl}l}`{{{f{c}}}{{f{e}}}{}{}}00{{{f{bc}}}{{f{be}}}{}{}}00```{{{f{Fd}}}Fd}{{{f{c}}{f{be}}}l{}{}}{{{f{c}}}l{}}```{{}Fl}{{}Fd}{{{f{Fn}}{f{{Ab{A`}}}}}{{Db{{f{{Ab{A`}}}}Fdc}}}{{Dd{{f{{Ab{A`}}}}}}{Df{{f{{Ab{A`}}}}}}}}{c{{Bf{Fd}}}En}{{{f{Fd}}{f{Fd}}}Af}{{{f{c}}{f{e}}}Af{}{}}000{{{f{Fd}}{f{bBj}}}Bl}{cc{}}00{{{f{c}}}c{}}???{c{{Bn{e}}}{}{}}009{{FhA`Fh}Fn}{{{f{Fl}}{f{Fd}}{f{b{Ad{A`}}}}}{{Bf{lDh}}}}{{{f{Fd}}c}BfFj}{{{f{c}}}e{}{}}{c{{Bf{e}}}{}{}}00000{{{f{c}}}C`{}}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],[6,"Bound",520],[1,"u32"],[5,"BTreeSet",521],[6,"LedgerError",118],[6,"Result",522],[5,"LedgerConfig",88],[5,"Formatter",523],[8,"Result",523],[5,"Request",524],[5,"TypeId",525],[5,"String",526],[6,"KeyTypeId",134],[6,"KeyType",134],[5,"KeyTypeSerializer",134],[5,"KeyTypeDeserializer",134],[5,"Key",134],[5,"KeySerializer",134],[5,"KeyDeserializer",134],[8,"IResult",527],[10,"ParseError",528],[10,"ContextError",528],[6,"SerializeError",529],[5,"TryFromPrimitiveError",530],[5,"LedgerEntryUpdate",296],[5,"DatastoreUpdateSerializer",296],[5,"LedgerEntryUpdateSerializer",296],[5,"LedgerChangesSerializer",296],[5,"DatastoreUpdateDeserializer",296],[6,"SetOrDelete",531],[5,"BTreeMap",532],[5,"LedgerEntryUpdateDeserializer",296],[5,"LedgerChangesDeserializer",296],[10,"Deserializer",533],[17,"Output"],[10,"FnOnce",534],[5,"LedgerEntry",455],[6,"SetUpdateOrDelete",531],[1,"u64"],[10,"Serializer",535],[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,"core::ops::range"],[87,"alloc::collections::btree::set"],[88,"tonic::request"],[89,"massa_ledger_exports::error"],[90,"core::result"],[91,"massa_ledger_exports::config"],[92,"massa_db_exports::controller"],[93,"core::any"],[94,"parking_lot::raw_rwlock"],[95,"alloc::boxed"],[96,"lock_api::rwlock"],[97,"alloc::collections::btree::map"],[98,"massa_ledger_exports::key"],[99,"massa_ledger_exports::ledger_entry"],[100,"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,32,32,32,0,0,32,26,26,26,32,26,32,26,26,26,26,0,26,32,0,26,32,26,26,26,32,26,32,26,26,26,26,26,26,26,26,26,26,26,32,26,32,26,32,26,26,26,26,32,26],"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}}}}{Bb{{B`{Al}}}}{Bb{{B`{Al}}}}{Ah{Bd}}}{{Ah{{Bf{{B`{Al}}}}}}}}{ce{}{}}{c{{Bh{e}}}{}{}}{{{f{d}}{f{{An{Al}}}}{f{{An{Al}}}}}A`}{{{f{bd}}}{{Bl{lBj}}}}{{BnC`}d}{{{f{bd}}}l}`{c{{Bl{e}}}{}{}}0{{{f{c}}}Cb{}}7````````{{{f{Cd}}h{f{bj}}}l}{{{f{c}}}{{f{e}}}{}{}}0{{{f{bc}}}{{f{be}}}{}{}}0```{{{f{n}}{f{{Cl{Cf{Cj{Ch}}}}}}{f{b{Cn{{B`{Al}}{Ah{{B`{Al}}}}}}}}}l}{{{f{Cd}}{f{n}}{f{bj}}}l}{{{f{D`}}{f{n}}}Db}{{{f{{An{Al}}}}}{{Ah{{B`{Al}}}}}}{{{f{Cd}}{f{bAb}}}Ad}{cc{}}0{{{f{Cd}}{f{n}}{f{{An{Al}}}}{Bb{{B`{Al}}}}{Bb{{B`{Al}}}}{Ah{Bd}}}{{Ah{{Bf{{B`{Al}}}}}}}}{{{f{Cd}}{f{n}}D`}{{Ah{{B`{Al}}}}}}{ce{}{}}0{c{{Bh{e}}}{}{}}0{{{f{Cd}}{f{{An{Al}}}}{f{{An{Al}}}}}A`}``{{{f{bCd}}{Df{nDd}}}l}``{{C`AlAlDh}Cd}{{{f{Cd}}{f{n}}Dd{f{bj}}}l}{{{f{Cd}}}l}`{c{{Bl{e}}}{}{}}000{{{f{c}}}Cb{}}0{{{f{Cd}}{f{n}}Dj{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],[6,"Bound",86],[1,"u32"],[5,"BTreeSet",87],[5,"Request",88],[6,"LedgerError",89],[6,"Result",90],[5,"LedgerConfig",91],[8,"ShareableMassaDBController",92],[5,"TypeId",93],[5,"LedgerDB",28],[5,"RawRwLock",94],[10,"MassaDBController",92],[5,"Box",95],[5,"RwLockReadGuard",96],[5,"BTreeMap",97],[6,"LedgerSubEntry",28],[5,"Key",98],[5,"LedgerEntry",99],[5,"HashMap",100],[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{cc{}}{CfBh}{{{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}}}}}{}{}{}{}}{{{b{Dh}}{b{{An{Al}}}}}{{Dl{{b{{An{Al}}}}Djc}}}{{Dn{{b{{An{Al}}}}}}{E`{{b{{An{Al}}}}}}}}1111{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-Debug-for-CacheError"],[82,"impl-Display-for-CacheError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAPAAHQABAAQACAADAA0AAwAVAAAAFwABABsAAAAdAAYAJgABACoAAwAwAAAAMgABADkAAAA9AAYARwAMAFUAAgBZABYAcQADAHgAAAB7AAEAgQAAAIYABgCPAAYAmAAAAJsAAQCeAAAAoQANALQAOADyAAYA/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}{c{{Al{Fj}}}Hj}22{c{{Al{Fl}}}Hj}{c{{Al{Fn}}}Hj}44{c{{Al{G`}}}Hj}5{c{{Al{Gb}}}Hj}6{c{{Al{Gd}}}Hj}7{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}}}}}{}{}{}{}}0{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_models",{"t":"CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCFONNONNNOONONNNNNOOONONNNNNSGFFFPGQFPQSSPGQFPQONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNONNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNOOONNNNNNNNSSFFFFTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNPPFFFGFPFPPPIPPNNNNNNNNNNNNNONNNNNNNOOONNNNNNONNNNNNNNNNNNNNNNNNOOOOONNNNNNNNNNNNOOONNNOOOONNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNFFFFIOOONNNNNNNNONNNNOOOONOOOONNOOOOOONNNNNNNNNOONNNNNNNNOONNNOOOONNOOOOOOONNNNNNNNNNNNNNNONNNNSGQFFFPQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNSFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNFFFOOOOONNNNNNNNNNNNNOOONNNNNNNNNNNONNNNNNNNNNNNNNNNNPPPPPFGGPFFPPNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOOOONNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNFOHCCOOOCOOOOOOFONNNNNNNONONNNNONNOOOONOONNNNNNSSSSFSSSSSSSSSSSSSSFFFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSFSSSSSSSSSFSSOOOOOONNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHIFFNNNNHNNNNHNNNNOONNHNNNNNNNOOONNSGQFFFPQNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPPFFFFGFGGFFGGFGPPPPPFFFFPPPTOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNNNNNNOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNOOOSSSFFFFGQFFPQFFIOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNPPPPPPPPPPPPPPPPPGIPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNOONNNNNOOOONONNNNNFFFFFFFFFOOOOOONNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHSFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPSSFFGQFFFPQFFGQFFPQIFFFGFGFFFPPPPIPPOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNOOOOOONNNNONNONNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOONNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOFFONNNNONNNNNNNNOONNNNNNNNNNNNNNNNNNNNONNNNOOONONNONNNNNNNNNNNNIKFIIKNNNNNONNONNNNMNNNFFFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNKFKFFNNNNNNNONNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNMNNNNONNNNNNOMNNNONNNNONNNOONNNNNNNNNNNNNNNNNFFKFFFFKFFFFFFHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNOOOONNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHOOHHOOONNNNNNNNNNNNFSFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNOOONNNNONONNNNNNNNNNNNNNNNNNNONNNNFFFFOOONNNNNNNNONNNNNNNNNNNNNOOOOOONNNNNNNNNNNNNNNONNNNNNNNOOONNNNOOOONNNNNNNNNNNNNNNNNNNNNNNPPPGFFNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNOONNNHHHHHHKPPPPPPGFFGFFGFFPMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSFFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNN","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","cleanup_datastore_key_range_query","default","deserialize","from","from","get_prefix_bounds","into","into","into_request","into_request","key_deserializer","length_deserializer","new","new","range_intersection","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"],[1245,"massa_models::deferred_calls"],[1350,"massa_models::denunciation"],[1744,"massa_models::denunciation::DenunciationIndex"],[1747,"massa_models::endorsement"],[1950,"massa_models::error"],[2005,"massa_models::execution"],[2031,"massa_models::ledger"],[2189,"massa_models::mapping_grpc"],[2190,"massa_models::node"],[2225,"massa_models::operation"],[2678,"massa_models::operation::OperationType"],[2691,"massa_models::output_event"],[2754,"massa_models::prehash"],[2777,"massa_models::rolls"],[2896,"massa_models::secure_share"],[2988,"massa_models::serialization"],[3225,"massa_models::slot"],[3343,"massa_models::stats"],[3436,"massa_models::streaming_step"],[3494,"massa_models::timeslots"],[3500,"massa_models::types"],[3671,"massa_models::version"],[3754,"core::result"],[3755,"serde::de"],[3756,"core::fmt"],[3757,"tonic::request"],[3758,"serde::ser"],[3759,"core::any"],[3760,"core::cmp"],[3761,"nom::internal"],[3762,"nom::error"],[3763,"massa_signature::signature_impl"],[3764,"core::hash"],[3765,"core::marker"],[3766,"core::option"],[3767,"alloc::vec"],[3768,"massa_serialization"],[3769,"alloc::string"],[3770,"rust_decimal::decimal"],[3771,"core::ops::range"],[3772,"massa_hash::hash"],[3773,"massa_time"],[3774,"num_rational"],[3775,"alloc::collections::btree::map"],[3776,"massa_signature::error"],[3777,"core::error"],[3778,"num_enum"],[3779,"massa_hash::error"],[3780,"massa_time::error"],[3781,"massa_proto_rs::massa::model::v1"],[3782,"core::clone"],[3783,"core::convert"],[3784,"nom::traits"],[3785,"core::net::ip_addr"],[3786,"bitvec::vec"],[3787,"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,0,99,100,100,99,0,100,99,100,99,100,100,100,99,0,99,100,99,100,99,100,99,99,100,99,100,99,0,0,0,0,0,0,103,0,103,104,103,104,105,106,103,104,105,106,106,105,103,104,105,106,103,104,105,106,103,104,105,106,103,104,103,104,105,106,103,106,103,104,103,103,103,103,104,104,104,104,103,103,104,103,104,105,106,103,104,103,104,105,106,103,103,104,103,103,104,103,104,105,106,103,104,105,106,103,105,106,103,104,103,105,103,104,105,106,103,103,104,105,106,103,104,105,106,103,104,105,106,103,104,105,106,109,123,110,122,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,123,110,122,115,0,0,0,0,124,124,124,123,121,118,116,119,117,120,118,121,107,108,109,123,124,110,122,111,112,113,114,115,116,119,117,120,118,121,107,108,109,123,124,110,122,111,112,113,114,115,107,108,109,110,111,112,113,114,115,107,108,109,110,111,112,113,114,115,107,108,109,110,110,111,112,113,114,115,110,110,107,108,116,117,118,111,119,120,121,107,108,109,110,112,121,118,107,108,109,110,122,113,114,115,110,110,110,110,122,122,122,122,107,108,109,123,124,124,110,122,113,114,115,116,119,117,120,118,121,107,108,109,123,123,124,124,124,110,110,110,122,122,111,112,113,114,115,115,115,107,108,109,110,111,112,113,114,115,110,110,107,108,107,108,107,109,110,107,108,109,115,107,108,107,108,107,108,109,110,115,110,113,114,107,108,107,108,119,120,116,117,112,107,113,119,112,111,116,119,117,120,118,121,107,108,109,123,124,110,122,111,112,113,114,115,116,119,117,120,118,121,107,108,109,123,124,110,122,111,112,113,114,115,109,109,109,109,109,109,116,119,117,120,118,121,111,112,110,119,120,107,108,113,114,116,117,118,107,108,109,110,111,113,114,107,108,107,108,119,120,107,108,113,114,119,120,112,116,117,111,124,107,108,109,110,111,112,113,114,115,124,116,119,117,120,118,121,107,108,109,109,109,109,123,123,124,110,122,122,111,112,113,114,115,123,122,116,119,117,120,118,121,107,108,109,123,124,110,122,111,112,113,114,115,116,119,117,120,118,121,107,108,109,123,124,110,122,111,112,113,114,115,121,118,116,111,116,119,117,120,118,121,107,108,109,123,124,110,122,111,112,113,114,115,245,246,245,0,0,0,0,0,0,0,0,0,0,0,129,0,0,0,0,135,132,134,135,133,136,129,130,131,132,137,134,135,133,136,129,130,131,132,137,129,130,131,132,129,130,131,132,129,129,130,130,131,132,129,130,129,130,131,126,126,126,133,132,134,134,135,136,129,130,131,136,131,129,130,131,129,129,129,129,130,130,130,130,131,131,131,131,129,129,130,131,131,137,134,135,133,136,129,130,131,132,137,129,130,131,132,129,130,129,129,130,130,129,130,134,126,131,137,135,136,134,135,133,136,129,130,131,132,137,134,135,133,136,129,130,131,132,137,134,135,133,136,129,132,137,129,130,133,129,130,131,132,126,126,136,131,137,135,132,137,129,130,131,132,129,130,131,134,135,133,136,129,130,131,132,137,134,135,133,136,129,130,131,132,137,134,135,133,136,129,130,131,132,137,133,132,134,134,135,133,136,129,130,131,132,137,27,27,27,27,27,27,27,27,27,145,27,27,27,27,27,27,27,0,0,27,145,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,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,0,0,0,0,0,0,0,0,0,153,150,148,149,151,152,143,146,146,144,144,148,149,150,153,146,151,144,152,143,148,149,150,153,146,151,144,152,143,144,143,146,144,143,146,144,143,143,146,146,144,143,148,149,150,146,151,144,152,143,148,149,153,146,144,143,146,144,143,148,149,150,153,146,151,144,152,143,146,144,143,143,148,149,150,153,146,151,144,152,143,148,149,150,153,146,151,144,152,143,146,144,153,150,153,150,148,149,150,153,146,151,152,150,146,151,144,152,143,143,146,144,143,148,149,150,153,146,151,144,152,143,148,149,150,153,146,151,144,152,143,148,149,150,153,146,151,144,152,143,148,149,150,153,146,151,144,152,143,0,0,0,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,155,176,163,176,163,0,0,0,0,0,0,0,0,0,156,0,0,0,0,0,0,0,158,0,0,0,0,0,0,0,0,0,0,0,176,163,176,163,0,176,163,171,167,170,171,166,167,166,170,167,171,168,172,173,175,156,157,158,159,160,161,176,162,163,169,164,165,166,170,167,171,168,172,173,175,156,157,158,159,160,161,176,162,163,169,164,165,156,157,158,159,160,161,162,163,164,165,156,157,158,159,160,161,162,163,164,165,156,156,157,157,158,158,159,159,160,161,162,163,164,165,156,157,158,159,156,157,158,159,162,0,53,53,53,171,171,167,166,167,168,160,161,169,164,165,170,171,172,173,175,156,157,158,159,161,161,162,163,169,156,157,158,159,176,163,156,156,156,156,157,157,157,157,158,158,158,158,159,159,159,159,176,176,176,176,162,170,162,156,156,157,157,158,158,159,159,176,162,162,163,163,166,170,167,171,168,172,173,175,156,157,158,158,159,160,161,176,162,163,169,164,165,156,157,158,159,160,161,162,163,164,165,156,157,171,167,53,156,156,157,157,158,159,53,53,53,53,156,157,156,157,158,159,161,53,171,166,170,167,171,168,172,173,175,156,157,158,159,160,161,176,162,163,169,164,165,156,157,166,170,167,171,168,172,173,175,156,157,158,159,160,161,176,162,163,169,164,165,172,173,175,171,166,170,167,171,168,172,173,175,156,160,161,169,164,165,162,172,168,170,166,171,156,157,158,159,173,156,157,171,166,167,168,156,157,158,159,160,160,162,163,164,165,53,53,175,165,156,157,158,159,160,161,162,163,164,165,156,157,158,159,162,163,166,170,167,171,168,172,173,175,156,157,158,159,160,161,176,176,162,163,169,164,165,176,166,170,167,171,168,172,173,175,156,157,158,159,160,161,176,162,163,169,164,165,166,170,167,171,168,172,173,175,156,157,158,159,160,161,176,162,163,169,164,165,167,168,164,165,166,167,167,161,160,166,170,167,171,168,172,173,175,156,157,158,159,160,161,176,162,163,169,164,165,247,248,249,249,249,249,248,248,247,250,251,248,248,0,0,181,180,181,180,181,181,180,181,180,181,180,181,180,180,180,180,180,181,180,181,180,180,180,180,181,181,181,181,180,180,181,181,180,181,180,181,181,180,181,180,181,181,181,181,180,181,180,181,181,180,181,180,181,180,181,180,181,180,181,180,181,0,0,0,0,0,0,182,182,182,182,182,182,182,182,182,182,182,182,182,185,186,147,182,0,0,0,0,0,0,187,190,191,192,189,188,187,190,191,192,189,188,187,190,188,187,189,188,187,190,189,188,187,190,187,190,189,189,188,187,190,188,191,192,187,190,192,189,188,187,190,189,188,187,190,191,192,189,188,187,190,189,188,187,190,187,191,192,189,188,187,190,191,192,189,188,187,190,190,188,190,191,192,190,188,188,191,189,188,187,190,187,190,189,188,187,190,191,192,189,188,187,190,191,192,189,188,187,190,191,192,189,188,187,190,192,191,191,192,189,188,187,190,0,0,0,0,0,197,59,196,197,59,196,59,197,59,196,59,196,59,196,194,194,59,59,59,59,59,197,196,194,197,59,197,59,59,59,59,59,59,59,197,59,196,59,196,59,59,59,61,59,59,59,59,59,197,59,196,197,59,196,197,61,197,196,194,197,194,59,196,196,59,59,194,59,59,197,59,196,59,197,59,196,197,59,196,197,59,196,194,59,197,59,196,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,201,202,203,204,205,206,207,208,209,211,213,214,201,202,203,204,205,206,207,208,209,211,213,214,201,202,203,204,205,206,207,208,209,211,213,214,201,202,203,204,205,206,207,208,209,211,213,214,201,202,203,204,205,206,207,208,209,211,213,214,206,208,205,207,201,202,203,213,214,202,204,206,208,211,214,201,202,203,204,205,206,207,208,209,211,213,214,218,201,202,203,204,205,206,207,208,209,211,213,214,201,202,203,204,205,206,207,208,209,211,213,214,201,202,203,204,205,206,207,208,209,211,213,214,203,205,207,211,209,209,211,201,202,203,204,205,206,207,208,209,211,213,214,205,206,207,208,201,203,205,207,209,213,219,201,202,203,204,205,206,207,208,209,211,213,214,201,202,203,204,205,206,207,208,209,211,213,214,201,202,203,204,205,206,207,208,209,211,213,214,201,202,203,204,205,206,207,208,209,211,213,214,0,214,213,0,0,204,206,208,201,202,203,204,205,206,207,208,209,211,213,214,0,0,0,0,0,72,220,221,222,72,220,221,222,72,220,221,222,72,220,221,222,72,72,220,221,222,72,72,220,72,221,222,72,222,72,72,72,72,222,222,222,222,72,72,222,222,72,72,220,221,222,72,72,220,221,222,72,72,72,72,222,72,72,72,222,222,72,220,221,222,72,220,221,222,72,72,72,72,72,220,221,72,72,72,72,221,221,72,220,222,72,222,72,72,72,72,220,221,222,72,222,72,220,221,222,72,220,221,222,72,220,221,222,220,72,220,221,222,0,0,0,0,224,225,225,224,225,226,227,224,225,226,227,226,224,225,226,224,225,226,224,225,226,224,225,226,227,226,227,224,226,224,224,224,224,225,225,226,226,227,227,224,225,226,227,224,225,226,225,224,225,226,227,224,225,226,227,225,227,225,224,225,226,227,226,226,224,224,224,225,226,224,225,226,227,224,225,226,227,224,225,226,227,224,225,226,227,224,225,226,227,228,228,228,0,0,0,230,229,228,230,229,228,228,228,228,228,229,230,229,228,228,228,228,228,228,228,230,229,228,228,230,229,228,230,229,228,230,229,229,230,230,229,230,228,230,229,228,230,229,228,230,229,228,229,230,230,229,228,0,0,0,0,0,0,0,232,234,235,232,234,235,0,0,0,0,0,0,0,0,0,232,231,232,234,235,235,236,239,237,240,238,241,232,234,235,236,239,237,240,238,241,232,234,235,232,234,235,232,234,235,232,234,235,235,236,237,238,232,234,235,232,234,235,232,232,232,232,234,234,234,234,235,235,235,235,232,234,235,236,239,237,240,238,241,232,234,235,232,234,235,237,238,236,236,240,241,239,239,236,239,237,240,238,241,232,234,235,236,239,237,240,238,241,232,234,235,236,239,237,240,238,241,236,239,237,240,238,241,236,239,239,240,241,232,234,235,232,234,235,236,239,237,240,238,241,232,234,235,236,239,237,240,238,241,232,234,235,236,239,237,240,238,241,232,234,235,236,239,237,240,238,241,232,234,235,0,0,0,0,0,244,97,242,243,244,97,242,243,97,242,243,97,242,243,97,97,242,243,242,243,97,243,97,97,97,97,97,244,244,97,97,244,97,242,243,97,242,243,97,97,244,97,242,243,244,97,242,243,97,97,97,242,243,97,242,97,242,243,97,244,97,242,243,244,97,242,243,244,97,242,243,243,242,244,244,97,242,243],"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}}}}Ajc}}}{{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}}}}Alc}}}{{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}}}}}}}}{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{Aj}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bb}}{b{Ah}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bb}}{b{B`}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bb}}{b{Al}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bb}}{b{An}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Bf}}c}jAd}{{{b{c}}}e{}{}}0000000{Ah{{Dj{Bj}}}}{Aj{{Dj{Bj}}}}{Al{{Dj{Bj}}}}{An{{Dj{Bj}}}}{B`{{Dj{Bj}}}}{{{b{c}}}Dn{}}0000{c{{j{e}}}{}{}}000000000000000`{{{b{c}}}Af{}}0000000```{ce{}{}}0000000````````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{E`E`}{{Dh{E`}}}}{{E`E`}{{Dh{Cn}}}}{{E`Cn}{{Dh{E`}}}}0{{{b{E`}}{b{E`}}}{{Dh{E`}}}}{{{b{E`}}Cn}{{Dh{E`}}}}4{{{b{E`}}}E`}{{{b{Eb}}}Eb}{{{b{Ed}}}Ed}{{{b{c}}{b{de}}}h{}{}}00{{{b{c}}}h{}}000{{{b{E`}}{b{E`}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}{{CnEf}E`}{{}E`}{{}Eb}{c{{j{E`}}}l}{{{b{Ed}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}E`c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{E`}}{b{E`}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{Eh}}{b{dn}}}A`}{{{b{c}}{b{dn}}}{{j{hEj}}}{}}{{{b{E`}}{b{dn}}}A`}0{cc{}}000{El{{j{E`Cf}}}}{{CnEf}{{j{E`Cf}}}}{CnE`}{{{b{c}}}c{}}00{{{b{Cl}}}{{j{E`c}}}{}}{ce{}{}}000{c{{Ab{e}}}{}{}}000{{{b{E`}}}Cd}{{}Eb}{{{En{E`}}{En{E`}}}Ed}{{{b{E`}}{b{E`}}}{{Dh{Bh}}}}{{E`E`}E`}{{E`Cn}E`}1{{{b{E`}}c}jAd}{{{b{Eb}}{b{E`}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{E`El}{{{b{E`}}}{{F`{CnEf}}}}{{{b{c}}}e{}{}}00{{{b{E`}}}Cn}{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0000000{{{b{c}}}Af{}}000``{{Eh{b{Cl}}}{{j{E`c}}}Fb}{ce{}{}}000{{}E`}```````````````{{{b{c}}}{{b{e}}}{}{}}00000{{{b{dc}}}{{b{de}}}{}{}}00000{{{b{Fd}}}Cn}`{{{b{Ff}}}Ff}{{{b{Fh}}}Fh}{{{b{c}}{b{de}}}h{}{}}0{{{b{c}}}h{}}0{{{b{Fd}}Fj}Cd}```{{}Fl}{{{b{Fn}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Ffc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{Ff}}}l}{{{Dh{{b{G`}}}}{b{Gb}}{b{Gd}}{b{c}}{b{{Bl{Bj}}}}Cn}{{Bn{{b{{Bl{Bj}}}}{Gf{Ffe}}g}}}{{Gh{Ff}}}Gj{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{Fh}}}l}{c{{j{Gl}}}l}`{{{b{Gl}}{b{Gl}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{Ff}}{b{dn}}}A`}0{{{b{Fh}}{b{dn}}}A`}{{{b{Gl}}{b{dn}}}A`}{cc{}}00000{{{b{c}}}c{}}0{{{b{Fd}}}Cn}`````{ce{}{}}00000{c{{Ab{e}}}{}{}}00000```?{GnFn}{{Ffc{b{H`}}Cn}{{j{{Gf{Ffe}}Cf}}}{{G`{Ff}}}Gj}````{{{b{Fl}}{b{Ff}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{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}}}}Ibc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Ih}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Idc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Ib}}{b{Ib}}}Cd}{{{b{Id}}{b{Id}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000{{{b{Ib}}{b{dn}}}A`}0{{{b{Id}}{b{dn}}}A`}{cc{}}000{{{b{c}}}c{}}000{{{b{Cl}}}{{j{Ibc}}}{}}{{{b{Cl}}}{{j{Idc}}}{}}{{{b{Ib}}}Cd}{{{b{Id}}}Cd}{{{b{c}}{b{e}}}Cn{D`Db}Dd}{{{b{Ib}}}{{b{Hf}}}}1{{{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`}```<<;;{{{b{{Bl{Bj}}}}{En{{Dj{Bj}}}}{En{{Dj{Bj}}}}{Dh{Ef}}Bj{Dh{Ef}}}{{j{{F`{{Dj{Bj}}{En{{Dj{Bj}}}}{En{{Dj{Bj}}}}}}Cf}}}}{{}Lf}{{{b{Lh}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Lj{{Dj{Bj}}{Dj{Bj}}}}c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}77{{{b{{Bl{Bj}}}}}{{F`{{En{{Dj{Bj}}}}{En{{Dj{Bj}}}}}}}}6655``{{CnBjCn}Lh}3{{{F`{{En{c}}{En{c}}}}{F`{{En{c}}{En{c}}}}}{{Dh{{F`{{En{c}}{En{c}}}}}}}Ll}{{{b{Lf}}{b{{Lj{{Dj{Bj}}{Dj{Bj}}}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{c{{j{e}}}{}{}}000{{{b{c}}}Af{}}0```;;````````{{{b{Ln}}}{{b{{Bl{Bj}}}}}}{{{b{M`}}}{{b{{Bl{Bj}}}}}}{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000``{{{b{Ln}}}Ln}{{{b{M`}}}M`}{{{b{Mb}}}Mb}{{{b{Md}}}Md}{{{b{c}}{b{de}}}h{}{}}000{{{b{c}}}h{}}000{{{b{Ln}}{b{Ln}}}Bh}{{{b{M`}}{b{M`}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}0{{}Mb}{{}Md}{c{{j{Ln}}}l}{{{b{Md}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Lnc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{Ln}}{b{Ln}}}Cd}{{{b{M`}}{b{M`}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000{{{b{Ln}}{b{dn}}}A`}0{{{b{M`}}{b{dn}}}A`}{cc{}}000{{{b{{Bl{Bj}}}}}{{j{LnCf}}}}{{{b{{Bl{Bj}}}}}{{j{M`Cf}}}}{{{b{c}}}c{}}000{{{b{Cl}}}{{j{Lnc}}}{}}{{{b{c}}{b{e}}}Cn{D`Db}Dd}0{{{b{Ln}}}{{j{I`Cf}}}}{{{b{Ln}}{b{dc}}}hDf}{{{b{M`}}{b{dc}}}hDf}{ce{}{}}000{c{{Ab{e}}}{}{}}000{{CnI`Cn{b{{Bl{Bj}}}}}{{j{LnCf}}}}{{}Mb}{{}Md}{{{b{Ln}}{b{Ln}}}{{Dh{Bh}}}}{{{b{M`}}{b{M`}}}{{Dh{Bh}}}}{{{b{Ln}}c}jAd}{{{b{Mb}}{b{Ln}}{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{Mf}}}Mf}{{{b{Mh}}}Mh}{{{b{Mj}}}Mj}{{{b{Ml}}}Ml}{{{b{Mn}}}Mn}{{{b{N`}}}N`}{{{b{Nb}}}Nb}{{{b{Nd}}}Nd}{{{b{Nf}}}Nf}{{{b{c}}{b{de}}}h{}{}}00000000{{{b{c}}}h{}}000000000{{{b{Ml}}{b{Ml}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}{{{b{Ch}}{b{I`}}{b{Ef}}{b{Hf}}}Hf}{{{b{Ch}}{b{I`}}{b{Hf}}}Hf}{{}Nh}{{}Nj}{{}Nl}{{}Mn}{{{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}}}}}}}}{{{b{Ob}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Mjc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{Mf}}}l}{c{{j{Mh}}}l}{c{{j{Mj}}}l}{c{{j{Ml}}}l}{{{b{N`}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Mlc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}``{{{b{Mf}}{b{Mf}}}Cd}{{{b{Mh}}{b{Mh}}}Cd}{{{b{Mj}}{b{Mj}}}Cd}{{{b{Ml}}{b{Ml}}}Cd}{{{b{Od}}{b{Od}}}Cd}{{{b{Nb}}{b{Nb}}}Cd}{{{b{Nd}}{b{Nd}}}Cd}{{{b{Nf}}{b{Nf}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000{{{b{Mf}}{b{dn}}}A`}{{{b{Mh}}{b{dn}}}A`}{{{b{Mj}}{b{dn}}}A`}{{{b{Of}}{b{dn}}}A`}{{{b{Oh}}{b{dn}}}A`}0{{{b{Ml}}{b{dn}}}A`}{{{b{Od}}{b{dn}}}A`}{{{b{Nb}}{b{dn}}}A`}{{{b{Nd}}{b{dn}}}A`}{{{b{Nf}}{b{dn}}}A`}{cc{}}000000000{{{b{Mj}}}Of}1{DlOh}{OjOh}{{{b{Mj}}}Ml}4{{{b{Nf}}}Ml}5{{{b{Ml}}}Od}6666{{{b{Hn}}}Nf}7{{{b{Ol}}}Nf}{{{b{c}}}c{}}00000000{{{b{c}}{b{e}}}Cn{D`Db}Dd}{{{b{Ml}}}Hf}{{{b{Mf}}}{{b{Hf}}}}{{{b{Mh}}}{{b{Hf}}}}10{{{b{Mf}}}{{b{Ef}}}}{{{b{Mj}}}{{Dh{{b{Ef}}}}}}{{{b{Ml}}}{{Dh{{b{Ef}}}}}}{{{b{Mf}}}{{b{Ch}}}}{{{b{Mh}}}{{b{Ch}}}}{{{b{Mj}}}{{b{Ch}}}}{{{b{Nf}}}{{b{Ch}}}}{{{b{Mf}}}{{b{Hb}}}}{{{b{Mh}}}{{b{Hb}}}}10{{{b{Mf}}}{{b{I`}}}}{{{b{Mh}}}{{b{I`}}}}{{{b{Mj}}}{{b{I`}}}}{{{b{Ml}}}{{b{I`}}}}{{{b{Nf}}}{{b{I`}}}}{{{b{Ml}}{b{dc}}}hDf}````````````````{ce{}{}}00000000000000000{c{{Ab{e}}}{}{}}00000000000000000{{{b{Mj}}{b{Hn}}}{{j{CdOh}}}}{{{b{Mj}}{b{Ol}}}{{j{CdOh}}}}{{{b{Cn}}{b{Cn}}{b{Cn}}}Cd}{{{b{Mj}}}Cd}00{{}Nh}{{BjEf}Nn}{{}Nj}{BjO`}{{}Nl}{{BjEf}Ob}{{}Mn}{{BjEf}N`}{{{b{Ml}}{b{Ml}}}{{Dh{Bh}}}}``````{{{b{Nh}}{b{Mf}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Nj}}{b{Mh}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Nl}}{b{Mj}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{Mf}}c}jAd}{{{b{Mh}}c}jAd}{{{b{Mj}}c}jAd}{{{b{Ml}}c}jAd}{{{b{Mn}}{b{Ml}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}``````````````````{{{b{Oh}}}{{Dh{{b{On}}}}}}{{{b{c}}}e{}{}}00000000{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0000000{{{F`{{b{Nf}}{b{Nf}}}}}{{j{Mjc}}}{}}{{{F`{{b{Ol}}{b{Ol}}}}}{{j{Mjc}}}{}}{{{F`{{b{Hn}}{b{Hn}}}}}{{j{Mjc}}}{}}3{Ef{{j{Of{A@`{Of}}}}}}4444{Ef{{j{Od{A@`{Od}}}}}}55555{c{{j{Of{A@`{Of}}}}}{}}{c{{j{Od{A@`{Od}}}}}{}}777777777777777777{{{b{c}}}Af{}}00000000000000000````{ce{}{}}00000000000000000`````````````````````{{{b{c}}}{{b{e}}}{}{}}00000000{{{b{dc}}}{{b{de}}}{}{}}00000000{{{b{A@b}}}A@b}{{{b{A@d}}}A@d}{{{b{A@f}}}A@f}{{{b{A@h}}}A@h}{{{b{c}}{b{de}}}h{}{}}000{{{b{c}}}h{}}00000{{{b{A@b}}{b{A@b}}}Bh}{{{b{A@d}}{b{A@d}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}0{{{b{A@f}}{b{Ch}}{b{Hf}}}Hf}```{{}A@j}{{}A@h}{{{b{A@l}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}A@bc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{A@l}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}A@dc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{A@n}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}A@fc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AA`}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}A@fc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{A@b}}}l}{c{{j{A@d}}}l}{c{{j{A@f}}}l}``{{{b{A@b}}{b{A@b}}}Cd}{{{b{A@d}}{b{A@d}}}Cd}{{{b{A@f}}{b{A@f}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}00000000000{{{b{A@b}}{b{dn}}}A`}0{{{b{A@d}}{b{dn}}}A`}{{{b{A@f}}{b{dn}}}A`}0{{{b{AAb}}{b{dn}}}A`}{cc{}}00000000{{{b{c}}}c{}}000{{{b{Cl}}}{{j{A@bc}}}{}}{{{b{Cl}}}{{j{A@dc}}}{}}{{{b{A@b}}}{{b{Hf}}}}{{{b{c}}{b{e}}}Cn{D`Db}Dd}{{{b{A@d}}}{{b{Hf}}}}1{{{b{A@b}}{b{dc}}}hDf}{{{b{A@d}}{b{dc}}}hDf}``````{ce{}{}}00000000{c{{Ab{e}}}{}{}}00000000{{}A@l}{{BjEf}A@n}{{}A@j}{{EfI`Ib}AA`}{HfA@b}{{}A@h}{{I`Ef}AAb}{{{b{A@b}}{b{A@b}}}{{Dh{Bh}}}}{{{b{A@d}}{b{A@d}}}{{Dh{Bh}}}}{{{b{A@j}}{b{A@f}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{A@b}}c}jAd}{{{b{A@d}}c}jAd}{{{b{A@f}}c}jAd}{{{b{A@h}}{b{A@f}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}```````{{{b{AAb}}}{{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{{{b{Cl}}}Cf}{DlCf}{OjCf}{AAdCf}{{{AAh{{AAf{{b{{Bl{Bj}}}}}}}}}Cf}{cc{}}{AAjCf}{{{b{c}}}c{}}>{c{{Ab{e}}}{}{}}{{{b{Cf}}}{{Dh{{b{On}}}}}}{{{b{c}}}e{}{}}{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0{{{b{c}}}Af{}}{ce{}{}}`{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{AAl}}}AAl}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}{{}AAl}{c{{j{AAl}}}l}``{{{b{AAl}}{b{dn}}}A`}{cc{}}{{{b{c}}}c{}}:{c{{Ab{e}}}{}{}}````{{{b{AAl}}c}jAd}`{{{b{c}}}e{}{}}??>=```````````````{{{b{dAAn}}{b{Ah}}{b{AB`}}}{{ABb{h}}}}{{{b{dABd}}{b{AB`}}}{{ABb{h}}}}```>>>>>>>>>========={{{b{dAB`}}{b{AB`}}}{{ABb{hCf}}}}{{{b{dAAn}}{b{AAn}}}{{ABb{h}}}}{{{b{ABd}}}ABd}{{{b{AB`}}}AB`}{{{b{AAn}}}AAn}{{{b{c}}{b{de}}}h{}{}}00{{{b{AAn}}{b{{ABf{Ah}}}}}AAn}{{{b{c}}}h{}}000{{}ABh}{{}ABj}{{}ABl}{{}ABd}{{}ABn}{{}AB`}{{}AC`}{{}AAn}{{{b{ABh}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}ABdc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{ABj}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AB`c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{ACb}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AAnc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{ABd}}}l}{c{{j{AB`}}}l}{c{{j{AAn}}}l}{{{b{ABd}}{b{dn}}}A`}{{{b{AB`}}{b{dn}}}A`}{{{b{AAn}}{b{dn}}}A`}{cc{}}00000000{{{b{c}}}c{}}00{{{b{AAn}}}{{ABf{Ah}}}}{ce{}{}}00000000{c{{Ab{e}}}{}{}}00000000{{{b{ABd}}}Cd}{{{b{AB`}}}Cd}````{{}ABh}{{}ABj}{{}ABl}{CnACb}{E`ABd}{{}ABn}{{}AC`}{{{b{ABl}}{b{AAn}}{b{d{Dj{Bj}}}}}{{ABb{hDl}}}}{{{b{ABd}}c}jAd}{{{b{ABn}}{b{ABd}}{b{d{Dj{Bj}}}}}{{ABb{hDl}}}}{{{b{AB`}}c}jAd}{{{b{AC`}}{b{AB`}}{b{d{Dj{Bj}}}}}{{ABb{hDl}}}}{{{b{AAn}}c}jAd}{{{b{dAAn}}{b{{ABf{Ah}}}}AAn}h}{{{b{c}}}e{}{}}00{c{{j{e}}}{}{}}00000000000000000{{{b{c}}}Af{}}00000000{ce{}{}}00000000{ACd{{j{MlCf}}}}``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{ACf}}}ACf}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}0{{{b{ACf}}{b{ACf}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}{c{{j{ACf}}}l}{{{b{ACf}}{b{ACf}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{ACf}}{b{dn}}}A`}0{cc{}}{{{b{c}}}c{}}{{{b{Cl}}}{{j{ACfc}}}{}}{{{b{c}}{b{e}}}Cn{D`Db}Dd}{{{b{ACf}}}Ch}{{{b{ACf}}{b{dc}}}hDf}{ce{}{}}{c{{Ab{e}}}{}{}}{ChACf}{{{b{ACf}}{b{ACf}}}{{Dh{Bh}}}}{{{b{ACf}}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{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{ADj}}}ADj}{{{b{c}}{b{de}}}h{}{}}000000000{{{b{c}}}h{}}0000000000000{{{b{ACh}}{b{ACh}}}Bh}{{{b{ACj}}{b{ACj}}}Bh}{{{b{ACl}}{b{ACl}}}Bh}{{{b{ACn}}{b{ACn}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}000{{{b{ADd}}{b{{Bl{Bj}}}}{b{Ch}}Cn}Hf}{{{b{{Bl{ACh}}}}{b{AD`}}}Hf}``````{{}ADl}{{}ADn}{{}AE`}{{}AD`}{{}ADb}{{}AEb}{{}ADh}{{}ADj}{{{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}}}}ADfc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AEh}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Dj{ACh}}c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AEj}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AElc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AEn}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Dj{Fj}}c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{ACh}}}l}{c{{j{ACj}}}l}{c{{j{ACl}}}l}{c{{j{ACn}}}l}{{{b{ADb}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}ACjc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{ADb}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AChc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{ADd}}}l}{c{{j{ADf}}}l}{{{b{AEb}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AClc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{ACh}}{b{ACh}}}Cd}{{{b{ACj}}{b{ACj}}}Cd}{{{b{ACl}}{b{ACl}}}Cd}{{{b{ACn}}{b{ACn}}}Cd}{{{b{AF`}}{b{AF`}}}Cd}{{{b{ADf}}{b{ADf}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000000000000000```{{{b{ACh}}{b{dn}}}A`}0{{{b{ACj}}{b{dn}}}A`}0{{{b{ACl}}{b{dn}}}A`}0{{{b{ACn}}{b{dn}}}A`}0{{{b{AF`}}{b{dn}}}A`}{{{b{ADd}}{b{dn}}}A`}0{{{b{ADf}}{b{dn}}}A`}0{cc{}}0000000000{{{b{{AFb{Bj}}}}}ACl}111111111{{{b{c}}}c{}}000000000{{{b{Cl}}}{{j{AChc}}}{}}{{{b{Cl}}}{{j{ACjc}}}{}}``{{{b{Fj}}CnCn}Cn}{{{b{c}}{b{e}}}Cn{D`Db}Dd}{{{b{ACh}}}{{b{Hf}}}}1{{{b{ACj}}}{{b{Hf}}}}22{{{b{Fj}}}{{ABf{Ah}}}}{{{b{Fj}}E`}E`}{{{b{Fj}}}{{j{{ABf{Ah}}Cf}}}}{{{b{Fj}}Cn}{{AFd{Cn}}}}{{{b{ACh}}}Cn}{{{b{ACj}}}Cn}{{{b{ACh}}{b{dc}}}hDf}{{{b{ACj}}{b{dc}}}hDf}{{{b{ACl}}{b{dc}}}hDf}{{{b{ACn}}{b{dc}}}hDf}```{ce{}{}}0000000000000000000{AChACl}{ACjACl}{c{{Ab{e}}}{}{}}0000000000000000000````{{}ADl}{{CnAFfEfCnBjCn}AEd}{{}ADn}{{CnAFfEfCnBjCn}AEf}{{}AE`}{EfAEh}{EfAEj}{{EfCnAFfEfCnBjCnCn}AEn}{HfACh}{{}AD`}{{}ADb}{{}AEb}{{}ADh}{{}ADj}``````{{{b{ACh}}{b{ACh}}}{{Dh{Bh}}}}{{{b{ACj}}{b{ACj}}}{{Dh{Bh}}}}{{{b{ACl}}{b{ACl}}}{{Dh{Bh}}}}{{{b{ACn}}{b{ACn}}}{{Dh{Bh}}}}`{{{b{ACh}}}ACl}{{{b{ACj}}}ACl}`{{{b{ADl}}{b{ADd}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{ADn}}{b{ADf}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{AE`}}{b{{Dj{ACh}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{ACh}}c}jAd}{{{b{ACj}}c}jAd}{{{b{ACl}}c}jAd}{{{b{ACn}}c}jAd}{{{b{AD`}}{b{ACj}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{AD`}}{b{ACh}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{ADd}}c}jAd}{{{b{ADf}}c}jAd}{{{b{ADh}}{b{AEl}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{ADj}}{b{{Dj{Fj}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}````{{{b{c}}}e{}{}}000000000{{{b{c}}}Dn{}}00000{c{{j{e}}}{}{}}0000000000000{Ef{{j{AF`{A@`{AF`}}}}}}111111{c{{j{AF`{A@`{AF`}}}}}{}}22222222222222222222{{{b{c}}}Af{}}0000000000000000000`````````{ce{}{}}0000000000000000000````````````````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0`{{{b{AFh}}}AFh}{{{b{AFj}}}AFj}{{{b{c}}{b{de}}}h{}{}}0{{{b{c}}}h{}}0{{{b{AFh}}{b{AFh}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}``{c{{j{AFh}}}l}{c{{j{AFj}}}l}{{{b{AFh}}{b{AFh}}}Cd}{{{b{AFj}}{b{AFj}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000{{{b{AFh}}{b{dn}}}A`}0{{{b{AFj}}{b{dn}}}A`}0{cc{}}0{{{b{c}}}c{}}0`{ce{}{}}0{c{{Ab{e}}}{}{}}0```{{{b{AFh}}{b{AFh}}}{{Dh{Bh}}}}`{{{b{AFh}}c}jAd}{{{b{AFj}}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}}}{}{}}{{}{{AFl{c}}}AFn}{{{b{{AFl{c}}}}}CnAFn}>`<;`554<{AG`AGb}{AG`{{AGd{ce}}}AFn{}}{AG`{{ABf{c}}}AFn}{{{b{d{AFl{c}}}}{b{{Bl{Bj}}}}}hAFn}``````{{{b{dAGf}}{b{Ah}}{b{AGh}}}{{ABb{AGj}}}}{{{b{dAGl}}{b{AGf}}}{{ABb{h}}}}999999888888{{{b{dAGh}}{b{AGh}}}{{ABb{AGj}}}}{{{b{dAGf}}{b{AGf}}}{{ABb{{AGd{AhAGj}}}}}}{{{b{AGj}}}AGj}{{{b{AGh}}}AGh}{{{b{AGf}}}AGf}{{{b{AGl}}}AGl}{{{b{c}}{b{de}}}h{}{}}000{{{b{AGf}}{b{{ABf{Ah}}}}}AGf}{{{b{AGl}}{b{{ABf{Ah}}}}}AGl}{{{b{c}}}h{}}0000{{{b{dAGh}}}AGj}{{}AGn}{{}AH`}{{}AGf}{{}AGl}{{{b{AH`}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AGhc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{AGj}}}l}{c{{j{AGh}}}l}{c{{j{AGf}}}l}{c{{j{AGl}}}l}{{{b{AGj}}{b{dn}}}A`}{{{b{AGh}}{b{dn}}}A`}{{{b{AGf}}{b{dn}}}A`}{{{b{AGl}}{b{dn}}}A`}{cc{}}00000{{{b{c}}}c{}}000{{{b{AGf}}}{{ABf{Ah}}}}{ce{}{}}00000{c{{Ab{e}}}{}{}}00000{{{b{AGl}}}Cd}{{{b{AGh}}}Cd}{{{b{AGl}}}AG`}{{}AGn}{{}AH`}{{}AGl}``{{{b{AGn}}{b{AGh}}{b{d{Dj{Bj}}}}}{{ABb{hDl}}}}{{{b{AGj}}c}jAd}{{{b{AGh}}c}jAd}{{{b{AGf}}c}jAd}{{{b{AGl}}c}jAd}{{{b{dAGf}}{b{{ABf{Ah}}}}AGf}h}{{{b{dAGl}}{b{{ABf{Ah}}}}AGl}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}}}{AHbAHdAHf}{GjAHf}}{{{b{AHh}}}AHh}{{{b{c}}{b{de}}}h{}{}}0{{{b{c}}}h{}}0{{{b{AHd}}{b{{Bl{Bj}}}}{b{Ch}}Cn}Hf}{{{b{AHd}}{b{Ch}}{b{Hf}}}Hf}{{{b{{Gf{ce}}}}}Hf{AHbAHd}Gj}{{{b{{Gf{FfIb}}}}Fj}Cd}````{{}AHh}{{{Dh{{b{G`}}}}{b{Gb}}{b{Gd}}{b{c}}{b{{Bl{Bj}}}}Cn}{{Bn{{b{{Bl{Bj}}}}{Gf{AHde}}g}}}{{Gh{AHd}}}Gj{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AHj{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Gf{cg}}i}}}{AHbAHd}{{Gh{c}}}Gj{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{{Gf{eg}}}}}l{AHbAHdK`}{GjK`}}{{{b{{AHj{ce}}}}{b{g}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Gf{ci}}k}}}{AHbAHd}{{Gh{c}}}{{G`{c}}}Gj{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{Gf{ce}}}}{b{{Gf{ce}}}}}Cd{AHbAHdAHl}{GjAHl}}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{{Gf{ce}}}}{b{dn}}}A`{AHbAHdAHn}{GjAHn}}{{{b{{Gf{ce}}}}{b{dn}}}A`{AHbAHd}Gj}{cc{}}00{{{b{c}}}c{}}0{{{b{{Gf{HdIb}}}}}Cn}{{{b{{Gf{FfIb}}}}}Cn}{{{b{{Gf{ADdACh}}}}CnCn}Cn}{{{b{Gj}}}{{b{Hf}}}}{{{b{{Gf{ADdACh}}}}}{{ABf{Ah}}}}{{{b{{Gf{ADdACh}}}}E`}E`}{{{b{{Gf{ADdACh}}}}}{{j{{ABf{Ah}}Cf}}}}{{{b{{Gf{ADdACh}}}}Cn}{{AFd{Cn}}}}`{ce{}{}}00{c{{Ab{e}}}{}{}}00`{HfGj}{{eCn}{{AHj{ce}}}{AHbAHd}{{Gh{c}}}}{{}AHh}{{AHdc{b{H`}}Cn}{{j{{Gf{AHde}}Cf}}}{{G`{AHd}}}Gj}`{{{b{Hb}}{b{Ch}}{b{{Bl{Bj}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{{Gf{ce}}}}g}j{AHbAHdAI`}{GjAI`}Ad}{{{b{AHh}}{b{{Gf{ce}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}{AHbAHd}Gj}{{{b{AHh}}{b{e}}{b{{Gf{cg}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}{AHbAHd}{{G`{c}}}Gj}`{{{b{{Gf{ce}}}}}AG`{AHbAHd}Gj}{{{b{AHd}}{b{H`}}{b{Hf}}}{{j{HbCf}}}}{{{b{H`}}{b{Hf}}{b{c}}}{{j{HbCf}}}{AHbAHd}}``{{{b{c}}}e{}{}}0{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}00000{{{b{c}}}Af{}}00{{{b{AHd}}{b{Ch}}{b{Hf}}{b{Hb}}}{{j{hCf}}}}{{{b{{Gf{ce}}}}}{{j{hCf}}}{AHbAHd}Gj}{ce{}{}}00``````````````{{{b{{Bl{Bj}}}}}{{j{{AFb{Bj}}Cf}}}}{{{b{c}}}{{b{e}}}{}{}}00000000000{{{b{dc}}}{{b{de}}}{}{}}00000000000{{{b{AIb}}}AIb}{{{b{AId}}}AId}{{{b{AIf}}}AIf}{{{b{AIh}}}AIh}{{{b{{AIj{ce}}}}}{{AIj{ce}}}AHf{{G`{c}}AHf}}{{{b{{AIl{ce}}}}}{{AIl{ce}}}AHf{{Gh{c}}AHfAHf}}{{{b{{AIn{ce}}}}}{{AIn{ce}}}AHf{{G`{c}}AHf}}{{{b{{AJ`{ce}}}}}{{AJ`{ce}}}AHf{{Gh{c}}AHfAHf}}{{{b{{AJb{ec}}}}}{{AJb{ec}}}{{AJd{AG`}}AHf}{{G`{c}}AHf}}{{{b{{AJf{ec}}}}}{{AJf{ec}}}{{AJd{AG`}}AJhAHf}{{Gh{c}}AHf}}{{{b{AJj}}}AJj}{{{b{AJl}}}AJl}{{{b{c}}{b{de}}}h{}{}}00000000000{{{b{c}}}h{}}00000000000````{{}AIb}{{}AId}{{}AIf}{{}AJj}{{}AJl}{{{b{AId}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}AJnc}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AIh}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Dj{Bj}}c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AIl{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{Dj{c}}g}}}{}{{Gh{c}}AHf}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AJ`{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{ABf{c}}g}}}{AFnAK`D`}{{Gh{c}}AHf}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AJf{ec}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}Dng}}}{{AJd{AG`}}AJh}{{Gh{c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{AJl}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{AKb{Bj}}c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{cc{}}00000000000{{{b{{Bl{Bj}}}}AKd}{{j{{F`{AKdAG`}}Cf}}}}{{{b{c}}}c{}}00000000000{ce{}{}}00000000000{c{{Ab{e}}}{}{}}00000000000```````?>={{{En{Cn}}{En{Cn}}}AIh}{e{{AIj{ce}}}{}{{G`{c}}}}{{e{En{Cn}}{En{Cn}}}{{AIl{ce}}}{}{{Gh{c}}AHf}}{e{{AIn{ce}}}{}{{G`{c}}}}{{e{En{Cn}}{En{Cn}}}{{AJ`{ce}}}{}{{Gh{c}}AHf}}{e{{AJb{ec}}}{{AJd{AG`}}}{{G`{c}}}}{e{{AJf{ec}}}{{AJd{AG`}}AJh}{{Gh{c}}}}{{}AJj}{{}AJl}````{{{b{AIb}}{b{AJn}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{AIf}}{b{{Dj{Bj}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{{AIj{ce}}}}{b{{Dj{c}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}{}{{G`{c}}}}{{{b{{AIn{ce}}}}{b{{ABf{c}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}AFn{{G`{c}}}}{{{b{{AJb{ec}}}}{b{Dn}}{b{d{Dj{Bj}}}}}{{j{hDl}}}{{AJd{AG`}}}{{G`{c}}}}{{{b{AJj}}{b{{AKb{Bj}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{AKfAKf}{{j{{Dj{Bj}}Cf}}}}{{{b{c}}}e{}{}}00000000000{c{{j{e}}}{}{}}00000000000000000000000{{{b{c}}}Af{}}00000000000{EfAG`}``{CnAG`}{{{b{{Bl{Bj}}}}}{{j{BjCf}}}}```{ce{}{}}00000000000`````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{{b{I`}}}I`}{{{b{AKh}}}AKh}{{{b{AKj}}}AKj}{{{b{AKl}}}AKl}{{{b{c}}{b{de}}}h{}{}}000{{{b{c}}}h{}}0000{{{b{I`}}{b{I`}}}Bh}{{{b{c}}{b{e}}}Bh{}{}}{{}AKh}{c{{j{I`}}}l}{{{b{AKj}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}I`c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{AKl}}}l}{{{b{I`}}{b{I`}}}Cd}{{{b{AKl}}{b{AKl}}}Cd}{{{b{c}}{b{e}}}Cd{}{}}0000000{{{b{I`}}{b{dn}}}A`}0{{{b{AKl}}{b{dn}}}A`}0{cc{}}{AKnI`}111{{{b{{AFb{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{AKl}}{b{dc}}}hDf}`{ce{}{}}000{c{{Ab{e}}}{}{}}000{{{b{I`}}Cn}Cd}{{{b{I`}}CnBj}Cd}{BjI`}{{}I`}{{CnBj}I`}{{}AKh}{{{F`{{En{Cn}}{En{Cn}}}}{F`{{En{Bj}}{En{Bj}}}}}AKj}{{CnCn}{{j{I`Cf}}}}{{CnCnBj}{{j{I`Cf}}}}{{{b{I`}}{b{I`}}}{{Dh{Bh}}}}```{{{b{I`}}c}jAd}{{{b{AKh}}{b{I`}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{AKl}}c}jAd}{{{b{I`}}CnBj}{{j{I`Cf}}}}`{{{b{I`}}{b{I`}}Bj}{{j{CnCf}}}}`{{{b{I`}}}{{AFb{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{AL`}}}AL`}{{{b{ALb}}}ALb}{{{b{ALd}}}ALd}{{{b{c}}{b{de}}}h{}{}}00{{{b{c}}}h{}}00{c{{j{AL`}}}l}{c{{j{ALb}}}l}{c{{j{ALd}}}l}{c{{j{ALf}}}l}``````{{{b{AL`}}{b{dn}}}A`}0{{{b{ALb}}{b{dn}}}A`}0{{{b{ALd}}{b{dn}}}A`}0{{{b{ALf}}{b{dn}}}A`}0{cc{}}000{{{b{c}}}c{}}00`{ce{}{}}000{c{{Ab{e}}}{}{}}000```{{{b{AL`}}c}jAd}{{{b{ALb}}c}jAd}{{{b{ALd}}c}jAd}{{{b{ALf}}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{{ALh{c}}}}}{{ALh{c}}}AHf}{{{b{c}}{b{de}}}h{}{}}{{{b{c}}}h{}}0``{{{b{{ALj{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{ALh{c}}g}}}AHf{{Gh{c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{ALh{c}}}}{b{{ALh{c}}}}}CdAHl}{{{b{c}}{b{e}}}Cd{}{}}000{{{b{{ALh{c}}}}}Cd{}}{{{b{{ALh{c}}}}{b{dn}}}A`AHn}{cc{}}00{{{b{c}}}c{}}{ce{}{}}00{c{{Ab{e}}}{}{}}00{e{{ALl{ce}}}{}{{G`{c}}AHf}}{e{{ALj{ce}}}AHf{{Gh{c}}AHf}}````{{{b{{ALl{ce}}}}{b{{ALh{c}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}AHn{{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{dALn}}c}h{}}{{{b{d{AM`{ec}}}}{AM`{ec}}}h{AHfALn}{AMb{ALn{c}}}}{{{b{d{AMd{c}}}}{AMd{c}}}hAHf}{{{b{d{AMf{c}}}}{AMf{c}}}hAHf}{{{AMf{c}}{b{dc}}}hAHf}{{{b{c}}}{{b{e}}}{}{}}00000000{{{b{dc}}}{{b{de}}}{}{}}00000000{{{b{{AM`{ec}}}}}{{AM`{ec}}}{AHfALnAHf}{AHfAMb{ALn{c}}}}{{{b{{AMd{c}}}}}{{AMd{c}}}{AHfAHf}}{{{b{{AMf{c}}}}}{{AMf{c}}}{AHfAHf}}{{{b{c}}{b{de}}}h{}{}}00{{{b{c}}}h{}}00{{}{{AMf{c}}}AHf}{{{b{{AMh{ecgi}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{AM`{ec}}k}}}{ALnAHf}{AMb{ALn{c}}}{{Gh{e}}}{{Gh{c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AMj{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{AMd{c}}g}}}AHf{{Gh{c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{{{b{{AMl{ce}}}}{b{{Bl{Bj}}}}}{{Bn{{b{{Bl{Bj}}}}{AMf{c}}g}}}AHf{{Gh{c}}}{{C`{{b{{Bl{Bj}}}}}}{Cb{{b{{Bl{Bj}}}}}}}}{c{{j{{AM`{ge}}}}}l{K`ALnAHf}{K`AMb{ALn{e}}}}{c{{j{{AMd{e}}}}}l{K`AHf}}{c{{j{{AMf{e}}}}}l{K`AHf}}{{{b{{AM`{ec}}}}{b{{AM`{ec}}}}}Cd{AHlALnAHf}{AHlAMb{ALn{c}}}}{{{b{{AMd{c}}}}{b{{AMd{c}}}}}Cd{AHlAHf}}{{{b{{AMf{c}}}}{b{{AMf{c}}}}}Cd{AHlAHf}}{{{b{c}}{b{e}}}Cd{}{}}00000000000{{{b{{AM`{ec}}}}{b{dn}}}A`{AHnALnAHf}{AHnAMb{ALn{c}}}}{{{b{{AMd{c}}}}{b{dn}}}A`{AHnAHf}}{{{b{{AMf{c}}}}{b{dn}}}A`{AHnAHf}}{cc{}}00000000{{{b{c}}}c{}}00````````{ce{}{}}00000000{c{{Ab{e}}}{}{}}00000000{{gi}{{AMh{ecgi}}}{ALnAHf}{AMb{ALn{c}}}{{Gh{e}}}{{Gh{c}}}}{{gi}{{AMn{ecgi}}}{ALnAHf}{AMb{ALn{c}}}{{G`{e}}}{{G`{c}}}}{e{{AMj{ce}}}AHf{{Gh{c}}}}{e{{AN`{ce}}}AHf{{G`{c}}}}{e{{AMl{ce}}}AHf{{Gh{c}}}}{e{{ANb{ce}}}AHf{{G`{c}}}}````````{{{b{{AMn{ecgi}}}}{b{{AM`{ec}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}{ALnAHf}{AMb{ALn{c}}}{{G`{e}}}{{G`{c}}}}{{{b{{AN`{ce}}}}{b{{AMd{c}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}AHf{{G`{c}}}}{{{b{{ANb{ce}}}}{b{{AMf{c}}}}{b{d{Dj{Bj}}}}}{{j{hDl}}}AHf{{G`{c}}}}{{{b{{AM`{ec}}}}g}j{AI`ALnAHf}{AI`AMb{ALn{c}}}Ad}{{{b{{AMd{c}}}}e}j{AI`AHf}Ad}{{{b{{AMf{c}}}}e}j{AI`AHf}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{ANd}}}ANd}{{{b{ANf}}}ANf}{{{b{c}}{b{de}}}h{}{}}00{{{b{c}}}h{}}000{{}ANd}{{}ANf}{c{{j{Lb}}}l}{{{b{ANf}}{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{ANh}}{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{ANd}}{b{Lb}}{b{d{Dj{Bj}}}}}{{j{hDl}}}}{{{b{c}}}e{}{}}00{{{b{c}}}Dn{}}{c{{j{e}}}{}{}}0000000{{{b{c}}}Af{}}000``{{ANh{b{Cl}}}{{j{Lbc}}}Fb}8888","D":"IAd","p":[[1,"reference"],[0,"mut"],[5,"ActiveBlock",31],[1,"unit"],[6,"Result",3754],[10,"Deserializer",3755],[5,"Formatter",3756],[8,"Result",3756],[5,"Request",3757],[10,"Serializer",3758],[5,"TypeId",3759],[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",3760],[1,"u8"],[1,"slice"],[8,"IResult",3761],[10,"ParseError",3762],[10,"ContextError",3762],[1,"bool"],[6,"ModelsError",1950],[6,"PublicKey",3763],[5,"PublicKeyV0",3763],[1,"str"],[1,"u64"],[10,"Hash",3764],[10,"Sized",3765],[10,"BuildHasher",3764],[10,"Hasher",3764],[6,"Option",3766],[5,"Vec",3767],[6,"SerializeError",3768],[5,"String",3769],[5,"Amount",306],[5,"AmountSerializer",306],[5,"AmountDeserializer",306],[1,"u32"],[5,"AmountVisitor",306],[5,"Error",3756],[5,"Decimal",3770],[6,"Bound",3771],[1,"tuple"],[10,"Error",3755],[8,"SecureShareBlock",410],[5,"Block",410],[5,"FilledBlock",410],[8,"SecureShareOperation",2225],[5,"BlockSerializer",410],[5,"BlockDeserializer",410],[10,"Serializer",3768],[5,"SignatureDeserializer",3763],[5,"PublicKeyDeserializer",3763],[5,"SecureShare",2896],[10,"Deserializer",3768],[10,"Id",2896],[6,"BlockGraphStatus",410],[5,"BlockDeserializerArgs",410],[6,"KeyPair",3763],[6,"Signature",3763],[5,"BlockHeader",536],[5,"Hash",3772],[5,"BlockHeaderSerializer",536],[5,"BlockHeaderDeserializer",536],[5,"BlockHeaderDenunciationData",536],[8,"SecuredHeader",536],[5,"Slot",3225],[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",3755],[5,"CompactConfig",978],[5,"GENESIS_TIMESTAMP",1010],[5,"MassaTime",3773],[5,"END_TIMESTAMP",1010],[5,"GENESIS_KEY",1010],[5,"POS_MISS_RATE_DEACTIVATION_THRESHOLD",1010],[5,"Ratio",3774],[5,"VERSION",1010],[5,"Version",3671],[5,"CHAINID",1010],[5,"DatastoreSerializer",1211],[5,"DatastoreDeserializer",1211],[5,"BTreeMap",3775],[10,"Ord",3760],[6,"DeferredCallId",1245],[5,"DeferredCallIdV0",1245],[5,"DeferredCallIdSerializer",1245],[5,"DeferredCallIdDeserializer",1245],[5,"EndorsementDenunciation",1350],[5,"BlockHeaderDenunciation",1350],[6,"Denunciation",1350],[6,"DenunciationIndex",1350],[5,"DenunciationIndexSerializer",1350],[5,"DenunciationIndexDeserializer",1350],[5,"EndorsementDenunciationPrecursor",1350],[5,"BlockHeaderDenunciationPrecursor",1350],[6,"DenunciationPrecursor",1350],[5,"EndorsementDenunciationSerializer",1350],[5,"BlockHeaderDenunciationSerializer",1350],[5,"DenunciationSerializer",1350],[5,"EndorsementDenunciationDeserializer",1350],[5,"BlockHeaderDenunciationDeserializer",1350],[5,"DenunciationDeserializer",1350],[6,"DenunciationIndexTypeId",1350],[6,"DenunciationTypeId",1350],[6,"DenunciationError",1350],[6,"MassaSignatureError",3776],[8,"SecureShareEndorsement",1747],[10,"Error",3777],[5,"TryFromPrimitiveError",3778],[6,"EndorsementId",1747],[5,"EndorsementIdV0",1747],[5,"Endorsement",1747],[5,"EndorsementSerializer",1747],[5,"EndorsementSerializerLW",1747],[5,"EndorsementIdDeserializer",1747],[5,"EndorsementDeserializer",1747],[5,"EndorsementDeserializerLW",1747],[5,"EndorsementDenunciationData",1747],[6,"MassaHashError",3779],[5,"Error",3762],[6,"Err",3761],[6,"TimeError",3780],[5,"EventFilter",2005],[5,"LedgerChanges",2031],[5,"LedgerChange",2031],[8,"ModelsResult",1950],[5,"LedgerData",2031],[8,"PreHashSet",2754],[5,"LedgerDataDeserializer",2031],[5,"LedgerChangeDeserializer",2031],[5,"LedgerChangesSerializer",2031],[5,"LedgerDataSerializer",2031],[5,"LedgerChangeSerializer",2031],[5,"LedgerChangesDeserializer",2031],[5,"DenunciationIndex",3781],[5,"NodeId",2190],[6,"OperationId",2225],[5,"OperationIdV0",2225],[6,"OperationPrefixId",2225],[5,"OperationPrefixIdV0",2225],[5,"OperationIdSerializer",2225],[5,"OperationIdDeserializer",2225],[5,"Operation",2225],[6,"OperationType",2225],[5,"OperationPrefixIdsSerializer",2225],[5,"OperationsSerializer",2225],[5,"OperationSerializer",2225],[5,"OperationTypeSerializer",2225],[5,"OperationIdsSerializer",2225],[5,"OperationPrefixIdDeserializer",2225],[5,"OperationDeserializer",2225],[5,"OperationTypeDeserializer",2225],[5,"OperationIdsDeserializer",2225],[5,"OperationPrefixIdsDeserializer",2225],[8,"OperationPrefixIds",2225],[5,"OperationsDeserializer",2225],[6,"OperationTypeId",2225],[1,"array"],[5,"RangeInclusive",3771],[1,"u16"],[5,"SCOutputEvent",2691],[5,"EventExecutionContext",2691],[5,"HashMapper",2754],[10,"PreHashed",2754],[1,"usize"],[10,"CapacityAllocator",2754],[8,"PreHashMap",2754],[5,"RollUpdates",2777],[5,"RollUpdate",2777],[5,"RollCompensation",2777],[5,"RollCounts",2777],[5,"RollUpdateSerializer",2777],[5,"RollUpdateDeserializer",2777],[10,"Display",3756],[10,"SecureShareContent",2896],[10,"Clone",3782],[5,"SecureShareSerializer",2896],[5,"SecureShareDeserializer",2896],[10,"PartialEq",3760],[10,"Debug",3756],[10,"Serialize",3758],[5,"IpAddrSerializer",2988],[5,"IpAddrDeserializer",2988],[5,"VecU8Serializer",2988],[5,"VecU8Deserializer",2988],[5,"VecSerializer",2988],[5,"VecDeserializer",2988],[5,"PreHashSetSerializer",2988],[5,"PreHashSetDeserializer",2988],[5,"StringSerializer",2988],[10,"TryFrom",3783],[5,"StringDeserializer",2988],[10,"ToUsize",3784],[5,"BitVecSerializer",2988],[5,"BitVecDeserializer",2988],[6,"IpAddr",3785],[10,"Eq",3760],[5,"BitVec",3786],[10,"DeserializeMinBEInt",2988],[10,"SerializeMinBEInt",2988],[5,"SlotSerializer",3225],[5,"SlotDeserializer",3225],[5,"IndexedSlot",3225],[5,"Slot",3781],[5,"ExecutionStats",3343],[5,"NetworkStats",3343],[5,"ConsensusStats",3343],[5,"PoolStats",3343],[6,"StreamingStep",3436],[5,"StreamingStepDeserializer",3436],[5,"StreamingStepSerializer",3436],[10,"Applicable",3500],[6,"SetUpdateOrDelete",3500],[10,"Default",3787],[6,"SetOrDelete",3500],[6,"SetOrKeep",3500],[5,"SetUpdateOrDeleteDeserializer",3500],[5,"SetOrDeleteDeserializer",3500],[5,"SetOrKeepDeserializer",3500],[5,"SetUpdateOrDeleteSerializer",3500],[5,"SetOrDeleteSerializer",3500],[5,"SetOrKeepSerializer",3500],[5,"VersionSerializer",3671],[5,"VersionDeserializer",3671],[5,"VersionVisitor",3671],[15,"Endorsement",1744],[15,"BlockHeader",1744],[15,"Transaction",2678],[15,"CallSC",2678],[15,"ExecuteSC",2678],[15,"RollBuy",2678],[15,"RollSell",2678]],"r":[[963,978],[965,1210]],"b":[[137,"impl-Deserializer%3CUserAddressV0%3E-for-AddressDeserializer"],[138,"impl-Deserializer%3CSCAddress%3E-for-AddressDeserializer"],[139,"impl-Deserializer%3CUserAddress%3E-for-AddressDeserializer"],[140,"impl-Deserializer%3CSCAddressV0%3E-for-AddressDeserializer"],[141,"impl-Deserializer%3CAddress%3E-for-AddressDeserializer"],[168,"impl-Display-for-Address"],[169,"impl-Debug-for-Address"],[246,"impl-Serializer%3CSCAddress%3E-for-AddressSerializer"],[247,"impl-Serializer%3CAddress%3E-for-AddressSerializer"],[248,"impl-Serializer%3CUserAddressV0%3E-for-AddressSerializer"],[249,"impl-Serializer%3CSCAddressV0%3E-for-AddressSerializer"],[250,"impl-Serializer%3CUserAddress%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-Display-for-Block"],[462,"impl-Debug-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%3CBlockId%3E-for-BlockIdDeserializer"],[670,"impl-Deserializer%3CBlockIdV0%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-Display-for-PubkeySig"],[903,"impl-Debug-for-PubkeySig"],[990,"impl-Display-for-CompactConfig"],[991,"impl-Debug-for-CompactConfig"],[1295,"impl-Display-for-DeferredCallId"],[1296,"impl-Debug-for-DeferredCallId"],[1486,"impl-Debug-for-DenunciationError"],[1487,"impl-Display-for-DenunciationError"],[1505,"impl-From%3CSerializeError%3E-for-DenunciationError"],[1506,"impl-From%3CMassaSignatureError%3E-for-DenunciationError"],[1507,"impl-From%3C%26Denunciation%3E-for-DenunciationIndex"],[1509,"impl-From%3C%26DenunciationPrecursor%3E-for-DenunciationIndex"],[1516,"impl-From%3C%26SecureShare%3CBlockHeader,+BlockId%3E%3E-for-DenunciationPrecursor"],[1518,"impl-From%3C%26SecureShare%3CEndorsement,+EndorsementId%3E%3E-for-DenunciationPrecursor"],[1669,"impl-TryFrom%3C(%26DenunciationPrecursor,+%26DenunciationPrecursor)%3E-for-Denunciation"],[1670,"impl-TryFrom%3C(%26SecureShare%3CEndorsement,+EndorsementId%3E,+%26SecureShare%3CEndorsement,+EndorsementId%3E)%3E-for-Denunciation"],[1671,"impl-TryFrom%3C(%26SecureShare%3CBlockHeader,+BlockId%3E,+%26SecureShare%3CBlockHeader,+BlockId%3E)%3E-for-Denunciation"],[1807,"impl-Deserializer%3CEndorsementId%3E-for-EndorsementIdDeserializer"],[1808,"impl-Deserializer%3CEndorsementIdV0%3E-for-EndorsementIdDeserializer"],[1831,"impl-Display-for-EndorsementId"],[1832,"impl-Debug-for-EndorsementId"],[1834,"impl-Display-for-Endorsement"],[1835,"impl-Debug-for-Endorsement"],[1986,"impl-Debug-for-ModelsError"],[1987,"impl-Display-for-ModelsError"],[1988,"impl-From%3C%26str%3E-for-ModelsError"],[1989,"impl-From%3CSerializeError%3E-for-ModelsError"],[1990,"impl-From%3CMassaSignatureError%3E-for-ModelsError"],[1991,"impl-From%3CMassaHashError%3E-for-ModelsError"],[1992,"impl-From%3CErr%3CError%3C%26%5Bu8%5D%3E%3E%3E-for-ModelsError"],[1994,"impl-From%3CTimeError%3E-for-ModelsError"],[2206,"impl-Display-for-NodeId"],[2207,"impl-Debug-for-NodeId"],[2378,"impl-Deserializer%3COperationIdV0%3E-for-OperationIdDeserializer"],[2379,"impl-Deserializer%3COperationId%3E-for-OperationIdDeserializer"],[2412,"impl-Display-for-OperationId"],[2413,"impl-Debug-for-OperationId"],[2414,"impl-Debug-for-OperationIdV0"],[2415,"impl-Display-for-OperationIdV0"],[2416,"impl-Debug-for-OperationPrefixId"],[2417,"impl-Display-for-OperationPrefixId"],[2418,"impl-Display-for-OperationPrefixIdV0"],[2419,"impl-Debug-for-OperationPrefixIdV0"],[2421,"impl-Debug-for-Operation"],[2422,"impl-Display-for-Operation"],[2423,"impl-Display-for-OperationType"],[2424,"impl-Debug-for-OperationType"],[2561,"impl-Serializer%3COperationIdV0%3E-for-OperationIdSerializer"],[2562,"impl-Serializer%3COperationId%3E-for-OperationIdSerializer"],[2721,"impl-Display-for-SCOutputEvent"],[2722,"impl-Debug-for-SCOutputEvent"],[2723,"impl-Display-for-EventExecutionContext"],[2724,"impl-Debug-for-EventExecutionContext"],[2933,"impl-Debug-for-SecureShare%3CT,+ID%3E"],[2934,"impl-Display-for-SecureShare%3CT,+ID%3E"],[2940,"impl-SecureShare%3CBlockHeader,+BlockId%3E"],[2941,"impl-SecureShare%3CBlock,+BlockId%3E"],[3267,"impl-Debug-for-Slot"],[3268,"impl-Display-for-Slot"],[3269,"impl-Display-for-IndexedSlot"],[3270,"impl-Debug-for-IndexedSlot"],[3378,"impl-Display-for-ExecutionStats"],[3379,"impl-Debug-for-ExecutionStats"],[3380,"impl-Debug-for-NetworkStats"],[3381,"impl-Display-for-NetworkStats"],[3382,"impl-Display-for-ConsensusStats"],[3383,"impl-Debug-for-ConsensusStats"],[3384,"impl-Display-for-PoolStats"],[3385,"impl-Debug-for-PoolStats"],[3705,"impl-Display-for-Version"],[3706,"impl-Debug-for-Version"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACAKCgEiAAEAJQACACoAAAAsAAAALgAAADAAAAA0AAAANgAFAEAAAABCAAAARAAEAEoAAABMAAEATwA2AIcAKAC9AA8A0gAFAOAABwDtABcACgEoADgBAAA7AQcASgELAFcBAgBbAQgAawEDAHMBAwB6AQAAfgEAAIIBAgCGARMAqgELALgBBQDCAQAAxAEDAMkBCADYAQEA3QEBAOYBBQDxAQIA9wEDAP4BGgAfAg0AMgIDADgCBQA/AgIARgIAAEgCAABOAgUAWAIBAFwCAABgAgMAZQITAHoCAAB+Ai4AsQIDALYCAAC5AgMAvwICAMYCBADNAh0A7wISAAUDAAAJAwIADgMSACQDAQAnAwwANQMAADcDAgA9AwAAQQMCAEcDAABJAwwAYwMYAH0DBACDAwUAjgMEAJoDBACjAwQAqgMZAMcDAADVAwYA3QMAAN8DAQDiAwAA5QMAAOoDAADtAwUAeAQXAJ0EHQC/BAMAxAQAAMsEAwDTBA0A4wQCAOgEKgAZBQYAIQUBACcFAwAuBRoASgUAAFYFAABZBQIAXQUAAGMFRwCtBSgA4AUAAOIFAgDmBQAA6AUAAO0FAADvBQoA+wUEAAIGAQAGBgUADwYAABIGCQAdBgIAMgYRAFIGBABZBgcAYwYHAG0GYwDUBgEA3AYBAN8GAQDkBiUADgcDABQHAwAZBxQANwcDADwHBwBGBwIAUgcJAF8HAABiBwEAZQcCAGsHAABtBwIAcQctAL4HCwDLBwEAzgcHANcHBgDgBwAA4gcAAOQHAADpBwAA6wcEAPkHBQAECBEAGAgFAB8ICwAuCAUAPQgCAEoICABVCAMAYAgBAGMIAABlCAAAZwgmAI8IAACRCA8AoggAAKQIAACmCAAAqAgAAKoICAC0CAAAtggAALsIAAC/CAEAxAgAAMcIAQDPCAAA0wgAANUIAADYCAAA2ghYADcJCgBHCQcAUAkZAGsJAABtCQwAjwkJAJoJAgCeCQUAqQkFALAJAADHCRcA5wkAAO4JCQD6CQAA/gkIAAoKbACHCgMAjAoHAJYKDwCoCgEArQoBALIKAAC0CgEAtwoLAMkKAgDOCgAA0AoFAOIKCwDwCgcA+goEAAALAwAFCwcAEwsDAB4LBQAtCwMAMwsdAFYLBQBdCwYAawsBAG4LAQBxCwYAewsBAIkLAwCRCwAAkwsBAJsLDACqCwIAvAtKABQMCwAsDBIASwwJAFYMLwCHDAEAiwwOAJ8MKADJDAAAzgwEANUMAQDZDAEA4AwDAO0MAADvDAQA+QwWABcNBwAgDQwAMw0HAD8NAgBHDQMATg0DAFYNFgBzDREAhg0AAIoNAACODQIAkw0TALUNAQC4DQEAuw0BAL8NAgDDDTMAAA4KABQORABcDh8AgA4DAIkOAwCODgEAkg4YAA=="}],\ +["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}}}{}{}}0000{Bd{{j{Ed{Ej{Ed}}}}}}{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":"FFNNONNNNNNHONNNNNNNNOOONNNNNNNNNNNOHNNHHONNOOOHOCHCNNNNNNNNNNNNNFFFFFFFFFFFFFFFFFFNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNOOFFNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNONNNNNNNNNN","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_datastore_keys_query","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_datastore_keys_query","max_datastore_keys_query","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"],[755,"massa_node::survey"],[799,"clap_builder::builder::command"],[800,"massa_grpc::config"],[801,"massa_signature::signature_impl"],[802,"massa_final_state::controller_trait"],[803,"parking_lot::rwlock"],[804,"alloc::sync"],[805,"massa_models::amount"],[806,"rkyv::with"],[807,"core::result"],[808,"clap_builder::parser::matches::arg_matches"],[809,"clap_builder"],[810,"clap_builder::util::id"],[811,"core::option"],[812,"tonic::request"],[813,"massa_wallet"],[814,"std::sync::mutex"],[815,"std::sync::condvar"],[816,"massa_consensus_exports::events"],[817,"massa_channel::receiver"],[818,"massa_bootstrap::server"],[819,"massa_consensus_exports::controller_trait"],[820,"alloc::boxed"],[821,"massa_execution_exports::controller_traits"],[822,"massa_pos_exports::controller_traits"],[823,"massa_pool_exports::controller_traits"],[824,"massa_protocol_exports::controller_trait"],[825,"massa_factory_exports::controller_traits"],[826,"massa_event_cache::worker"],[827,"massa_api"],[828,"massa_grpc::server"],[829,"massa_metrics"],[830,"core::alloc::layout"],[831,"alloc::string"],[832,"std::path"],[833,"anyhow"],[834,"core::any"],[835,"dyn_clone::sealed"],[836,"serde::de"],[837,"core::fmt"],[838,"core::time"],[839,"massa_time"],[840,"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,59,5,59,5,5,64,64,5,56,5,59,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}{c{{Al{Fj}}}Hj}2{c{{Al{Fl}}}Hj}33{c{{Al{Fn}}}Hj}{c{{Al{G`}}}Hj}55{c{{Al{Gb}}}Hj}{c{{Al{Gd}}}Hj}77{c{{Al{Gf}}}Hj}8{c{{Al{Gh}}}Hj}{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":"ADl","p":[[5,"Command",799],[1,"reference"],[0,"mut"],[6,"ServiceName",800],[5,"GrpcSettings",65],[6,"KeyPair",801],[10,"FinalStateController",802],[8,"RwLock",803],[5,"Arc",804],[5,"Amount",805],[5,"GrpcConfig",800],[1,"usize"],[5,"With",806],[6,"Result",807],[1,"unit"],[5,"ArgMatches",808],[5,"Args",0],[8,"Error",809],[5,"Id",810],[6,"Option",811],[5,"Request",812],[5,"Wallet",813],[1,"bool"],[5,"Mutex",814],[5,"Condvar",815],[1,"tuple"],[6,"ConsensusEvent",816],[5,"MassaReceiver",817],[5,"BootstrapManager",818],[10,"ConsensusManager",819],[5,"Box",820],[10,"ExecutionManager",821],[10,"SelectorManager",822],[10,"PoolManager",823],[10,"ProtocolManager",824],[10,"FactoryManager",825],[10,"EventCacheManager",826],[5,"StopHandle",827],[5,"StopHandle",828],[5,"MetricsStopper",829],[5,"MassaSurveyStopper",755],[5,"Layout",830],[5,"LayoutError",830],[5,"String",831],[5,"Path",832],[1,"u64"],[8,"Result",833],[5,"Managers",0],[5,"TypeId",834],[10,"Any",834],[5,"Private",835],[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",836],[5,"Formatter",837],[8,"Result",837],[5,"Duration",838],[10,"ExecutionController",821],[10,"PoolController",823],[5,"MassaMetrics",829],[1,"u8"],[5,"MassaTime",839],[5,"MipStore",840],[5,"MassaSurvey",755]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAHkCQAABABcAGwAEACIABQApAAAAKwADADAAAQAzAA4AQwAAAEYAAABKAAMAUAAWAGkAAQBtAAEAcgACAHYAAAB5AAMAfgAkAKoAAACvADIA4wAAAOUAAQDoAEoANAESAEkBAABNAQAAUAEXAHwBEACOAQIAlAERAKcBAACpAQAAqwEAAL8BEgDTARcA7AEAAPIBAAD0AQAA9gEAAP0BAAD/AQAAAQIAAAUCAAAJAgEAEAIBABUCAAAXAgIAHAIAAB4CAAAgAgAAIgICACkCAQAsAhQAQgIAAEQCAABGAgEASQIBAE0CAABRAgAAUwIAAF8CEAByAjUAqQJYAAQDAgAJAxYA"}],\ ["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_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}}}}{{bh}Dh}{{}Bl}0{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}}}}{{b{f{d}}h{n{{l{j}}}}}Ef}{{}Bl}{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_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{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{{{Bf{If}}{Bf{{Hd{Cn}}}}}{{Ij{{Bf{{Hd{Cn}}}}Ihc}}}{{Il{{Bf{{Hd{Cn}}}}}}{In{{Bf{{Hd{Cn}}}}}}}}1111111{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{}}00000{{{Bf{Ih}}}J`}11{{{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}}}{}{}}000{Jh{{Bd{Ld{Jj{Ld}}}}}}1{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}}}{}{}}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}}}{}{}}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}{LbAAj}{MhAAj}{cc{}}{IhAAj}{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%3CEndorsementMessage%3E-for-Message"],[1978,"impl-From%3COperationMessage%3E-for-Message"],[1980,"impl-From%3CBlockMessage%3E-for-Message"],[1981,"impl-From%3CPeerManagementMessage%3E-for-Message"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFwHmwAAAAMABQADAAsAEAAdAAEAIAAYADoAAgA+ABgAWAADAF4AAgBiAAAAZgAfAIcAAACJAAQAjwAIAJkAAACbAAEAngADAKMAAACmAAEAqQAJALYACwDDAAEAxgAKANMAAQDWAAkA4QABAOQACgDzAAQA+QAAAPsAAAD/AAIAAwEAAAYBAAAJAV4AbgEAAHEBDACGAWgA8wECAPoBAwAAAggADAIBABACAwAWAgEAGQIBAB0CDQAsAgUAMwIGADsCDgBMAgAATgIAAFECAQBVAgMAWgIDAGQCAQBnAgUAbgIFAHUCDACDAg0AkgIAAJQCDgCkAgIAqAIDAK4CAACyAgEAtgIGAL4CDQDNAgEA0AISAOQCAADmAg0A9QI3ADADAAAzAwcAQAM9AH8DCgCLAwAAjQMCAJEDCwCeAwgAqAMBAKsDAgCvAwIAswMWAMsDAADNAxAA3wMCAOQDAwDpAwAA7QMBAPIDBgD6AwEA/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}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_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_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_pos_exports::error"],[623,"serde_json::error"],[624,"std::io::error"],[625,"massa_versioning::versioning_factory"],[626,"massa_models::error"],[627,"massa_time::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,"PosError",622],[5,"Error",623],[5,"Error",624],[6,"FactoryError",625],[6,"ModelsError",626],[6,"TimeError",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%3CPosError%3E-for-ProtocolError"],[363,"impl-From%3CError%3E-for-ProtocolError"],[364,"impl-From%3CError%3E-for-ProtocolError"],[366,"impl-From%3CFactoryError%3E-for-ProtocolError"],[367,"impl-From%3CModelsError%3E-for-ProtocolError"],[368,"impl-From%3CTimeError%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{c}}{Bf{Ble}}}{{Bd{{Cb{gi}}}}}{}{}{}{}}{{{Bf{If}}{Bf{{Hd{Cn}}}}}{{Ij{{Bf{{Hd{Cn}}}}Ihc}}}{{Il{{Bf{{Hd{Cn}}}}}}{In{{Bf{{Hd{Cn}}}}}}}}1111111{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{}}00000{{{Bf{Ih}}}J`}11{{{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}}}}}{}{}{}{}}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{}}000{{{Bf{Lb}}}Ld}1{{{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{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{}}00{{{Bf{Od}}}Oj}11{{{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}{LbAAj}{MhAAj}{OdAAj}{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%3CEndorsementMessage%3E-for-Message"],[1978,"impl-From%3COperationMessage%3E-for-Message"],[1979,"impl-From%3CPeerManagementMessage%3E-for-Message"],[1980,"impl-From%3CBlockMessage%3E-for-Message"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFwHmgAAAAMABQADAAsAEAAdAAEAIAAYADoAAgA+ABgAWAADAF4AAgBiAAAAZgAfAIcAAACJAAQAjwAIAJkAAACbAAEAngADAKMAAACmAAEAqQAJALYACwDDAAEAxgAKANMAAQDWAAkA4QABAOQACgDzAAQA+QAAAPsAAAD/AAIAAwEAAAYBAAAJAV4AbgEAAHEBDACGAWgA8wECAPoBAwAAAggADAIBABACAwAWAgEAGQIBAB0CDQAsAgUAMwIGADsCDgBMAgAATgIAAFECAQBVAgMAWgIDAGQCAQBnAgUAbgIFAHUCDACDAg0AkgIAAJQCDgCkAgIAqAIDAK4CAACyAgEAtgIGAL4CDQDNAgEA0AISAOQCAADmAg0A9QI3ADEDAAAzAwcAQAM9AH8DCgCLAwAAjQMCAJEDCwCeAwgAqAMBAKsDAgCvAwIAswMWAMsDAADNAxAA3wMCAOQDAwDpAwAA7QMBAPIDBgD6AwEA/QMKAAkEAQAMBBYAJAQBACcECgAzBAMAOAQAADoEAAA8BAsASQQhAG4EAABxBAcAfgQJAJAEPgDQBAEA0wQFANoECQDlBAQA6wQNAPsEAQD+BAAAAQUEAAgFAQALBQAADQUaACkFEgA+BQMARAVWAJ8FAgCjBQMAqwUJALYFCADCBSUA6QUxAB4GAAAhBggALwYOAEAGlADbBgcA5AYCAOgGCAD3BhQADQcPAB4HBQAlBzMAWgcBAF0HAQBgBwoAbAcGAHQHAAB2BwMAewdCAL8HAADDBwgA0AcSAOQHIwAKCAUAEQgFABgIAAAaCAUAIQgQADMIDABBCCcA"}],\ +["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,"http::uri"],[208,"tonic::transport::error"],[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{}}0000{BhBb}{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,"InvalidUri",207],[5,"Error",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"],[42,"impl-From%3CInvalidUri%3E-for-ClientError"],[43,"impl-From%3CError%3E-for-ClientError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFkAEAALAAAAEAAJAB8AAAAkAAEAKwABADQAAQBAAAIASQAEAGkAAABvABcAjAAFAJUACACgAAIApgACAK4AAgC3AA4A"}],\ +["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-Display-for-SerializeError"],[124,"impl-Debug-for-SerializeError"],[125,"impl-Debug-for-DeserializeError%3C\'a%3E"],[126,"impl-Display-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-Display-for-MassaSignatureError"],[28,"impl-Debug-for-MassaSignatureError"],[113,"impl-Debug-for-KeyPair"],[114,"impl-Display-for-KeyPair"],[116,"impl-Debug-for-PublicKey"],[117,"impl-Display-for-PublicKey"],[118,"impl-Debug-for-PublicKeyV0"],[119,"impl-Display-for-PublicKeyV0"],[120,"impl-Display-for-Signature"],[121,"impl-Debug-for-Signature"],[122,"impl-Debug-for-SignatureV0"],[123,"impl-Display-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_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}{Eln}{cc{}}0000000{{{b{Bl}}}Ch}111{{{b{Cj}}}Cl}22222222{DlEd}33{EnEj}44{cn{}}{{{b{c}}}c{}}0000000000000000{{{b{A`}}{b{n}}}{{E`{El}}}}{{{b{B`}}{b{n}}}{{E`{El}}}}{{{b{A`}}{b{n}}}{{Eb{ElCh}}}}{{{b{B`}}{b{n}}}{{Eb{ElCh}}}}{{{b{c}}{b{e}}}F`{FbFd}Ff}{{{b{A`}}{b{n}}Bh}El}{{{b{B`}}{b{n}}Bh}El}{{{b{A`}}}{{Eb{AhCh}}}}{{{b{A`}}Bh}El}{{{b{A`}}}El}{{{b{A`}}}{{Bj{El}}}}{{{b{B`}}}{{Fh{ElF`}}}}{{{b{n}}{b{dc}}}hFj}`{ce{}{}}0000000000000000000000{c{{Ab{e}}}{}{}}0000000000000000000000{{{b{Aj}}{b{Ah}}}{{l{hDh}}}}{{{b{A`}}FlFlBbBhBh}{{l{hEj}}}}{{{b{B`}}FlFlBbBhBh}{{l{hEj}}}}{{{b{Bl}}}Df}{{{b{Aj}}}Df}{{{b{A`}}{b{{Bd{Bb}}}}{b{{Bd{Bb}}}}}Df}{{{b{B`}}{b{{Bd{Bb}}}}{b{{Bd{Bb}}}}}Df}`{BhBl}``{BhAj}{D`Db}``{{BlCj}Bl}{{BnCj}Bl}{{C`Cj}Bl}{{CbCj}Bl}{{CdCj}Cd}{{CfCj}Cf}{{{b{dAj}}{b{Cj}}}h}{{{b{n}}{b{n}}}{{Bj{Dd}}}}{{{b{Ah}}{b{Ah}}}{{Bj{Dd}}}}{{{b{Ch}}{b{Ch}}}{{Bj{Dd}}}}{{{b{Cl}}{b{Cl}}}{{Bj{Dd}}}}{{{b{dDb}}}h}{{{b{A`}}Dn}h}{{{b{Aj}}}{{Bj{Aj}}}}{{{b{Ed}}}{{Bj{{b{Fn}}}}}}{{{b{Ej}}}{{Bj{{b{Fn}}}}}}``{{{G`{F`}}}Bl}`{{{b{Aj}}BhBhBhBh}{{l{ChDj}}}}``````{{{b{c}}}e{}{}}0000000000000000{{{b{c}}}Gb{}}00000{c{{l{e}}}{}{}}00000000{El{{l{Ch{Gd{Ch}}}}}}111111{{{Al{{An{{Al{AhAj}}}}D`}}}{{l{A`c}}}{}}22222222{{{Al{{An{{Al{AhAj}}}}D`}}}{{l{B`c}}}{}}{{DnD`}{{l{A`Ed}}}}{{DnD`}{{l{B`Ed}}}}{c{{l{Ch{Gd{Ch}}}}}{}}66666666666666666666666{{{b{c}}}Ad{}}0000000000000000000000{{{b{A`}}{b{dGf}}{b{dGf}}{Bj{{Al{{b{Bh}}{b{Bh}}}}}}}{{l{hGh}}}}{{{b{B`}}{b{dGf}}{b{dGf}}{Bj{{Al{{b{Bh}}{b{Bh}}}}}}}{{l{hGh}}}}{{{b{dA`}}FlFlBbBhBh}{{l{hEn}}}}{{{b{dB`}}FlFlBbBhBh}{{l{hEn}}}}{{{b{dA`}}Bh{Bj{{Al{El{Bj{El}}}}}}}h}{{{b{dB`}}Bh{Bj{{Al{El{Bj{El}}}}}}}h}{{{b{dA`}}{b{A`}}}{{l{{Al{{E`{Ah}}{Eb{AhAj}}}}Dl}}}}{{{b{dB`}}{b{B`}}}{{l{{Al{{E`{Ah}}{Eb{AhAj}}}}Dl}}}}``{ce{}{}}0000000000000000000000`````````````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{Gj}}}Gj}{{{b{j}}}j}{{{b{c}}{b{de}}}h{}{}}0{{{b{c}}}h{}}0{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}{b{g}}j}{{l{ce}}}{}{}{}}{{{b{Gj}}{b{dEf}}}Eh}0{{{b{j}}{b{dEf}}}Eh}{cc{}}0{Elj}{{{b{c}}}c{}}0{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}}{{E`{El}}}{}{}{}}{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}}{{Eb{ElCh}}}{}{}{}}{{}n}{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}j}{{l{ElGj}}}{}{}{}}{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}Bh}{{l{ElGj}}}{}{}{}}{{{b{{Hb{}{{Gl{c}}{Gn{e}}{H`{g}}}}}}}A`{}{}{}}{ce{}{}}0{c{{Ab{e}}}{}{}}0{{{b{c}}}e{}{}}0{{{b{c}}}Gb{}}{c{{l{e}}}{}{}}000{{{b{c}}}Ad{}}055````````````````````{{{b{c}}}{{b{e}}}{}{}}00000000000{{{b{dc}}}{{b{de}}}{}{}}00000000000``{{}Hd}{{}Hf}{{}Hh}{{}Hj}{{}Hl}{{}Hn}{{}I`}{{}Ib}{{}Id}{{}If}{{{b{Hf}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}Ahc}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}{{{b{Hj}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}Blc}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}{{{b{Hn}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}Clc}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}{{{b{Ib}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}Ajc}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}{{{b{In}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}Dbc}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}{{{b{J`}}{b{{Bd{Bb}}}}}{{Ih{{b{{Bd{Bb}}}}B`c}}}{{Ij{{b{{Bd{Bb}}}}}}{Il{{b{{Bd{Bb}}}}}}}}`{cc{}}00000000000``{ce{}{}}00000000000{c{{Ab{e}}}{}{}}00000000000`{{}Hd}{{}Hf}{{}Hh}{{}Hj}{{}Hl}{{}Hn}{{}I`}{{}Ib}{{}Id}{{Jb{G`{F`}}}In}{{}If}{{Jb{G`{F`}}}J`}````{{{b{Hd}}{b{Ah}}{b{d{E`{Bb}}}}}{{l{hGh}}}}{{{b{Hh}}{b{Bl}}{b{d{E`{Bb}}}}}{{l{hGh}}}}{{{b{Hl}}{b{Cl}}{b{d{E`{Bb}}}}}{{l{hGh}}}}{{{b{I`}}{b{Aj}}{b{d{E`{Bb}}}}}{{l{hGh}}}}{{{b{Id}}{b{Db}}{b{d{E`{Bb}}}}}{{l{hGh}}}}{{{b{If}}{b{B`}}{b{d{E`{Bb}}}}}{{l{hGh}}}}``````````````{c{{l{e}}}{}{}}00000000000000000000000{{{b{c}}}Ad{}}00000000000``````````{ce{}{}}00000000000","D":"AFl","p":[[1,"reference"],[0,"mut"],[5,"AddressFactory",7],[1,"unit"],[6,"FactoryStrategy",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-Debug-for-IsConsistentError"],[303,"impl-Display-for-IsConsistentError"],[305,"impl-Debug-for-StateAtError"],[306,"impl-Display-for-StateAtError"],[310,"impl-Display-for-UpdateWithError"],[311,"impl-Debug-for-UpdateWithError"],[312,"impl-Debug-for-ExtendFromDbError"],[313,"impl-Display-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":"OzAAAAEAAJkCNwABABIAFgACABsAFAAxAAIANQAHAD4AAgBCAAQASAABAEsACABWAAYAXwABAGIAAQBrAAMAcAABAHMAAwB4AAMAfwAAAIEAcQD0ACwAIgEeAEkBAABNAQAAVgEAAFkBAABcAREAcgEAAHkBAgCTARYAqwEAAK0BAACvAQMAtAEAALYBAAC5AQAAwAEFAMcBAQDLAQEAzgEBANQBMAAHAi8AOAIEAD8CGABeAgEAYQIBAGQCCQBvAgIAdAICAH8CDACOAgEAkgIAAJQCAQCeAiwA1wIBAOUCDAD+AlEA"}],\ +["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_yaml::error"],[119,"serde_qs::error"],[120,"std::io::error"],[121,"massa_signature::error"],[122,"massa_cipher::error"],[123,"massa_hash::error"],[124,"massa_models::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}{Ddn}{Dfn}{cc{}}{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],[5,"Error",118],[6,"Error",119],[5,"Error",120],[6,"MassaSignatureError",121],[6,"CipherError",122],[6,"MassaHashError",123],[6,"ModelsError",124],[10,"Error",125]],"r":[[10,73]],"b":[[34,"impl-Debug-for-Wallet"],[35,"impl-Display-for-Wallet"],[85,"impl-Debug-for-WalletError"],[86,"impl-Display-for-WalletError"],[87,"impl-From%3CError%3E-for-WalletError"],[88,"impl-From%3CError%3E-for-WalletError"],[89,"impl-From%3CError%3E-for-WalletError"],[90,"impl-From%3CMassaSignatureError%3E-for-WalletError"],[91,"impl-From%3CCipherError%3E-for-WalletError"],[92,"impl-From%3CMassaHashError%3E-for-WalletError"],[93,"impl-From%3CModelsError%3E-for-WalletError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADwADwAJAAAADwAEABUABgAdAAMAIwACACgAAQAuAAEAMgABADUAAAA3AAAAOQABADwACwBJAAAAVAAKAGEABgA="}],\ ["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/massa_api-desc-0-.js b/search.desc/massa_api/massa_api-desc-0-.js index 3f5a91446cb..01e9ac63735 100644 --- a/search.desc/massa_api/massa_api-desc-0-.js +++ b/search.desc/massa_api/massa_api-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("massa_api", 0, "Copyright (c) 2022 MASSA LABS info@massa.net Json RPC API …\nThe API wrapper\nUsed to manage the API\nAPI v2 content\nServer trait implementation for the MassaRpc RPC API.\nPrivate API content\nPublic API component\nUsed to manage the API\nUsed to be able to stop the API\nAdd a vector of new secret(private) keys for the node to …\nCopyright (c) 2022 MASSA LABS info@massa.net Json RPC API …\nAPI settings\nAPI settings\nAPI settings\nCopyright (c) 2022 MASSA LABS info@massa.net Json RPC API …\nchannels with information broadcasted by the consensus\nlink to the consensus component\nlink to the consensus component\nExecute bytecode in read-only mode.\nExecute an SC function in read-only mode.\nlink to the execution component\nlink to the execution component\nlink to the execution component\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet addresses.\nGet addresses bytecode.\nGet information on the block at a slot in the blockclique. …\nReturns block(s) information associated to a given list of …\nGet cliques.\nGet multiple datastore entries.\nList deferred calls for given slot\nDeferredCall get info\nDeferredCall quote\nReturns endorsement(s) information associated to a given …\nGet events optionally filtered by:\nGet the block graph within the specified time interval. …\nGet OpenRPC specification.\nReturns operation(s) information associated to a given …\nGet all the transfers for a slot\nReturns the active stakers and their active roll counts …\nReturn hash set of staking addresses.\nSummary of the current state: time, last final blocks …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCollects all the methods and subscriptions defined in the …\nkeypair factory\ngenerate a new public API\ngenerate a new massa API\ngenerate a new private API\nAdd IP address(es) to node bootstrap blacklist.\nAdd IP address(es) to node bootstrap whitelist.\nAdd IP address(es) to node peers whitelist. No …\nBans given node id. No confirmation to expect.\nBans given IP address(es). No confirmation to expect.\nReturns node bootstrap blacklist IP address(es).\nReturns node bootstrap whitelist IP address(es).\nAllow everyone to bootstrap from the node. remove …\nour node id\nReturns node peers whitelist IP address(es).\nRemove IP address(es) to bootstrap blacklist.\nRemove IP address(es) to bootstrap whitelist.\nRemove from peers whitelist given IP address(es). keep it …\nSign message with node’s key. Returns the public key …\nUnban given node id. No confirmation to expect.\nUnban given IP address(es). No confirmation to expect.\nUser wallet\nchannels with information broadcasted by the pool\nlink to the pool component\nCopyright (c) 2022 MASSA LABS info@massa.net\nProtocol config\nlink to the protocol component\nlink to the protocol component\nCopyright (c) 2022 MASSA LABS info@massa.net\nRemove a vector of addresses used to stake. No …\nlink to the selector component\nAdds operations to pool. Returns operations that were ok …\nStart the API\nStart the API\nstop the API gracefully\nMechanism by which to gracefully shut down. To be a clone …\nGracefully stop the node.\nMassa storage\nnode version (TODO remove, can be retrieved via an …\nnode version\nServer trait implementation for the MassaApi RPC API.\nGet the active stakers and their active roll counts for …\nGet the ids of best parents for the next block to be …\nGet Massa node version.\nCollects all the methods and subscriptions defined in the …\nNew produced block.\nNew produced blocks headers.\nNew produced blocks with operations content.\nNew produced operations.\nGet length of the given file if it exists(or create it if …\nRead bootstrap list IP(s) from json file\nRun Search, Create, Read, Update, Delete operation on …\nWrite bootstrap list IP(s) from json file\nChecks the validity of an input operation.") \ No newline at end of file +searchState.loadedDescShard("massa_api", 0, "Copyright (c) 2022 MASSA LABS info@massa.net Json RPC API …\nThe API wrapper\nUsed to manage the API\nAPI v2 content\nServer trait implementation for the MassaRpc RPC API.\nPrivate API content\nPublic API component\nUsed to manage the API\nUsed to be able to stop the API\nAdd a vector of new secret(private) keys for the node to …\nCopyright (c) 2022 MASSA LABS info@massa.net Json RPC API …\nAPI settings\nAPI settings\nAPI settings\nCopyright (c) 2022 MASSA LABS info@massa.net Json RPC API …\nchannels with information broadcasted by the consensus\nlink to the consensus component\nlink to the consensus component\nExecute bytecode in read-only mode.\nExecute an SC function in read-only mode.\nlink to the execution component\nlink to the execution component\nlink to the execution component\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet keys gor given address\nGet addresses.\nGet addresses bytecode.\nGet information on the block at a slot in the blockclique. …\nReturns block(s) information associated to a given list of …\nGet cliques.\nGet multiple datastore entries.\nList deferred calls for given slot\nDeferredCall get info\nDeferredCall quote\nReturns endorsement(s) information associated to a given …\nGet events optionally filtered by:\nGet the block graph within the specified time interval. …\nGet OpenRPC specification.\nReturns operation(s) information associated to a given …\nGet all the transfers for a slot\nReturns the active stakers and their active roll counts …\nReturn hash set of staking addresses.\nSummary of the current state: time, last final blocks …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCollects all the methods and subscriptions defined in the …\nkeypair factory\ngenerate a new private API\ngenerate a new public API\ngenerate a new massa API\nAdd IP address(es) to node bootstrap blacklist.\nAdd IP address(es) to node bootstrap whitelist.\nAdd IP address(es) to node peers whitelist. No …\nBans given node id. No confirmation to expect.\nBans given IP address(es). No confirmation to expect.\nReturns node bootstrap blacklist IP address(es).\nReturns node bootstrap whitelist IP address(es).\nAllow everyone to bootstrap from the node. remove …\nour node id\nReturns node peers whitelist IP address(es).\nRemove IP address(es) to bootstrap blacklist.\nRemove IP address(es) to bootstrap whitelist.\nRemove from peers whitelist given IP address(es). keep it …\nSign message with node’s key. Returns the public key …\nUnban given node id. No confirmation to expect.\nUnban given IP address(es). No confirmation to expect.\nUser wallet\nchannels with information broadcasted by the pool\nlink to the pool component\nCopyright (c) 2022 MASSA LABS info@massa.net\nProtocol config\nlink to the protocol component\nlink to the protocol component\nCopyright (c) 2022 MASSA LABS info@massa.net\nRemove a vector of addresses used to stake. No …\nlink to the selector component\nAdds operations to pool. Returns operations that were ok …\nStart the API\nStart the API\nstop the API gracefully\nMechanism by which to gracefully shut down. To be a clone …\nGracefully stop the node.\nMassa storage\nnode version (TODO remove, can be retrieved via an …\nnode version\nServer trait implementation for the MassaApi RPC API.\nGet the active stakers and their active roll counts for …\nGet the ids of best parents for the next block to be …\nGet Massa node version.\nCollects all the methods and subscriptions defined in the …\nNew produced block.\nNew produced blocks headers.\nNew produced blocks with operations content.\nNew produced operations.\nGet length of the given file if it exists(or create it if …\nRead bootstrap list IP(s) from json file\nRun Search, Create, Read, Update, Delete operation on …\nWrite bootstrap list IP(s) from json file\nChecks the validity of an input operation.\nConvert GetAddressDatastoreKeys to …") \ No newline at end of file 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..885e19007cc 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\nDatastore keys entry query input structure\nResponse object for datastore keys query\nactive rolls\nthe address\nthe address\nAddress\nThe address for which to get the datastore keys\nThe address for which to get the datastore keys\ncandidate balance\ncandidate balance\ncandidate datastore keys\ncandidate roll count\ncandidate rolls\nOnly essential info about an address\nThe count of keys to return\ncreated blocks\ncreated endorsements\ncreated operations\ncycle information\ndeferred credits\nThe end key to filter the keys\nfinal balance\nfinal balance\nfinal datastore keys\nfinal roll count\nfinal rolls\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\ninclusive end key\ninclusive start key\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\ntrue means final false means candidate\nfinal true means final\nfinal true means final\nkeys list\nnext block draws\nnext endorsement draws\nThe prefix to filter the keys\nThe start key to filter the keys\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 …\nLimit the number of addresses in a single datastore keys …\nmax argument count\nmaximum number of incoming connections allowed.\nmax datastore key length\nmax datastore keys queries\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..b59c5f78ec4 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 …\nlist of keys (keys, address, is_final)\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\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\nMaximum number of keys to return\nMaximum number of keys to return\ncycle to query\nEnd bound\nEnd bound\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 …\nBound to start from\nBound to start from\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 …\nlist of keys (keys, address, is_final)\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\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\nMaximum number of keys to return\nMaximum number of keys to return\ncycle to query\nEnd bound\nEnd bound\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 …\nBound to start from\nBound to start from\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..718f7757902 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 …\nA file describing an optimized datastore keys traversal …\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 …\nGets a copy of a datastore keys for a given address\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 diff --git a/search.desc/massa_grpc/massa_grpc-desc-0-.js b/search.desc/massa_grpc/massa_grpc-desc-0-.js index e51610ded90..3c63acede08 100644 --- a/search.desc/massa_grpc/massa_grpc-desc-0-.js +++ b/search.desc/massa_grpc/massa_grpc-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("massa_grpc", 0, "Overview\nSlot range type\nBlock producer address (Optional)\nCheck if the slot range is valid\ngRPC configuration\nEndorsement draws\nmodels error\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\ngRPC API implementation\nEndorsement index\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nbusiness code for node management methods\nProducer address\nbusiness code for non stream methods\ngRPC service initialization and serve\nSlot\nbusiness code for stream methods\ngRPC API configuration.\ngRPC configuration. the gRPC configuration\nPrivate service name\nPublic service name\ngRPC service name\nwhich compression encodings does the server accept for …\nwhether to accept HTTP/1.1 requests\nbind for the Massa gRPC API\ncertificate authority root path\nchain id\nclient certificate authority root path\nclient certificate path\nclient private key path\nset the concurrency limit applied to on requests inbound …\nwhen looking for next draw we want to look at max …\nwhether to enable CORS. Works only if accept_http1 is true\nwhether to enable gRPC health service\nwhether to enable mTLS (requires enable_tls to be true)\nwhether to enable gRPC reflection\nwhether to enable TLS\nwhether to enable gRPC\nendorsement count\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nwhether to generate a self-signed certificate if none is …\ngenesis_timestamp\nsets whether to use an adaptive flow control. Defaults to …\nset whether HTTP2 Ping frames are enabled on accepted …\nsets a timeout for receiving an acknowledgement of the …\nsets the max connection-level flow control for HTTP2. …\nsets the SETTINGS_INITIAL_WINDOW_SIZE spec option for …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nkeypair file\nlast_start_period of the network, used to deserialize …\nmax number of addresses that can be included in a single …\nmax number of arguments per gRPC request\nmax number of block ids that can be included in a single …\nlimits the maximum size of streaming channel\nsets the SETTINGS_MAX_CONCURRENT_STREAMS spec option for …\nmax op datastore entries per request\nmax datastore value length\nlimits the maximum size of a decoded message. Defaults to …\nmax denunciations in block header\nlimits the maximum size of an encoded message. Defaults to …\nmax number of endorsement ids that can be included in a …\nmax endorsements per message\nmax number of filters that can be included in a single …\nsets the maximum frame size to use for HTTP2. If not set, …\nmax function name length\nmax gas per block\nmax op datastore entry\nmax datastore key length\nmax datastore value length\nmax number of operation ids that can be included in a …\nmax operations per block\nmax operations per message in the network to avoid sending …\nmax parameter size\nmax number of query items that can be included in a single …\nmax number of slot ranges that can be included in a single …\nminimal fees\nwhether to enable gRPC\nperiods per cycle\nPrivate server gRPC configuration.\nPublic server gRPC configuration.\nwhich compression encodings might the server use for …\nserver certificate path\nserver private key path\nSubject Alternative Names is an extension in X.509 …\nt0\nset whether TCP keepalive messages are enabled on accepted …\nset the value of TCP_NODELAY option for accepted …\nthread count\nset a timeout on for all request handlers\nconsensus error: {0}\nexecution error: {0}\nVersioning factory error: {0}\nErrors of the gRPC component.\nInternal server error: {0}\nInvalid argument error: {0}\nmassa_hash error: {0}\nmassa_hash error: {0}\nModels error: {0}\nProtocol error: {0}\nReflection error : {0}\nTime error: {0}\nNot implemented error: {0}\nWallet error: {0}\nReturns the argument unchanged.\nCalls U::from(self).\nreturns the first IO error found\nAdd staking secret keys to wallet\nAdd IP addresses to node bootstrap blacklist\nAdd IP addresses to node bootstrap whitelist\nAdd IP addresses to node peers whitelist. No confirmation …\nAllow everyone to bootstrap from the node by removing …\nBan multiple nodes by their individual ids\nBan multiple nodes by their individual IP addresses\nGet node bootstrap blacklist IP addresses\nGet node bootstrap whitelist IP addresses\nGet node status\nGet node peers whitelist IP addresses\nRemove from bootstrap blacklist given IP addresses\nRemove from bootstrap whitelist given IP addresses\nRemove from peers whitelist given IP addresses\nRemove addresses from staking\nShutdown the node gracefully\nSign messages with node’s key\nUnban multiple nodes by their individual ids\nUnban multiple nodes by their individual IP addresses\nExecute read only call (function or bytecode)\nGet blocks\nGet multiple datastore entries\nGet endorsements\nGet next block best parents\nGet operations\nGet smart contract execution events\nGet the stakers\nGet transactions throughput\nGet query state\nSearch blocks\nSearch endorsements\nSearch operations\ngRPC PRIVATE API content\ngRPC PUBLIC API content\nUsed to be able to stop the gRPC API\nAdd staking secret keys to wallet\nAdd IP addresses to node bootstrap blacklist\nAdd IP addresses to node bootstrap whitelist\nAdd IP addresses to node peers whitelist. No confirmation …\nAllow everyone to bootstrap from the node by removing …\nBan multiple nodes by their individual ids\nBan multiple nodes by their individual IP addresses\nwhite/black list of bootstrap\nBroadcasts made by consensus component\nlink to the consensus component\nlink to the consensus component\nExecute read only call\nlink(channels) to the execution component\nlink to the execution component\nlink to the execution component\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nhandler for get blocks\nGet node bootstrap blacklist IP addresses\nGet node bootstrap whitelist IP addresses\nhandler for get multiple datastore entries\nhandler for get endorsements\nhandler for get mip status (versioning)\nhandler for get next block best parents\nGet node status\nhandler for get operations\nGet node peers whitelist IP addresses\nhandler for get smart contract execution events\nhandler for get selector draws\nhandler for get largest stakers\nhandler for get satatus\nhandler for get transactions throughput\ngRPC configuration\ngRPC configuration\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nkeypair factory\nMassa service health check implementation\ndatabase for all MIP info\nhandler for subscribe new blocks\nhandler for subscribe new operations stream\nhandler for subscribe new blocks with operations content\nhandler for subscribe new operations stream\nhandler for subscribe new slot abi call stacks stream\nhandler for subscribe new slot execution output stream\nhandler for subscribe new slot transfers stream\nour node id\nour node id\nUser wallet\nBroadcasts made by pool component\nlink to the pool component\nlink to the pool component\nMassa protocol configuration\nMassa protocol configuration\nlink to the protocol component\nlink to the protocol component\nhandler for get version\nRemove from bootstrap blacklist given IP addresses\nRemove from bootstrap whitelist given IP addresses\nRemove from peers whitelist given IP addresses\nRemove addresses from staking\nhandler for search blocks\nhandler for search endorsemets\nhandler for search operations\nlink to the selector component\nhandler for send_blocks_stream\nhandler for send_endorsements\nhandler for send_operations\nStart the gRPC PRIVATE API\nStart the gRPC PUBLIC API\nShutdown the node gracefully\nSign messages with node’s key\nstop the gRPC API gracefully\nMechanism by which to gracefully shut down. To be a clone …\nlink to the storage component\nhandler for transactions throughput\nUnban multiple nodes by their individual ids\nUnban multiple nodes by their individual IP addresses\nnode version\nnode version\nstream new blocks\nstream new endorsements\nstream new blocks headers\nsubscribe new operations\nsubscribe new slot abi call stacks\nsubscribe new slot execution outputs\nsubscribe new slot transfers\nsend_blocks streaming\nsend endorsements\nsend operations\nsubscribe tx throughput\nType declaration for NewBlocks\nReturns the argument unchanged.\nCalls U::from(self).\nCreates a new stream of new produced and received blocks\nType declaration for NewEndorsements\nReturns the argument unchanged.\nCalls U::from(self).\nCreates a new stream of new produced and received …\nType declaration for NewFilledBlocks\nReturns the argument unchanged.\nCalls U::from(self).\nCreates a new stream of new produced and received filled …\nType declaration for NewOperations\nReturns the argument unchanged.\nCalls U::from(self).\nCreates a new stream of new produced and received …\nType declaration for NewSlotExecutionOutputs\nReturns the argument unchanged.\nCalls U::from(self).\nCreates a new stream of new slots abi call stacks\nSlot\nType declaration for NewSlotExecutionOutputs\nReturn if the slot execution outputs should be send to …\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).\nCreates a new stream of new produced and received slot …\nType declaration for NewSlotTransfers\nType declaration for SendBlockStream\nThis function reports an error to the sender by sending a …\nThis function takes a streaming request of block messages, …\nType declaration for SendEndorsements\nThis function takes a streaming request of endorsements …\nType declaration for SendOperations\nThis function takes a streaming request of operations …\ndefault throughput interval in seconds\nType declaration for TransactionsThroughput\nThe function returns a stream of transaction throughput …") \ No newline at end of file +searchState.loadedDescShard("massa_grpc", 0, "Overview\nSlot range type\nBlock producer address (Optional)\nCheck if the slot range is valid\ngRPC configuration\nEndorsement draws\nmodels error\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\ngRPC API implementation\nEndorsement index\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nbusiness code for node management methods\nProducer address\nbusiness code for non stream methods\ngRPC service initialization and serve\nSlot\nbusiness code for stream methods\ngRPC API configuration.\ngRPC configuration. the gRPC configuration\nPrivate service name\nPublic service name\ngRPC service name\nwhich compression encodings does the server accept for …\nwhether to accept HTTP/1.1 requests\nbind for the Massa gRPC API\ncertificate authority root path\nchain id\nclient certificate authority root path\nclient certificate path\nclient private key path\nset the concurrency limit applied to on requests inbound …\nwhen looking for next draw we want to look at max …\nwhether to enable CORS. Works only if accept_http1 is true\nwhether to enable gRPC health service\nwhether to enable mTLS (requires enable_tls to be true)\nwhether to enable gRPC reflection\nwhether to enable TLS\nwhether to enable gRPC\nendorsement count\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nwhether to generate a self-signed certificate if none is …\ngenesis_timestamp\nsets whether to use an adaptive flow control. Defaults to …\nset whether HTTP2 Ping frames are enabled on accepted …\nsets a timeout for receiving an acknowledgement of the …\nsets the max connection-level flow control for HTTP2. …\nsets the SETTINGS_INITIAL_WINDOW_SIZE spec option for …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nkeypair file\nlast_start_period of the network, used to deserialize …\nmax number of addresses that can be included in a single …\nmax number of arguments per gRPC request\nmax number of block ids that can be included in a single …\nlimits the maximum size of streaming channel\nsets the SETTINGS_MAX_CONCURRENT_STREAMS spec option for …\nmax op datastore entries per request\nmax datastore key length\nmax datastore keys queries\nmax datastore value length\nlimits the maximum size of a decoded message. Defaults to …\nmax denunciations in block header\nlimits the maximum size of an encoded message. Defaults to …\nmax number of endorsement ids that can be included in a …\nmax endorsements per message\nmax number of filters that can be included in a single …\nsets the maximum frame size to use for HTTP2. If not set, …\nmax function name length\nmax gas per block\nmax op datastore entry\nmax datastore key length\nmax datastore value length\nmax number of operation ids that can be included in a …\nmax operations per block\nmax operations per message in the network to avoid sending …\nmax parameter size\nmax number of query items that can be included in a single …\nmax number of slot ranges that can be included in a single …\nminimal fees\nwhether to enable gRPC\nperiods per cycle\nPrivate server gRPC configuration.\nPublic server gRPC configuration.\nwhich compression encodings might the server use for …\nserver certificate path\nserver private key path\nSubject Alternative Names is an extension in X.509 …\nt0\nset whether TCP keepalive messages are enabled on accepted …\nset the value of TCP_NODELAY option for accepted …\nthread count\nset a timeout on for all request handlers\nconsensus error: {0}\nexecution error: {0}\nVersioning factory error: {0}\nErrors of the gRPC component.\nInternal server error: {0}\nInvalid argument error: {0}\nmassa_hash error: {0}\nmassa_hash error: {0}\nModels error: {0}\nProtocol error: {0}\nReflection error : {0}\nTime error: {0}\nNot implemented error: {0}\nWallet error: {0}\nReturns the argument unchanged.\nCalls U::from(self).\nreturns the first IO error found\nAdd staking secret keys to wallet\nAdd IP addresses to node bootstrap blacklist\nAdd IP addresses to node bootstrap whitelist\nAdd IP addresses to node peers whitelist. No confirmation …\nAllow everyone to bootstrap from the node by removing …\nBan multiple nodes by their individual ids\nBan multiple nodes by their individual IP addresses\nGet node bootstrap blacklist IP addresses\nGet node bootstrap whitelist IP addresses\nGet node status\nGet node peers whitelist IP addresses\nRemove from bootstrap blacklist given IP addresses\nRemove from bootstrap whitelist given IP addresses\nRemove from peers whitelist given IP addresses\nRemove addresses from staking\nShutdown the node gracefully\nSign messages with node’s key\nUnban multiple nodes by their individual ids\nUnban multiple nodes by their individual IP addresses\nExecute read only call (function or bytecode)\nGet blocks\nGet multiple datastore entries\nGet endorsements\nGet next block best parents\nGet operations\nGet smart contract execution events\nGet the stakers\nGet transactions throughput\nGet query state\nSearch blocks\nSearch endorsements\nSearch operations\ngRPC PRIVATE API content\ngRPC PUBLIC API content\nUsed to be able to stop the gRPC API\nAdd staking secret keys to wallet\nAdd IP addresses to node bootstrap blacklist\nAdd IP addresses to node bootstrap whitelist\nAdd IP addresses to node peers whitelist. No confirmation …\nAllow everyone to bootstrap from the node by removing …\nBan multiple nodes by their individual ids\nBan multiple nodes by their individual IP addresses\nwhite/black list of bootstrap\nBroadcasts made by consensus component\nlink to the consensus component\nlink to the consensus component\nExecute read only call\nlink(channels) to the execution component\nlink to the execution component\nlink to the execution component\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nhandler for get blocks\nGet node bootstrap blacklist IP addresses\nGet node bootstrap whitelist IP addresses\nhandler for get multiple datastore entries\nhandler for get endorsements\nhandler for get mip status (versioning)\nhandler for get next block best parents\nGet node status\nhandler for get operations\nGet node peers whitelist IP addresses\nhandler for get smart contract execution events\nhandler for get selector draws\nhandler for get largest stakers\nhandler for get satatus\nhandler for get transactions throughput\ngRPC configuration\ngRPC configuration\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nkeypair factory\nMassa service health check implementation\ndatabase for all MIP info\nhandler for subscribe new blocks\nhandler for subscribe new operations stream\nhandler for subscribe new blocks with operations content\nhandler for subscribe new operations stream\nhandler for subscribe new slot abi call stacks stream\nhandler for subscribe new slot execution output stream\nhandler for subscribe new slot transfers stream\nour node id\nour node id\nUser wallet\nBroadcasts made by pool component\nlink to the pool component\nlink to the pool component\nMassa protocol configuration\nMassa protocol configuration\nlink to the protocol component\nlink to the protocol component\nhandler for get version\nRemove from bootstrap blacklist given IP addresses\nRemove from bootstrap whitelist given IP addresses\nRemove from peers whitelist given IP addresses\nRemove addresses from staking\nhandler for search blocks\nhandler for search endorsemets\nhandler for search operations\nlink to the selector component\nhandler for send_blocks_stream\nhandler for send_endorsements\nhandler for send_operations\nStart the gRPC PRIVATE API\nStart the gRPC PUBLIC API\nShutdown the node gracefully\nSign messages with node’s key\nstop the gRPC API gracefully\nMechanism by which to gracefully shut down. To be a clone …\nlink to the storage component\nhandler for transactions throughput\nUnban multiple nodes by their individual ids\nUnban multiple nodes by their individual IP addresses\nnode version\nnode version\nstream new blocks\nstream new endorsements\nstream new blocks headers\nsubscribe new operations\nsubscribe new slot abi call stacks\nsubscribe new slot execution outputs\nsubscribe new slot transfers\nsend_blocks streaming\nsend endorsements\nsend operations\nsubscribe tx throughput\nType declaration for NewBlocks\nReturns the argument unchanged.\nCalls U::from(self).\nCreates a new stream of new produced and received blocks\nType declaration for NewEndorsements\nReturns the argument unchanged.\nCalls U::from(self).\nCreates a new stream of new produced and received …\nType declaration for NewFilledBlocks\nReturns the argument unchanged.\nCalls U::from(self).\nCreates a new stream of new produced and received filled …\nType declaration for NewOperations\nReturns the argument unchanged.\nCalls U::from(self).\nCreates a new stream of new produced and received …\nType declaration for NewSlotExecutionOutputs\nReturns the argument unchanged.\nCalls U::from(self).\nCreates a new stream of new slots abi call stacks\nSlot\nType declaration for NewSlotExecutionOutputs\nReturn if the slot execution outputs should be send to …\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).\nCreates a new stream of new produced and received slot …\nType declaration for NewSlotTransfers\nType declaration for SendBlockStream\nThis function reports an error to the sender by sending a …\nThis function takes a streaming request of block messages, …\nType declaration for SendEndorsements\nThis function takes a streaming request of endorsements …\nType declaration for SendOperations\nThis function takes a streaming request of operations …\ndefault throughput interval in seconds\nType declaration for TransactionsThroughput\nThe function returns a stream of transaction throughput …") \ 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..37eda6d4f2a 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 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\nChecks and cleans up a datastore key range query Returns: …\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\nReturn the intersection of two ranges\nExample\nDeserializer for DeferredCallId\nSerializer for DeferredCallId\nReturn the version of the DeferredCallId as bytes\nReturn the version of the DeferredCallId as bytes\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate an DeferredCallId from bytes\nCreate an DeferredCallId from bytes\nReturn the slot of the DeferredCallId\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreate a new DeferredCallId\nSerializes an DeferredCallId into a Vec<u8>\nDeserializes a Vec<u8> into an DeferredCallId\nVariant for Block header denunciation index\nBlock header variant\nA Variant of Denunciation enum for block header\nDeserializer for BlockHeaderDenunciation\nDenunciationPrecursor variant for block header\nSerializer for BlockHeaderDenunciation\nA denunciation enum\nDeserializer for Denunciation\nDenunciation error\nIndex for Denunciations in collections (e.g. like a HashMap…\nDeserializer for DenunciationIndex\nSerializer for DenunciationIndex\nLightweight data for Denunciation creation (avoid storing …\nSerializer for Denunciation\nVariant for Endorsement denunciation index\nEndorsement variant\nA Variant of Denunciation enum for endorsement\nDeserializer for EndorsementDenunciation\nDenunciationPrecursor variant for endorsement\nSerializer for EndorsementDenunciation\nRebuild full hash of SecureShareEndorsement from given …\nRebuild full hash of SecuredHeader from given arguments\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCompute the hash\nGet field: index (return None for a block header …\nGet field: index (return None for a block header …\nGet Denunciation public key ref\nGet field: pub key\nGet Denunciation slot ref\nGet field: slot\nGet field: slot\nsecured header partial hash\nsecured header partial hash\nendorsement index\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCheck if it is a Denunciation for this block header\nCheck if it is a Denunciation for this endorsement\nCheck if denunciation has expired given a slot period Note …\nCheck if it is a Denunciation of several block headers\nCheck if it is a Denunciation of several endorsements\nCheck if Denunciation is valid Should be used if received …\nCreates a new EndorsementDenunciationSerializer\nCreates a new EndorsementDeserializer\nCreates a new BlockHeaderDenunciationSerializer\nCreates a new BlockHeaderDenunciationDeserializer\nCreates a new BlockHeaderDenunciationSerializer\nCreates a new DenunciationDeserializer\nCreates a new DenunciationIndexSerializer\nCreates a new DenunciationIndexDeserializer\nsecure share endorsement public key\nsecured header public key\nsecured header signature\nsecured header signature\nendorsement slot\nblock header slot\nde index\nde slot\nde slot\nEndorsement ID size in bytes\nan endorsement, as sent in the network\nA denunciation data for endorsement\nDeserializer for Endorsement\nLightweight Deserializer for Endorsement\nendorsement id\nendorsement id\nSerializer for Endorsement\nLightweight Serializer for Endorsement When included in a …\nWrapped endorsement\nCompute the signed hash\nReference contents. Not required for the security …\nDerived from the same public key used to generate the …\nThe public-key component used in the generation of the …\nExample:\nExample:\nHash of endorsed block. This is the parent in thread …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nExample\nA secure hash of the data. See also massa_hash::Hash\nEndorsement index inside the including block\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a new EndorsementDeserializer\nCreates a new EndorsementSerializerLW\nCreates a new EndorsementDeserializerLW\nCreates a new EndorsementSerializer\nCreate a new denunciation data for endorsement\nExample:\nExample:\nContent in sharable, deserializable form. Is used in the …\nA cryptographically generated value using serialized_data …\nSlot in which the endorsement can be included\nGet byte array\naddress parsing error: {0}\nLedger changes, Amount overflow\namount parse error\nblock id parsing error\nbuffer error: {0}\nchecked operation error\ndeferred call id parsing error\nDeserialization error: {0}\nendorsement id parsing error\nContains the error value\nError raised {0}\nhashing error\ninvalid ledger change: {0}\ninvalid roll update: {0}\ninvalid version identifier: {0}\nMassaHash error: {0}\nmassa_signature error: {0}\nmodels error\nmodels error\nnode id parsing error\nContains the success value\noperation id parsing error\nWrong operation id size deduced on join\nOutdated bootstrap cursor\nperiod overflow error\nSerialization error: {0}\nSerialization error: {0}\nthread overflow error\nTime error {0}\nTime overflow error\nWrong prefix for hash: expected {0}, got {1}\nReturns the argument unchanged.\nCalls U::from(self).\nfilter used when retrieving SC output events\noptional emitter address\noptional end slot\nReturns the argument unchanged.\nCalls U::from(self).\noptional execution status\noptional event status\noptional caller address\noptional operation id\noptional start slot\nA balance change that can be applied to an address\nBasic deserializer for LedgerChange\nBasic serializer for LedgerChange\nMap an address to a LedgerChange\nBasic deserializer for LedgerChanges\nBasic serializer for LedgerChanges\na consensus ledger entry\nBasic deserializer for LedgerData\nBasic serializer for LedgerData\napplies a LedgerChange\napply a LedgerChange for an entry Can fail in overflow or …\nthe balance in coins\nAmount to add or subtract\nwhether to increment or decrements balance of delta\nApplies another ledger change on top of self\nchain with another LedgerChange\nclone subset\nExample:\nExample\nExample\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\naddresses that are impacted by these ledger changes\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nreturns true if the balance is zero\ntrue if the change is 0\nCreates a LedgerDataDeserializer\nCreates a LedgerChangeDeserializer\nCreates a LedgerChangesSerializer\nCreates a LedgerChangesDeserializer\nnew LedgerData from an initial balance\nCreates a LedgerDataSerializer\nCreates a LedgerChangeSerializer\nExample:\nExample\nmerge another ledger changes into self, overwriting …\nConverts a gRPC grpc_model::DenunciationIndex into a …\nNodeId wraps a public key to uniquely identify a node.\nReturns the argument unchanged.\nExample\nGet the public key of the NodeId.\nCalls U::from(self).\nCreate a new NodeId from a public key.\nCalls an exported function from a stored smart contract\nExecute a smart contract.\nSize in bytes of the serialized operation ID prefix\nthe operation as sent in the network\nSerializer for Operation\noperation id\nDeserializer for OperationId\nSerializer for OperationId\noperation id\nDeserializer for Vec<OperationId>\nSerializer for Vec<OperationId>\nLeft part of the operation id hash stored in a vector of …\nDeserializer for [OperationPrefixId]\nLeft part of the operation id hash stored in a vector of …\nSet of operation id’s prefix\nDeserializer for OperationPrefixIds\nSerializer for OperationPrefixIds\nSerializer for Operation\nType specific operation content\nDeserializer for OperationType\nSerializer for OperationType\nDeserializer for Operations\nSerializer for Operations\nthe sender buys roll_count rolls. Roll price is defined in …\nthe sender sells roll_count rolls. Roll price is defined …\nsigned operation\ntransfer coins from sender to recipient\nCompute the hash of a list of operations(used typically in …\nReference contents. Not required for the security …\nDerived from the same public key used to generate the …\nThe public-key component used in the generation of the …\nExample:\nExample:\nExample:\nExample:\nExample:\nExample:\nafter expire_period slot the operation won’t be included …\nthe fee they have decided for this operation\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nget prefix of the operation id of size …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nExample\nGet the maximum amount of gas used by the operation.\nget the addresses that are involved in this operation from …\nGets the maximal amount of coins that may be spent by this …\nget the addresses that are involved in this operation from …\nget the range of periods during which an operation is valid\nGet the version of the operation by looking at the first …\nA secure hash of the data. See also massa_hash::Hash\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nconvert the [OperationId] into a [OperationPrefixId]\nconvert the [OperationId] into a [OperationPrefixId]\nCreates a new OperationSerializer\nCreates a OperationDeserializer\nCreates a new OperationTypeSerializer\nCreates a new OperationTypeDeserializer\nCreates a new OperationIdsSerializer\nCreates a new OperationIdsDeserializer\nCreates a new OperationIdsDeserializer\nCreates a new OperationsDeserializer\nCreates a new serializer for OperationId\nCreates a new deserializer for OperationId\nCreates a deserializer for [OperationPrefixId]\nCreates a new OperationIdsSerializer\nCreates a new OperationsSerializer\nthe type specific operation part\nget a prefix from the [OperationId] by copying it\nget a prefix from the [OperationId] by copying it\nExample:\nExample:\nExample:\nExample:\nContent in sharable, deserializable form. Is used in the …\nA cryptographically generated value using serialized_data …\namount\nExtra coins that are spent from the caller’s balance and …\nSmart contract bytecode.\nA key-value store associating a hash to arbitrary bytes\nMax amount of coins allowed to be spent by the execution\nThe maximum amount of gas that the execution of the …\nThe maximum amount of gas that the execution of the …\nParameter to pass to the target function\nrecipient address\nroll count\nroll count\nTarget smart contract address\nTarget function name. No function is called if empty.\nContext of the event (not generated by the user)\nBy product of a byte code execution\nblock id if there was a block at that slot\nmost recent at the end\ncontext generated by the execution context\njson data string\nReturns the argument unchanged.\nReturns the argument unchanged.\nindex of the event in the slot\nCalls U::from(self).\nCalls U::from(self).\nif the sc that emitted this event failed\nif the event is final\norigin operation id\nif the event was generated during a read only execution\nwhen was it generated\nBuildHasherDefault specialization for HashMapper\nTrait allowing pre-allocations\nA Hasher for PreHashed keys that is faster because it …\nHashMap specialization for PreHashed keys This hashmap is …\nHashSet specialization for PreHashed keys This hashset is …\nA trait indicating that its carrier is already a hash with …\nfinish the hashing process and return the truncated u64 …\nReturns the argument unchanged.\nCalls U::from(self).\npre-allocate with a given capacity\npre-allocate with a given capacity\npre-allocate with a given capacity\nwrite the bytes of a PreHashed key into the HashMapper …\njust a u64 to keep track of the roll sells and buys during …\ncounts the roll for each address\nroll sales and purchases\nDeserializer for RollUpdate\nSerializer for RollUpdate\nmaps addresses to roll updates\napplies a RollUpdate, compensates and returns compensation\napplies RollUpdates to self with compensations\nchain two roll updates, compensate and return compensation …\nchains with another RollUpdates, compensates and returns …\nget the roll update for a subset of addresses\nget roll counts for a subset of addresses.\ncompensate a roll update, return compensation count\nExample:\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nthe addresses impacted by the updates\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if the RollCounts contains no elements.\ntrue if the update has no effect\nReturns the number of elements in the RollCounts.\nCreates a new RollUpdateSerializer\nCreates a new RollUpdateDeserializer\nMakes a new, empty RollCounts.\nroll purchases\nroll sales\nExample:\nmerge another roll updates into self, overwriting existing …\nmerge another roll counts into self, overwriting existing …\nUsed by signed structure TODO: Make this trait use versions\nPackages type T such that it can be securely sent and …\nTrait that define a structure that can be signed for …\nDeserializer for SecureShare structure\nSerializer for SecureShare structure\nsize in bytes of the whole block\nCompute hash\nCompute hash used for signature\nCompute the signed hash\ntrue if given operation is included in the block\nReference contents. Not required for the security …\nDerived from the same public key used to generate the …\nThe public-key component used in the generation of the …\nDeserialize the secured structure\nThis method is used to deserialize data that has been …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\ngets the header fitness\nreturns the fitness of the block\nGet the maximum amount of gas used by the operation.\nGet a reference to the underlying hash\nget the addresses that are involved in this operation from …\nGets the maximal amount of coins that may be spent by this …\nget the addresses that are involved in this operation from …\nget the range of periods during which an operation is valid\nA secure hash of the data. See also massa_hash::Hash\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nNew id from hash\nCreates a new SecureShareDeserializer\nCreates a new SecureShareSerializer\nUsing the provided key-pair, applies a cryptographic …\nSerialize the secured structure\nThis method is used to serialize a SecureShare structure …\nContent in sharable, deserializable form. Is used in the …\nget full serialized size\nSign the SecureShare given the content\nSign the SecureShare given the content\nA cryptographically generated value using serialized_data …\nverify signature\ncheck if self has been signed by public key\nBitVec<u8> Deserializer\nBitVec<u8> Serializer\nDeserialize min big endian\nDeserializer for IpAddr\nSerializer for IpAddr\nBasic PreHashSet<_> deserializer\nBasic PreHashSet<_> serializer\nSerialize min big endian integer\nDeserializer for String with generic deserializer for the …\nSerializer for String with generic serializer for the size …\nBasic Vec<_> deserializer\nBasic Vec<_> serializer\nBasic Vec<u8> deserializer\nBasic Vec<u8> serializer\narray from slice\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nDeserializes a minimally sized big endian integer to Self …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a IpAddrSerializer\nCreates a IpAddrDeserializer\nCreates a new VecU8Serializer\nCreates a new VecU8Deserializer\nCreates a new VecSerializer\nCreates a new VecDeserializer\nCreates a new PreHashSetSerializer\nCreates a new PreHashSetDeserializer\nCreates a StringSerializer.\nCreates a StringDeserializer.\nCreate a new BitVec<u8> Serializer\nCreate a new BitVec<u8> Deserializer\nserializes with the minimal amount of big endian bytes\nCompute the minimal big endian deserialization size\nCompute the minimal big endian deserialization size\nu8 from slice\nWhen an address is drawn to create an endorsement it is …\nsize of the slot key representation\na point in time where a block is expected\nBasic Slot Deserializer\nBasic serializer for Slot\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nDeserializes a slot from its fixed-size sortable binary …\ncycle associated to that slot\nfirst bit of the slot, for seed purpose\nReturns the next Slot\nReturns the previous Slot\nendorsement index in the slot\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\ncheck if the slot is first in the cycle\ncheck if the slot is last in the cycle\nreturns the maximal slot\nreturns the minimal slot\nnew slot from period and thread\nCreates a SlotSerializer\nCreates a SlotDeserializer\ncreate the first slot of a given cycle\ncreate the last slot of a given cycle\nperiod\nReturns the n-th slot after the current one\nslot\nCounts the number of slots since the one passed in …\nthread\nReturns a fixed-size sortable binary key\nstats produced by consensus module\nexecution statistics\nstats produced by network module\nstats produced by pool module\nactive execution cursor slot\nactive node count\nbanned node count\nnumber of actives cliques\nend of the time span for stats\nnumber of endorsement in the pool\nnumber of final blocks in the time window\nnumber of final blocks\nfinal execution cursor slot\nnumber of final executed operations in the time window\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nin connections count\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\ntotal known peers count\nnumber of operations in the pool\nout connections count\nnumber of stale blocks in memory\nstart of the time span for stats\ntime window end\ntime window start\nFinished step, after all the information has been streamed\nOngoing step, as long as you are streaming\nStarted step, only when launching the streaming\nStreaming step cursor\nStreamingStep deserializer\nStreamingStep serializer\nIndicates if the current step if finished or not without …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreates a new StreamingStep serializer\nCreates a new StreamingStep deserializer\nGets timestamp in milliseconds for given slot.\nTODO DOC\nReturns the thread and block slot index of the current …\nReturns the thread and block period index of the latest …\nCounts the number of slots in a slot range [a, b)\nTurns an MassaTime range [start, end) with optional …\nTrait marking a structure that supports another one (V) …\nDeletes the value T\ndeletes the value\nkeeps the existing value\nSets the value T a new absolute value T\nsets a new absolute value T\nsets a new absolute value T\nEnum representing a set/delete change on a value T\nrepresents a set/keep change\nEnumeration representing set/update/delete change on a …\nApplies an update V to an existing value T. If the value T …\napply changes from other to mutable self\napplies the current SetOrKeep to a target mutable value\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nApplication version, checked during handshakes\nSerializer for Version\nSerializer for Version\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nASCII uppercase alpha\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\ntrue if instance and major are the same\nCreates a VersionSerializer\nCreates a VersionSerializer") \ No newline at end of file diff --git a/search.desc/massa_node/massa_node-desc-0-.js b/search.desc/massa_node/massa_node-desc-0-.js index 677f04d7ce8..b39ac6173a6 100644 --- a/search.desc/massa_node/massa_node-desc-0-.js +++ b/search.desc/massa_node/massa_node-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("massa_node", 0, "Massa: The Decentralized and Scaled Blockchain\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nLoad wallet, asking for passwords if necessary\nWallet password\nrestart_from_snapshot_at_period\nBuild here the default node settings from the …\nAPI and server configuration, read from a file …\nBootstrap configuration.\nConsensus configuration Assumes …\nFactory settings\ngRPC API settings.\ngRPC settings the gRPC settings\nPool configuration, read from a file configuration\nProtocol Configuration, read from toml user configuration …\nwhich compression encodings does the server accept for …\nwhether to accept HTTP/1.1 requests\nafter ask_block_timeout milliseconds we try to ask a block …\nsize of the buffer of asked operations\nport on which to listen for prometheus metrics\nIp we are bind to listen to\nbind for the Massa gRPC API\nold blocks are pruned every block_db_prune_interval\nWhere to dump blocks\nBlock propagation tick interval, useful for propagating …\nAllocated time with which to manage the bootstrap process\nblocks channel capacity\nblocks headers channel capacity\nendorsements channel capacity\nfilled blocks channel capacity\noperations channel capacity\nslot execution outputs channel capacity\nslot execution traces channel capacity\ncertificate authority root path\nclient certificate authority root path\nclient certificate path\nclient private key path\nset the concurrency limit applied to on requests inbound …\nTime threshold to have a connection to a node\nLimits for default category\nwhen looking for next draw we want to look at max …\nwhether to enable CORS. Works only if accept_http1 is true\nwhether to enable gRPC health service\nwhether to enable mTLS (requires enable_tls to be true)\nwhether to enable gRPC reflection\nwhether to enable TLS\nenable prometheus metrics\nwhether to enable gRPC\nforce keep at least this number of final periods in RAM …\nforce keep at least this number of final periods without …\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.\nwhether to generate a self-signed certificate if none is …\nsets whether to use an adaptive flow control. Defaults to …\nset whether HTTP2 Ping frames are enabled on accepted …\nsets a timeout for receiving an acknowledgement of the …\nsets the max connection-level flow control for HTTP2. …\nInitial delay\nPath for initial peers\nsets the SETTINGS_INITIAL_WINDOW_SIZE spec option for …\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).\nKeypair\nmax number of addresses that can be included in a single …\nmax number of arguments per gRPC request\nmax number of block ids that can be included in a single …\nTime during which a block is expected to propagate\nMax known blocks we keep during their propagation\nlimits the maximum size of streaming channel\nsets the SETTINGS_MAX_CONCURRENT_STREAMS spec option for …\nmax op datastore entries per request\nlimits the maximum size of a decoded message. Defaults to …\nMaximum number of blocks allowed in DependencyWaitingBlocks…\nMaximum number of blocks allowed in discarded blocks.\nlimits the maximum size of an encoded message. Defaults to …\nmax number of endorsement ids that can be included in a …\nTime threshold after which operation are not propagated\nmax number of filters that can be included in a single …\nsets the maximum frame size to use for HTTP2(must be …\nMaximum number of blocks allowed in FutureIncomingBlocks.\nNb in connections\nmax known blocks our node keeps in its knowledge cache\nmax known endorsements by our node that we kept in memory\nmax known operations current node kept in memory\nmax cache size for which blocks a foreign node knows about\nmax known endorsements of foreign nodes we keep in memory …\nmax known operations of foreign nodes we keep in memory …\nmax wanted blocks per node kept in memory\nmax number of operation ids that can be included in a …\nMaximum of operations sent in one message.\nTime threshold after which operation are not propagated\nMAx number of operations kept for propagation\nmax number of query items that can be included in a single …\nMax wait time for sending a Network or Node event.\nwe ask for the same block …\nmax number of slot ranges that can be included in a single …\nMessage timeout\noperations minimum fees for block creator\nMaximum number of operations in the announcement buffer. …\nInterval at which operations are announced in batches.\nMaximum number of batches in the memory buffer. Dismiss …\nStart processing batches in the buffer each …\nPeers limits per category\nPrivate server gRPC configuration.\nPublic server gRPC configuration.\nRate limitation to apply to the data stream (per second)\nNumber of bytes we can read/write by seconds in a …\nIp seen by others. If none the bind ip is used\nIp seen by others. If none the bind ip is used\nwhich compression encodings might the server use for …\nserver certificate path\nserver private key path\nStaking wallet file\nstats time span\nstop the production in case we are not connected to anyone\nSubject Alternative Names is an extension in X.509 …\nset whether TCP keepalive messages are enabled on accepted …\nset the value of TCP_NODELAY option for accepted …\nCooldown before testing again an old peer\nTimeout for the tester operations\nNumber of tester threads\ninterval at which to update metrics\nset a timeout on for all request handlers\nTimeout connection\ntry connection timer\ntry connection timer for the same peer\nperiodically unban every peer\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).") \ No newline at end of file +searchState.loadedDescShard("massa_node", 0, "Massa: The Decentralized and Scaled Blockchain\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nLoad wallet, asking for passwords if necessary\nWallet password\nrestart_from_snapshot_at_period\nBuild here the default node settings from the …\nAPI and server configuration, read from a file …\nBootstrap configuration.\nConsensus configuration Assumes …\nFactory settings\ngRPC API settings.\ngRPC settings the gRPC settings\nPool configuration, read from a file configuration\nProtocol Configuration, read from toml user configuration …\nwhich compression encodings does the server accept for …\nwhether to accept HTTP/1.1 requests\nafter ask_block_timeout milliseconds we try to ask a block …\nsize of the buffer of asked operations\nport on which to listen for prometheus metrics\nIp we are bind to listen to\nbind for the Massa gRPC API\nold blocks are pruned every block_db_prune_interval\nWhere to dump blocks\nBlock propagation tick interval, useful for propagating …\nAllocated time with which to manage the bootstrap process\nblocks channel capacity\nblocks headers channel capacity\nendorsements channel capacity\nfilled blocks channel capacity\noperations channel capacity\nslot execution outputs channel capacity\nslot execution traces channel capacity\ncertificate authority root path\nclient certificate authority root path\nclient certificate path\nclient private key path\nset the concurrency limit applied to on requests inbound …\nTime threshold to have a connection to a node\nLimits for default category\nwhen looking for next draw we want to look at max …\nwhether to enable CORS. Works only if accept_http1 is true\nwhether to enable gRPC health service\nwhether to enable mTLS (requires enable_tls to be true)\nwhether to enable gRPC reflection\nwhether to enable TLS\nenable prometheus metrics\nwhether to enable gRPC\nforce keep at least this number of final periods in RAM …\nforce keep at least this number of final periods without …\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.\nwhether to generate a self-signed certificate if none is …\nsets whether to use an adaptive flow control. Defaults to …\nset whether HTTP2 Ping frames are enabled on accepted …\nsets a timeout for receiving an acknowledgement of the …\nsets the max connection-level flow control for HTTP2. …\nInitial delay\nPath for initial peers\nsets the SETTINGS_INITIAL_WINDOW_SIZE spec option for …\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).\nKeypair\nmax number of addresses that can be included in a single …\nmax number of arguments per gRPC request\nmax number of block ids that can be included in a single …\nTime during which a block is expected to propagate\nMax known blocks we keep during their propagation\nlimits the maximum size of streaming channel\nsets the SETTINGS_MAX_CONCURRENT_STREAMS spec option for …\nmax op datastore entries per request\nMax keys returned by a datastore key query\nlimits the maximum size of a decoded message. Defaults to …\nMaximum number of blocks allowed in DependencyWaitingBlocks…\nMaximum number of blocks allowed in discarded blocks.\nlimits the maximum size of an encoded message. Defaults to …\nmax number of endorsement ids that can be included in a …\nTime threshold after which operation are not propagated\nmax number of filters that can be included in a single …\nsets the maximum frame size to use for HTTP2(must be …\nMaximum number of blocks allowed in FutureIncomingBlocks.\nNb in connections\nmax known blocks our node keeps in its knowledge cache\nmax known endorsements by our node that we kept in memory\nmax known operations current node kept in memory\nmax cache size for which blocks a foreign node knows about\nmax known endorsements of foreign nodes we keep in memory …\nmax known operations of foreign nodes we keep in memory …\nmax wanted blocks per node kept in memory\nmax number of operation ids that can be included in a …\nMaximum of operations sent in one message.\nTime threshold after which operation are not propagated\nMAx number of operations kept for propagation\nmax number of query items that can be included in a single …\nMax wait time for sending a Network or Node event.\nwe ask for the same block …\nmax number of slot ranges that can be included in a single …\nMessage timeout\noperations minimum fees for block creator\nMaximum number of operations in the announcement buffer. …\nInterval at which operations are announced in batches.\nMaximum number of batches in the memory buffer. Dismiss …\nStart processing batches in the buffer each …\nPeers limits per category\nPrivate server gRPC configuration.\nPublic server gRPC configuration.\nRate limitation to apply to the data stream (per second)\nNumber of bytes we can read/write by seconds in a …\nIp seen by others. If none the bind ip is used\nIp seen by others. If none the bind ip is used\nwhich compression encodings might the server use for …\nserver certificate path\nserver private key path\nStaking wallet file\nstats time span\nstop the production in case we are not connected to anyone\nSubject Alternative Names is an extension in X.509 …\nset whether TCP keepalive messages are enabled on accepted …\nset the value of TCP_NODELAY option for accepted …\nCooldown before testing again an old peer\nTimeout for the tester operations\nNumber of tester threads\ninterval at which to update metrics\nset a timeout on for all request handlers\nTimeout connection\ntry connection timer\ntry connection timer for the same peer\nperiodically unban every peer\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).") \ No newline at end of file diff --git a/src-files.js b/src-files.js index 191e4cb34cb..4092134c8c7 100644 --- a/src-files.js +++ b/src-files.js @@ -14,7 +14,7 @@ var srcIndex = new Map(JSON.parse('[\ ["massa_event_cache",["",[],["config.rs","controller.rs","event_cache.rs","lib.rs","rocksdb_operator.rs","ser_deser.rs","worker.rs"]]],\ ["massa_executed_ops",["",[],["config.rs","denunciations_changes.rs","executed_denunciations.rs","executed_ops.rs","lib.rs","ops_changes.rs"]]],\ ["massa_execution_exports",["",[],["channels.rs","controller_traits.rs","error.rs","event_store.rs","lib.rs","mapping_grpc.rs","settings.rs","types.rs","types_trace_info.rs"]]],\ -["massa_execution_worker",["",[],["active_history.rs","context.rs","controller.rs","execution.rs","execution_info.rs","interface_impl.rs","lib.rs","request_queue.rs","slot_sequencer.rs","speculative_async_pool.rs","speculative_deferred_calls.rs","speculative_executed_denunciations.rs","speculative_executed_ops.rs","speculative_ledger.rs","speculative_roll_state.rs","stats.rs","storage_backend.rs","worker.rs"]]],\ +["massa_execution_worker",["",[],["active_history.rs","context.rs","controller.rs","datastore_scan.rs","execution.rs","execution_info.rs","interface_impl.rs","lib.rs","request_queue.rs","slot_sequencer.rs","speculative_async_pool.rs","speculative_deferred_calls.rs","speculative_executed_denunciations.rs","speculative_executed_ops.rs","speculative_ledger.rs","speculative_roll_state.rs","stats.rs","storage_backend.rs","worker.rs"]]],\ ["massa_factory_exports",["",[],["config.rs","controller_traits.rs","error.rs","lib.rs","types.rs"]]],\ ["massa_factory_worker",["",[],["block_factory.rs","endorsement_factory.rs","lib.rs","manager.rs","run.rs"]]],\ ["massa_final_state",["",[],["config.rs","controller_trait.rs","error.rs","final_state.rs","lib.rs","mapping_grpc.rs","state_changes.rs"]]],\ diff --git a/src/massa_api/lib.rs.html b/src/massa_api/lib.rs.html index 6878466b6b3..9e5a9f33139 100644 --- a/src/massa_api/lib.rs.html +++ b/src/massa_api/lib.rs.html @@ -430,6 +430,14 @@ 430 431 432 +433 +434 +435 +436 +437 +438 +439 +440
    //! Copyright (c) 2022 MASSA LABS <info@massa.net>
     //! Json RPC API for a massa-node
     
    @@ -443,12 +451,13 @@
     use jsonrpsee::server::middleware::http::HostFilterLayer;
     use jsonrpsee::server::{BatchRequestConfig, PingConfig, ServerBuilder, ServerHandle};
     use jsonrpsee::RpcModule;
    +use massa_api_exports::address::GetAddressDatastoreKeysResponse;
     use massa_api_exports::execution::{
         DeferredCallResponse, DeferredCallsQuoteRequest, DeferredCallsQuoteResponse,
         DeferredCallsSlotResponse, Transfer,
     };
     use massa_api_exports::{
    -    address::{AddressFilter, AddressInfo},
    +    address::{AddressFilter, AddressInfo, GetAddressDatastoreKeysRequest},
         block::{BlockInfo, BlockSummary},
         config::APIConfig,
         datastore::{DatastoreEntryInput, DatastoreEntryOutput},
    @@ -857,6 +866,13 @@
             &self,
             arg: Vec<Slot>,
         ) -> RpcResult<Vec<DeferredCallsSlotResponse>>;
    +
    +    /// Get keys gor given address
    +    #[method(name = "get_address_datastore_keys")]
    +    async fn get_address_datastore_keys(
    +        &self,
    +        arg: Vec<GetAddressDatastoreKeysRequest>,
    +    ) -> RpcResult<Vec<GetAddressDatastoreKeysResponse>>;
     }
     
     fn wrong_api<T>() -> RpcResult<T> {
    diff --git a/src/massa_api/private.rs.html b/src/massa_api/private.rs.html
    index 2bbbe814605..9e71b97a693 100644
    --- a/src/massa_api/private.rs.html
    +++ b/src/massa_api/private.rs.html
    @@ -515,6 +515,15 @@
     515
     516
     517
    +518
    +519
    +520
    +521
    +522
    +523
    +524
    +525
    +526
     
    //! Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     use crate::{MassaRpcServer, Private, RpcServer, StopHandle, Value, API};
    @@ -522,7 +531,9 @@
     use async_trait::async_trait;
     use jsonrpsee::core::{client::Error as JsonRpseeError, RpcResult};
     use massa_api_exports::{
    -    address::{AddressFilter, AddressInfo},
    +    address::{
    +        AddressFilter, AddressInfo, GetAddressDatastoreKeysRequest, GetAddressDatastoreKeysResponse,
    +    },
         block::{BlockInfo, BlockSummary},
         config::APIConfig,
         datastore::{DatastoreEntryInput, DatastoreEntryOutput},
    @@ -895,6 +906,13 @@
         async fn get_openrpc_spec(&self) -> RpcResult<Value> {
             crate::wrong_api::<Value>()
         }
    +
    +    async fn get_address_datastore_keys(
    +        &self,
    +        _arg: Vec<GetAddressDatastoreKeysRequest>,
    +    ) -> RpcResult<Vec<GetAddressDatastoreKeysResponse>> {
    +        crate::wrong_api::<Vec<_>>()
    +    }
     }
     
     /// Run Search, Create, Read, Update, Delete operation on bootstrap list of IP(s)
    diff --git a/src/massa_api/public.rs.html b/src/massa_api/public.rs.html
    index f305c4ee362..fe7af407e1e 100644
    --- a/src/massa_api/public.rs.html
    +++ b/src/massa_api/public.rs.html
    @@ -1505,6 +1505,119 @@
     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
    +1581
    +1582
    +1583
    +1584
    +1585
    +1586
    +1587
    +1588
    +1589
    +1590
    +1591
    +1592
    +1593
    +1594
    +1595
    +1596
    +1597
    +1598
    +1599
    +1600
    +1601
    +1602
    +1603
    +1604
    +1605
    +1606
    +1607
    +1608
    +1609
    +1610
    +1611
    +1612
    +1613
    +1614
    +1615
    +1616
    +1617
    +1618
    +1619
    +1620
     
    //! Copyright (c) 2022 MASSA LABS <info@massa.net>
     #![allow(clippy::too_many_arguments)]
     
    @@ -1513,7 +1626,9 @@
     use itertools::{izip, Itertools};
     use jsonrpsee::core::{client::Error as JsonRpseeError, RpcResult};
     use massa_api_exports::{
    -    address::{AddressFilter, AddressInfo},
    +    address::{
    +        AddressFilter, AddressInfo, GetAddressDatastoreKeysRequest, GetAddressDatastoreKeysResponse,
    +    },
         block::{BlockInfo, BlockInfoContent, BlockSummary},
         config::APIConfig,
         datastore::{DatastoreEntryInput, DatastoreEntryOutput},
    @@ -1545,7 +1660,7 @@
         clique::Clique,
         composite::PubkeySig,
         config::CompactConfig,
    -    datastore::DatastoreDeserializer,
    +    datastore::{cleanup_datastore_key_range_query, DatastoreDeserializer},
         deferred_calls::DeferredCallId,
         endorsement::{EndorsementId, SecureShareEndorsement},
         error::ModelsError,
    @@ -1965,6 +2080,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 +2183,7 @@
                 current_cycle,
                 chain_id: self.0.api_settings.chain_id,
                 minimal_fees: self.0.api_settings.minimal_fees,
    +            current_mip_version,
             })
         }
     
    @@ -2452,6 +2574,59 @@
                 .collect())
         }
     
    +    async fn get_address_datastore_keys(
    +        &self,
    +        arg: Vec<GetAddressDatastoreKeysRequest>,
    +    ) -> RpcResult<Vec<GetAddressDatastoreKeysResponse>> {
    +        if let Some(conf_max) = self.0.api_settings.max_addresses_datastore_keys_query {
    +            if arg.len() > conf_max as usize {
    +                return Err(ApiError::BadRequest(format!("too many arguments received. Only a maximum of {} arguments are accepted per request", conf_max)).into());
    +            }
    +        }
    +
    +        let requests: Vec<ExecutionQueryRequestItem> = arg
    +            .into_iter()
    +            .map(|request| {
    +                get_address_datastore_keys_to_state_query_item(
    +                    request,
    +                    self.0.api_settings.max_datastore_keys_queries,
    +                    self.0.api_settings.max_datastore_key_length,
    +                )
    +            })
    +            .collect::<Result<_, _>>()?;
    +
    +        let mut result: Vec<GetAddressDatastoreKeysResponse> = Vec::with_capacity(requests.len());
    +
    +        let response = self
    +            .0
    +            .execution_controller
    +            .query_state(ExecutionQueryRequest { requests });
    +
    +        for response_item in response.responses {
    +            match response_item {
    +                Ok(item) => match item {
    +                    ExecutionQueryResponseItem::AddressDatastoreKeys(keys, address, is_final) => {
    +                        result.push(GetAddressDatastoreKeysResponse {
    +                            address,
    +                            is_final,
    +                            keys: keys.into_iter().collect(),
    +                        });
    +                    }
    +                    _ => {
    +                        return Err(
    +                            ApiError::ExecutionError("unexpected response".to_string()).into()
    +                        );
    +                    }
    +                },
    +                Err(e) => {
    +                    return Err(ApiError::ExecutionError(e.to_string()).into());
    +                }
    +            }
    +        }
    +
    +        Ok(result)
    +    }
    +
         /// get addresses
         async fn get_addresses(&self, addresses: Vec<Address>) -> RpcResult<Vec<AddressInfo>> {
             // get info from storage about which blocks the addresses have created
    @@ -3012,4 +3187,55 @@
             .into())
         }
     }
    +
    +/// Convert GetAddressDatastoreKeys to ExecutionQueryRequestItem
    +fn get_address_datastore_keys_to_state_query_item(
    +    value: GetAddressDatastoreKeysRequest,
    +    max_datastore_query_config: Option<u32>,
    +    max_datastore_key_length: u8,
    +) -> RpcResult<ExecutionQueryRequestItem> {
    +    let start_key = match (value.start_key, value.inclusive_start_key.unwrap_or(true)) {
    +        (None, _) => std::ops::Bound::Unbounded,
    +        (Some(k), true) => std::ops::Bound::Included(k),
    +        (Some(k), false) => std::ops::Bound::Excluded(k),
    +    };
    +    let end_key = match (value.end_key, value.inclusive_end_key.unwrap_or(true)) {
    +        (None, _) => std::ops::Bound::Unbounded,
    +        (Some(k), true) => std::ops::Bound::Included(k),
    +        (Some(k), false) => std::ops::Bound::Excluded(k),
    +    };
    +
    +    let (prefix, start_key, end_key) = cleanup_datastore_key_range_query(
    +        &value.prefix,
    +        start_key,
    +        end_key,
    +        value.count,
    +        max_datastore_key_length,
    +        max_datastore_query_config,
    +    )
    +    .map_err(|e| {
    +        ApiError::BadRequest(format!(
    +            "error querying datastore keys for address {}: {}",
    +            value.address, e
    +        ))
    +    })?;
    +
    +    if value.is_final {
    +        Ok(ExecutionQueryRequestItem::AddressDatastoreKeysFinal {
    +            address: value.address,
    +            prefix,
    +            start_key,
    +            end_key,
    +            count: value.count,
    +        })
    +    } else {
    +        Ok(ExecutionQueryRequestItem::AddressDatastoreKeysCandidate {
    +            address: value.address,
    +            prefix,
    +            start_key,
    +            end_key,
    +            count: value.count,
    +        })
    +    }
    +}
     
    \ No newline at end of file diff --git a/src/massa_api_exports/address.rs.html b/src/massa_api_exports/address.rs.html index 8cb4060ac0d..cdb77cfa501 100644 --- a/src/massa_api_exports/address.rs.html +++ b/src/massa_api_exports/address.rs.html @@ -177,6 +177,38 @@ 177 178 179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     use massa_models::address::ExecutionAddressCycleInfo;
    @@ -356,4 +388,36 @@
             }
         }
     }
    +
    +/// Datastore keys entry query input structure
    +#[derive(Clone, Debug, Deserialize)]
    +pub struct GetAddressDatastoreKeysRequest {
    +    /// The address for which to get the datastore keys
    +    pub address: Address,
    +    /// The prefix to filter the keys
    +    pub prefix: Vec<u8>,
    +    /// final true means final
    +    pub is_final: bool,
    +    /// The start key to filter the keys
    +    pub start_key: Option<Vec<u8>>,
    +    /// inclusive start key
    +    pub inclusive_start_key: Option<bool>,
    +    /// The end key to filter the keys
    +    pub end_key: Option<Vec<u8>>,
    +    /// inclusive end key
    +    pub inclusive_end_key: Option<bool>,
    +    /// The count of keys to return
    +    pub count: Option<u32>,
    +}
    +
    +/// Response object for datastore keys query
    +#[derive(Clone, Debug, Serialize)]
    +pub struct GetAddressDatastoreKeysResponse {
    +    /// The address for which to get the datastore keys
    +    pub address: Address,
    +    /// final true means final
    +    pub is_final: bool,
    +    /// keys list
    +    pub keys: Vec<Vec<u8>>,
    +}
     
    \ No newline at end of file diff --git a/src/massa_api_exports/config.rs.html b/src/massa_api_exports/config.rs.html index 510419ec0c6..22776f3ff8d 100644 --- a/src/massa_api_exports/config.rs.html +++ b/src/massa_api_exports/config.rs.html @@ -88,6 +88,12 @@ 88 89 90 +91 +92 +93 +94 +95 +96
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     use massa_deferred_calls::config::DeferredCallsConfig;
    @@ -141,6 +147,8 @@
         pub enable_ws: bool,
         /// max datastore value length
         pub max_datastore_value_length: u64,
    +    /// max datastore key length
    +    pub max_datastore_key_length: u8,
         /// max op datastore entry
         pub max_op_datastore_entry_count: u64,
         /// max datastore key length
    @@ -177,5 +185,9 @@
         pub minimal_fees: Amount,
         /// deferred calls config
         pub deferred_calls_config: DeferredCallsConfig,
    +    /// max datastore keys queries
    +    pub max_datastore_keys_queries: Option<u32>,
    +    /// Limit the number of addresses in a single datastore keys request
    +    pub max_addresses_datastore_keys_query: Option<u32>,
     }
     
    \ No newline at end of file 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_execution_exports/mapping_grpc.rs.html b/src/massa_execution_exports/mapping_grpc.rs.html
    index 9636dc10b87..1842e53c04d 100644
    --- a/src/massa_execution_exports/mapping_grpc.rs.html
    +++ b/src/massa_execution_exports/mapping_grpc.rs.html
    @@ -406,6 +406,59 @@
     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) 2023 MASSA LABS <info@massa.net>
     
     use std::str::FromStr;
    @@ -417,6 +470,7 @@
     };
     use grpc_api::execution_query_request_item as exec;
     use massa_models::address::Address;
    +use massa_models::datastore::cleanup_datastore_key_range_query;
     use massa_models::deferred_calls::DeferredCallId;
     use massa_models::error::ModelsError;
     use massa_models::execution::EventFilter;
    @@ -429,6 +483,8 @@
     /// Convert a `grpc_api::ScExecutionEventsRequest` to a `ScExecutionEventsRequest`
     pub fn to_querystate_filter(
         query: grpc_api::ExecutionQueryRequestItem,
    +    max_datastore_query_config: Option<u32>,
    +    max_datastore_key_length: u8,
     ) -> Result<ExecutionQueryRequestItem, ModelsError> {
         if let Some(item) = query.request_item {
             match item {
    @@ -457,15 +513,65 @@
                     ExecutionQueryRequestItem::AddressBytecodeFinal(Address::from_str(&value.address)?),
                 ),
                 exec::RequestItem::AddressDatastoreKeysCandidate(value) => {
    +                let address = Address::from_str(&value.address)?;
    +
    +                let start_key = match (value.start_key, value.inclusive_start_key.unwrap_or(true)) {
    +                    (None, _) => std::ops::Bound::Unbounded,
    +                    (Some(k), true) => std::ops::Bound::Included(k),
    +                    (Some(k), false) => std::ops::Bound::Excluded(k),
    +                };
    +                let end_key = match (value.end_key, value.inclusive_end_key.unwrap_or(true)) {
    +                    (None, _) => std::ops::Bound::Unbounded,
    +                    (Some(k), true) => std::ops::Bound::Included(k),
    +                    (Some(k), false) => std::ops::Bound::Excluded(k),
    +                };
    +
    +                let (prefix, start_key, end_key) = cleanup_datastore_key_range_query(
    +                    &value.prefix,
    +                    start_key,
    +                    end_key,
    +                    value.limit,
    +                    max_datastore_key_length,
    +                    max_datastore_query_config,
    +                )?;
    +
                     Ok(ExecutionQueryRequestItem::AddressDatastoreKeysCandidate {
    -                    addr: Address::from_str(&value.address)?,
    -                    prefix: value.prefix,
    +                    address,
    +                    prefix,
    +                    start_key,
    +                    end_key,
    +                    count: value.limit,
                     })
                 }
                 exec::RequestItem::AddressDatastoreKeysFinal(value) => {
    +                let address = Address::from_str(&value.address)?;
    +
    +                let start_key = match (value.start_key, value.inclusive_start_key.unwrap_or(true)) {
    +                    (None, _) => std::ops::Bound::Unbounded,
    +                    (Some(k), true) => std::ops::Bound::Included(k),
    +                    (Some(k), false) => std::ops::Bound::Excluded(k),
    +                };
    +                let end_key = match (value.end_key, value.inclusive_end_key.unwrap_or(true)) {
    +                    (None, _) => std::ops::Bound::Unbounded,
    +                    (Some(k), true) => std::ops::Bound::Included(k),
    +                    (Some(k), false) => std::ops::Bound::Excluded(k),
    +                };
    +
    +                let (prefix, start_key, end_key) = cleanup_datastore_key_range_query(
    +                    &value.prefix,
    +                    start_key,
    +                    end_key,
    +                    value.limit,
    +                    max_datastore_key_length,
    +                    max_datastore_query_config,
    +                )?;
    +
                     Ok(ExecutionQueryRequestItem::AddressDatastoreKeysFinal {
    -                    addr: Address::from_str(&value.address)?,
    -                    prefix: value.prefix,
    +                    address,
    +                    prefix,
    +                    start_key,
    +                    end_key,
    +                    count: value.limit,
                     })
                 }
                 exec::RequestItem::AddressDatastoreValueCandidate(value) => {
    @@ -651,7 +757,7 @@
             ExecutionQueryResponseItem::DatastoreValue(result) => {
                 grpc_api::execution_query_response_item::ResponseItem::Bytes(result)
             }
    -        ExecutionQueryResponseItem::KeyList(result) => {
    +        ExecutionQueryResponseItem::AddressDatastoreKeys(result, _address, _is_final) => {
                 grpc_api::execution_query_response_item::ResponseItem::VecBytes(
                     grpc_model::ArrayOfBytesWrapper {
                         items: result.into_iter().collect(),
    diff --git a/src/massa_execution_exports/types.rs.html b/src/massa_execution_exports/types.rs.html
    index b9996d4c917..7f272037baa 100644
    --- a/src/massa_execution_exports/types.rs.html
    +++ b/src/massa_execution_exports/types.rs.html
    @@ -363,6 +363,19 @@
     363
     364
     365
    +366
    +367
    +368
    +369
    +370
    +371
    +372
    +373
    +374
    +375
    +376
    +377
    +378
     
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! This file exports useful types used to interact with the execution worker
    @@ -388,6 +401,7 @@
     use massa_storage::Storage;
     use serde::Serialize;
     use std::collections::{BTreeMap, BTreeSet};
    +use std::ops::Bound;
     
     #[cfg(feature = "execution-trace")]
     use crate::types_trace_info::{SlotAbiCallStack, Transfer};
    @@ -433,19 +447,31 @@
         AddressBytecodeCandidate(Address),
         /// gets the bytecode (final) of an address, returns ExecutionQueryResponseItem::Bytecode(bytecode) or an error if the address is not found
         AddressBytecodeFinal(Address),
    -    /// gets the datastore keys (candidate) of an address, returns ExecutionQueryResponseItem::KeyList(keys) or an error if the address is not found
    +    /// gets the datastore keys (candidate) of an address, returns ExecutionQueryResponseItem::AddressDatastoreKeys(keys, addr, is_final) or an error if the address is not found
         AddressDatastoreKeysCandidate {
             /// Address for which to query the datastore
    -        addr: Address,
    +        address: Address,
             /// Filter only entries whose key starts with a prefix
             prefix: Vec<u8>,
    +        /// Bound to start from
    +        start_key: Bound<Vec<u8>>,
    +        /// End bound
    +        end_key: Bound<Vec<u8>>,
    +        /// Maximum number of keys to return
    +        count: Option<u32>,
         },
    -    /// gets the datastore keys (final) of an address, returns ExecutionQueryResponseItem::KeyList(keys) or an error if the address is not found
    +    /// gets the datastore keys (final) of an address, returns ExecutionQueryResponseItem::AddressDatastoreKeys(keys, addr, is_final) or an error if the address is not found
         AddressDatastoreKeysFinal {
             /// Address for which to query the datastore
    -        addr: Address,
    +        address: Address,
             /// Filter only entries whose key starts with a prefix
             prefix: Vec<u8>,
    +        /// Bound to start from
    +        start_key: Bound<Vec<u8>>,
    +        /// End bound
    +        end_key: Bound<Vec<u8>>,
    +        /// Maximum number of keys to return
    +        count: Option<u32>,
         },
         /// gets a datastore value (candidate) for an address, returns ExecutionQueryResponseItem::DatastoreValue(keys) or an error if the address or key is not found
         AddressDatastoreValueCandidate {
    @@ -519,8 +545,8 @@
         Bytecode(Bytecode),
         /// datastore value
         DatastoreValue(Vec<u8>),
    -    /// list of keys
    -    KeyList(BTreeSet<Vec<u8>>),
    +    /// list of keys (keys, address, is_final)
    +    AddressDatastoreKeys(BTreeSet<Vec<u8>>, Address, bool),
         /// deferred call quote (target_slot, gas_request, available, price)
         DeferredCallQuote(Slot, u64, bool, Amount),
         /// deferred call info value
    diff --git a/src/massa_execution_worker/context.rs.html b/src/massa_execution_worker/context.rs.html
    index 00dee7b3573..d82bda3cffb 100644
    --- a/src/massa_execution_worker/context.rs.html
    +++ b/src/massa_execution_worker/context.rs.html
    @@ -1307,6 +1307,30 @@
     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
     
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! This module represents the context in which the VM executes bytecode.
    @@ -1338,6 +1362,7 @@
     use massa_models::address::ExecutionAddressCycleInfo;
     use massa_models::block_id::BlockIdSerializer;
     use massa_models::bytecode::Bytecode;
    +use massa_models::datastore::cleanup_datastore_key_range_query;
     use massa_models::deferred_calls::DeferredCallId;
     use massa_models::denunciation::DenunciationIndex;
     use massa_models::timeslots::get_block_slot_timestamp;
    @@ -1885,8 +1910,31 @@
         }
     
         /// gets the datastore keys of an address if it exists in the speculative ledger, or returns None
    -    pub fn get_keys(&self, address: &Address, prefix: &[u8]) -> Option<BTreeSet<Vec<u8>>> {
    -        self.speculative_ledger.get_keys(address, prefix)
    +    pub fn get_keys(
    +        &self,
    +        addr: &Address,
    +        prefix: &[u8],
    +        start_key: std::ops::Bound<Vec<u8>>,
    +        end_key: std::ops::Bound<Vec<u8>>,
    +        count: Option<u32>,
    +    ) -> Result<Option<BTreeSet<Vec<u8>>>, ExecutionError> {
    +        // TODO when updating the ABI, make sure to set this value to a maximum defined as a CONSTANT for determinism
    +        // The API will use a different, user-configurable max value
    +        let max_datastore_query = None;
    +
    +        // cleanup bounds
    +        let (prefix, start_key, end_key) = cleanup_datastore_key_range_query(
    +            prefix,
    +            start_key,
    +            end_key,
    +            count,
    +            self.config.max_datastore_key_length,
    +            max_datastore_query,
    +        )?;
    +
    +        Ok(self
    +            .speculative_ledger
    +            .get_keys(addr, &prefix, start_key, end_key, count))
         }
     
         /// gets the data from a datastore entry of an address if it exists in the speculative ledger, or returns None
    diff --git a/src/massa_execution_worker/controller.rs.html b/src/massa_execution_worker/controller.rs.html
    index f56dcbc6cf3..b10fe4b9258 100644
    --- a/src/massa_execution_worker/controller.rs.html
    +++ b/src/massa_execution_worker/controller.rs.html
    @@ -580,6 +580,36 @@
     580
     581
     582
    +583
    +584
    +585
    +586
    +587
    +588
    +589
    +590
    +591
    +592
    +593
    +594
    +595
    +596
    +597
    +598
    +599
    +600
    +601
    +602
    +603
    +604
    +605
    +606
    +607
    +608
    +609
    +610
    +611
    +612
     
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! This module implements an execution controller.
    @@ -777,20 +807,44 @@
                             None => Err(ExecutionQueryError::NotFound(format!("Account {}", addr))),
                         }
                     }
    -                ExecutionQueryRequestItem::AddressDatastoreKeysCandidate { addr, prefix } => {
    -                    let (_final_v, speculative_v) =
    -                        execution_lock.get_final_and_candidate_datastore_keys(&addr, &prefix);
    +                ExecutionQueryRequestItem::AddressDatastoreKeysCandidate {
    +                    address,
    +                    prefix,
    +                    start_key,
    +                    end_key,
    +                    count,
    +                } => {
    +                    let (_final_v, speculative_v) = execution_lock
    +                        .get_final_and_candidate_datastore_keys(
    +                            &address, &prefix, start_key, end_key, count,
    +                        );
                         match speculative_v {
    -                        Some(keys) => Ok(ExecutionQueryResponseItem::KeyList(keys)),
    -                        None => Err(ExecutionQueryError::NotFound(format!("Account {}", addr))),
    +                        Some(keys) => Ok(ExecutionQueryResponseItem::AddressDatastoreKeys(
    +                            keys, address, false,
    +                        )),
    +                        None => Err(ExecutionQueryError::NotFound(format!(
    +                            "Account {}",
    +                            address
    +                        ))),
                         }
                     }
    -                ExecutionQueryRequestItem::AddressDatastoreKeysFinal { addr, prefix } => {
    -                    let (final_v, _speculative_v) =
    -                        execution_lock.get_final_and_candidate_datastore_keys(&addr, &prefix);
    +                ExecutionQueryRequestItem::AddressDatastoreKeysFinal {
    +                    address,
    +                    prefix,
    +                    start_key,
    +                    end_key,
    +                    count,
    +                } => {
    +                    let final_v = execution_lock
    +                        .get_final_datastore_keys(&address, &prefix, start_key, end_key, count);
                         match final_v {
    -                        Some(keys) => Ok(ExecutionQueryResponseItem::KeyList(keys)),
    -                        None => Err(ExecutionQueryError::NotFound(format!("Account {}", addr))),
    +                        Some(keys) => Ok(ExecutionQueryResponseItem::AddressDatastoreKeys(
    +                            keys, address, true,
    +                        )),
    +                        None => Err(ExecutionQueryError::NotFound(format!(
    +                            "Account {}",
    +                            address
    +                        ))),
                         }
                     }
                     ExecutionQueryRequestItem::AddressDatastoreValueCandidate { addr, key } => {
    @@ -1057,8 +1111,14 @@
             let mut res = Vec::with_capacity(addresses.len());
             let exec_state = self.execution_state.read();
             for addr in addresses {
    -            let (final_datastore_keys, candidate_datastore_keys) =
    -                exec_state.get_final_and_candidate_datastore_keys(addr, &[]);
    +            let (final_datastore_keys, candidate_datastore_keys) = exec_state
    +                .get_final_and_candidate_datastore_keys(
    +                    addr,
    +                    &[],
    +                    std::ops::Bound::Unbounded,
    +                    std::ops::Bound::Unbounded,
    +                    None,
    +                );
                 let (final_balance, candidate_balance) =
                     exec_state.get_final_and_candidate_balance(addr);
                 let (final_roll_count, candidate_roll_count) =
    diff --git a/src/massa_execution_worker/datastore_scan.rs.html b/src/massa_execution_worker/datastore_scan.rs.html
    new file mode 100644
    index 00000000000..59e22913bb1
    --- /dev/null
    +++ b/src/massa_execution_worker/datastore_scan.rs.html
    @@ -0,0 +1,571 @@
    +datastore_scan.rs - source
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +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
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
    +266
    +267
    +268
    +269
    +270
    +271
    +272
    +273
    +274
    +275
    +276
    +277
    +278
    +279
    +280
    +281
    +282
    +283
    +284
    +285
    +
    //! A file describing an optimized datastore keys traversal algorithm.
    +//! It is shared between execution.rs and speculative_ledger.rs.
    +
    +use std::{
    +    collections::{BTreeMap, BTreeSet, VecDeque},
    +    ops::Bound,
    +    sync::Arc,
    +};
    +
    +use massa_final_state::FinalStateController;
    +use massa_ledger_exports::LedgerChanges;
    +use massa_models::{
    +    address::Address,
    +    datastore::{get_prefix_bounds, range_intersection},
    +    types::{SetOrDelete, SetUpdateOrDelete},
    +};
    +use parking_lot::RwLock;
    +
    +use crate::active_history::ActiveHistory;
    +
    +/// Gets a copy of a datastore keys for a given address
    +///
    +/// # Arguments
    +/// * `addr`: address to query
    +/// * `prefix`: prefix to filter keys
    +/// * `start_key`: start key of the range
    +/// * `end_key`: end key of the range
    +/// * `count`: maximum number of keys to return
    +///
    +/// # Returns
    +/// A tuple of two `Option<BTreeSet<Vec<u8>>>`:
    +/// `None` means that the address does not exist.
    +/// The first element is the final state keys, the second element is the speculative keys.
    +#[allow(clippy::type_complexity, clippy::too_many_arguments)]
    +pub fn scan_datastore(
    +    addr: &Address,
    +    prefix: &[u8],
    +    start_key: Bound<Vec<u8>>,
    +    end_key: Bound<Vec<u8>>,
    +    count: Option<u32>,
    +    final_state: Arc<RwLock<dyn FinalStateController>>,
    +    active_history: Arc<RwLock<ActiveHistory>>,
    +    added_changes: Option<&LedgerChanges>,
    +) -> (Option<BTreeSet<Vec<u8>>>, Option<BTreeSet<Vec<u8>>>) {
    +    // get final keys
    +    let final_keys = final_state.read().get_ledger().get_datastore_keys(
    +        addr,
    +        prefix,
    +        start_key.clone(),
    +        end_key.clone(),
    +        count,
    +    );
    +
    +    // the iteration range is the intersection of the prefix range and the selection range
    +    let key_range = range_intersection(
    +        get_prefix_bounds(prefix),
    +        (start_key.clone(), end_key.clone()),
    +    );
    +
    +    enum SpeculativeResetType {
    +        None,
    +        Set,
    +        Delete,
    +    }
    +
    +    // process speculative history
    +    let mut speculative_reset = SpeculativeResetType::None;
    +    let mut key_updates = BTreeMap::new();
    +    {
    +        let mut update_indices = VecDeque::new();
    +        let history_lock = active_history.read();
    +
    +        let it = history_lock
    +            .0
    +            .iter()
    +            .map(|v| &v.state_changes.ledger_changes)
    +            .chain(added_changes.iter().copied());
    +        let mut index = history_lock.0.len() + if added_changes.is_some() { 1 } else { 0 };
    +        for output in it.rev() {
    +            index -= 1;
    +            match output.get(addr) {
    +                // address absent from the changes
    +                None => (),
    +
    +                // address ledger entry being reset to an absolute new list of keys
    +                Some(SetUpdateOrDelete::Set(v)) => {
    +                    if let Some(k_range) = key_range.as_ref() {
    +                        key_updates = v
    +                            .datastore
    +                            .range(k_range.clone())
    +                            .map(|(k, _v)| (k.clone(), true))
    +                            .collect();
    +                    }
    +                    speculative_reset = SpeculativeResetType::Set;
    +                    break;
    +                }
    +
    +                // address ledger entry being updated within the key range of interest
    +                Some(SetUpdateOrDelete::Update(updates)) => {
    +                    if let Some(k_range) = key_range.as_ref() {
    +                        if updates.datastore.range(k_range.clone()).next().is_some() {
    +                            update_indices.push_front(index);
    +                        }
    +                    }
    +                }
    +
    +                // address ledger entry being deleted
    +                Some(SetUpdateOrDelete::Delete) => {
    +                    speculative_reset = SpeculativeResetType::Delete;
    +                    break;
    +                }
    +            }
    +        }
    +        if matches!(speculative_reset, SpeculativeResetType::Delete) && !update_indices.is_empty() {
    +            // if there are updates after an address deletion, consider it a Set
    +            speculative_reset = SpeculativeResetType::Set;
    +        }
    +
    +        // aggregate key updates
    +        for idx in update_indices {
    +            let changes = if idx < history_lock.0.len() {
    +                &history_lock.0[idx].state_changes.ledger_changes
    +            } else if let Some(added_changes) = added_changes.as_ref() {
    +                *added_changes
    +            } else {
    +                panic!("unexpected index out of bounds")
    +            };
    +
    +            if let SetUpdateOrDelete::Update(updates) = changes
    +                .get(addr)
    +                .expect("address unexpectedly absent from the changes")
    +            {
    +                if let Some(k_range) = key_range.as_ref() {
    +                    for (k, update) in updates.datastore.range(k_range.clone()) {
    +                        match update {
    +                            SetOrDelete::Set(_) => {
    +                                key_updates.insert(k.clone(), true);
    +                            }
    +                            SetOrDelete::Delete => {
    +                                key_updates.insert(k.clone(), false);
    +                            }
    +                        }
    +                    }
    +                }
    +            } else {
    +                panic!("unexpected state change");
    +            }
    +        }
    +    }
    +
    +    // process reset-related edge cases
    +    match speculative_reset {
    +        SpeculativeResetType::Delete => {
    +            // the address was deleted in the speculative history without further updates
    +            return (final_keys, None);
    +        }
    +        SpeculativeResetType::Set => {
    +            // the address was reset in the speculative history
    +            let filter_it = key_updates
    +                .into_iter()
    +                .filter_map(|(k, is_set)| if is_set { Some(k) } else { None });
    +            if let Some(cnt) = count {
    +                return (final_keys, Some(filter_it.take(cnt as usize).collect()));
    +            } else {
    +                return (final_keys, Some(filter_it.collect()));
    +            }
    +        }
    +        SpeculativeResetType::None => {
    +            // there was no reset
    +            if key_updates.is_empty() {
    +                // there were no updates: return the same as final
    +                return (final_keys.clone(), final_keys);
    +            } else if final_keys.is_none() {
    +                // handle the case where there were updates but the final address was absent
    +                let filter_it =
    +                    key_updates
    +                        .into_iter()
    +                        .filter_map(|(k, is_set)| if is_set { Some(k) } else { None });
    +                if let Some(cnt) = count {
    +                    return (None, Some(filter_it.take(cnt as usize).collect()));
    +                } else {
    +                    return (None, Some(filter_it.collect()));
    +                }
    +            }
    +        }
    +    }
    +
    +    // If we reach this point, it means that all of the following is true:
    +    //   * the final key list is present
    +    //   * there was no reset/delete in the speculative history
    +    //   * there were updates in the speculative history
    +    // This means that we need to merge the final and speculative key lists,
    +    // querying more final keys if necessary to reach the desired count.
    +
    +    let mut final_keys_queue: VecDeque<_> = final_keys
    +        .as_ref()
    +        .expect("expected final keys to be non-None")
    +        .iter()
    +        .cloned()
    +        .collect();
    +    let mut speculative_keys: BTreeSet<_> = Default::default();
    +    let mut last_final_batch_key = final_keys_queue.back().cloned();
    +    let mut key_updates_it = key_updates.into_iter().peekable();
    +    loop {
    +        if let Some(cnt) = count {
    +            if speculative_keys.len() >= cnt as usize {
    +                return (final_keys, Some(speculative_keys));
    +            }
    +        }
    +        match (final_keys_queue.front(), key_updates_it.peek()) {
    +            (Some(_f), None) => {
    +                // final only
    +                let k = final_keys_queue
    +                    .pop_front()
    +                    .expect("expected final list to be non-empty");
    +                speculative_keys.insert(k);
    +            }
    +            (Some(f), Some((u, _is_set))) => {
    +                // key present both in the final state and as a speculative update
    +                match f.cmp(u) {
    +                    std::cmp::Ordering::Less => {
    +                        // take into account final only
    +                        let k = final_keys_queue
    +                            .pop_front()
    +                            .expect("expected final key queue to be non-empty");
    +                        speculative_keys.insert(k);
    +                    }
    +                    std::cmp::Ordering::Equal => {
    +                        // take into account the change but pop both
    +                        let (k, is_set) = key_updates_it
    +                            .next()
    +                            .expect("expected key update queue to be non-empty");
    +                        final_keys_queue.pop_front();
    +                        if is_set {
    +                            speculative_keys.insert(k);
    +                        }
    +                    }
    +                    std::cmp::Ordering::Greater => {
    +                        // take into account the update only
    +                        let (k, is_set) = key_updates_it
    +                            .next()
    +                            .expect("expected key update queue to be non-empty");
    +                        if is_set {
    +                            speculative_keys.insert(k);
    +                        }
    +                    }
    +                }
    +            }
    +            (None, Some((_u, _is_set))) => {
    +                // no final but there is a change
    +                let (k, is_set) = key_updates_it
    +                    .next()
    +                    .expect("expected key update queue to be non-empty");
    +                if is_set {
    +                    speculative_keys.insert(k);
    +                }
    +            }
    +            (None, None) => {
    +                // nothing is left
    +                return (final_keys, Some(speculative_keys));
    +            }
    +        }
    +
    +        if final_keys_queue.is_empty() {
    +            if let Some(last_k) = last_final_batch_key.take() {
    +                // the last final item was consumed: replenish the queue by querying more
    +                final_keys_queue = final_state
    +                    .read()
    +                    .get_ledger()
    +                    .get_datastore_keys(
    +                        addr,
    +                        prefix,
    +                        std::ops::Bound::Excluded(last_k),
    +                        end_key.clone(),
    +                        count,
    +                    )
    +                    .expect("address expected to exist in final state")
    +                    .iter()
    +                    .cloned()
    +                    .collect();
    +                last_final_batch_key = final_keys_queue.back().cloned();
    +            }
    +        }
    +    }
    +}
    +
    \ No newline at end of file diff --git a/src/massa_execution_worker/execution.rs.html b/src/massa_execution_worker/execution.rs.html index df43a9001a6..7ebc4f6e661 100644 --- a/src/massa_execution_worker/execution.rs.html +++ b/src/massa_execution_worker/execution.rs.html @@ -2496,31 +2496,6 @@ 2496 2497 2498 -2499 -2500 -2501 -2502 -2503 -2504 -2505 -2506 -2507 -2508 -2509 -2510 -2511 -2512 -2513 -2514 -2515 -2516 -2517 -2518 -2519 -2520 -2521 -2522 -2523
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! This module deals with executing final and active slots, as well as read-only requests.
    @@ -2533,6 +2508,7 @@
     
     use crate::active_history::{ActiveHistory, HistorySearchResult};
     use crate::context::{ExecutionContext, ExecutionContextSnapshot};
    +use crate::datastore_scan::scan_datastore;
     use crate::interface_impl::InterfaceImpl;
     use crate::stats::ExecutionStatsCounter;
     #[cfg(feature = "dump-block")]
    @@ -2550,7 +2526,6 @@
     use massa_metrics::MassaMetrics;
     use massa_models::address::ExecutionAddressCycleInfo;
     use massa_models::bytecode::Bytecode;
    -use massa_models::datastore::get_prefix_bounds;
     use massa_models::deferred_calls::DeferredCallId;
     use massa_models::denunciation::{Denunciation, DenunciationIndex};
     use massa_models::execution::EventFilter;
    @@ -2558,7 +2533,6 @@
     use massa_models::prehash::PreHashSet;
     use massa_models::stats::ExecutionStats;
     use massa_models::timeslots::get_block_slot_timestamp;
    -use massa_models::types::{SetOrDelete, SetUpdateOrDelete};
     use massa_models::{
         address::Address,
         block_id::BlockId,
    @@ -2573,6 +2547,7 @@
     use massa_wallet::Wallet;
     use parking_lot::{Mutex, RwLock};
     use std::collections::{BTreeMap, BTreeSet};
    +use std::ops::Bound;
     use std::sync::Arc;
     use tracing::{debug, info, trace, warn};
     
    @@ -4712,65 +4687,40 @@
             )
         }
     
    +    pub fn get_final_datastore_keys(
    +        &self,
    +        addr: &Address,
    +        prefix: &[u8],
    +        start_key: Bound<Vec<u8>>,
    +        end_key: Bound<Vec<u8>>,
    +        count: Option<u32>,
    +    ) -> Option<BTreeSet<Vec<u8>>> {
    +        self.final_state
    +            .read()
    +            .get_ledger()
    +            .get_datastore_keys(addr, prefix, start_key, end_key, count)
    +    }
    +
         /// Get every final and active datastore key of the given address
         #[allow(clippy::type_complexity)]
         pub fn get_final_and_candidate_datastore_keys(
             &self,
             addr: &Address,
             prefix: &[u8],
    +        start_key: Bound<Vec<u8>>,
    +        end_key: Bound<Vec<u8>>,
    +        count: Option<u32>,
         ) -> (Option<BTreeSet<Vec<u8>>>, Option<BTreeSet<Vec<u8>>>) {
    -        // here, get the final keys from the final ledger, and make a copy of it for the candidate list
    -        // let final_keys = final_state.read().ledger.get_datastore_keys(addr);
    -        let final_keys = self
    -            .final_state
    -            .read()
    -            .get_ledger()
    -            .get_datastore_keys(addr, prefix);
    -
    -        let mut candidate_keys = final_keys.clone();
    -
    -        // compute prefix range
    -        let prefix_range = get_prefix_bounds(prefix);
    -        let range_ref = (prefix_range.0.as_ref(), prefix_range.1.as_ref());
    -
    -        // traverse the history from oldest to newest, applying additions and deletions
    -        for output in &self.active_history.read().0 {
    -            match output.state_changes.ledger_changes.get(addr) {
    -                // address absent from the changes
    -                None => (),
    -
    -                // address ledger entry being reset to an absolute new list of keys
    -                Some(SetUpdateOrDelete::Set(new_ledger_entry)) => {
    -                    candidate_keys = Some(
    -                        new_ledger_entry
    -                            .datastore
    -                            .range::<Vec<u8>, _>(range_ref)
    -                            .map(|(k, _v)| k.clone())
    -                            .collect(),
    -                    );
    -                }
    -
    -                // address ledger entry being updated
    -                Some(SetUpdateOrDelete::Update(entry_updates)) => {
    -                    let c_k = candidate_keys.get_or_insert_with(Default::default);
    -                    for (ds_key, ds_update) in
    -                        entry_updates.datastore.range::<Vec<u8>, _>(range_ref)
    -                    {
    -                        match ds_update {
    -                            SetOrDelete::Set(_) => c_k.insert(ds_key.clone()),
    -                            SetOrDelete::Delete => c_k.remove(ds_key),
    -                        };
    -                    }
    -                }
    -
    -                // address ledger entry being deleted
    -                Some(SetUpdateOrDelete::Delete) => {
    -                    candidate_keys = None;
    -                }
    -            }
    -        }
    -
    -        (final_keys, candidate_keys)
    +        scan_datastore(
    +            addr,
    +            prefix,
    +            start_key,
    +            end_key,
    +            count,
    +            self.final_state.clone(),
    +            self.active_history.clone(),
    +            None,
    +        )
         }
     
         pub fn get_address_cycle_infos(&self, address: &Address) -> Vec<ExecutionAddressCycleInfo> {
    diff --git a/src/massa_execution_worker/interface_impl.rs.html b/src/massa_execution_worker/interface_impl.rs.html
    index ee128b91aae..f4bbb7efe0a 100644
    --- a/src/massa_execution_worker/interface_impl.rs.html
    +++ b/src/massa_execution_worker/interface_impl.rs.html
    @@ -2333,6 +2333,40 @@
     2333
     2334
     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
     
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! Implementation of the interface between massa-execution-worker and massa-sc-runtime.
    @@ -2757,7 +2791,21 @@
         fn get_keys(&self, prefix_opt: Option<&[u8]>) -> Result<BTreeSet<Vec<u8>>> {
             let context = context_guard!(self);
             let addr = context.get_current_address()?;
    -        match context.get_keys(&addr, prefix_opt.unwrap_or_default()) {
    +
    +        // TODO update when implementing the ABI key limits
    +        let start_key = std::ops::Bound::Unbounded;
    +        // TODO update when implementing the ABI key limits
    +        let end_key = std::ops::Bound::Unbounded;
    +        // TODO update when implementing the ABI key limits
    +        let count = None;
    +
    +        match context.get_keys(
    +            &addr,
    +            prefix_opt.unwrap_or_default(),
    +            start_key,
    +            end_key,
    +            count,
    +        )? {
                 Some(value) => Ok(value),
                 _ => bail!("data entry not found"),
             }
    @@ -2772,7 +2820,20 @@
         fn get_keys_for(&self, address: &str, prefix_opt: Option<&[u8]>) -> Result<BTreeSet<Vec<u8>>> {
             let addr = &Address::from_str(address)?;
             let context = context_guard!(self);
    -        match context.get_keys(addr, prefix_opt.unwrap_or_default()) {
    +        // TODO update when implementing the ABI key limits
    +        let start_key = std::ops::Bound::Unbounded;
    +        // TODO update when implementing the ABI key limits
    +        let end_key = std::ops::Bound::Unbounded;
    +        // TODO update when implementing the ABI key limits
    +        let count = None;
    +
    +        match context.get_keys(
    +            addr,
    +            prefix_opt.unwrap_or_default(),
    +            start_key,
    +            end_key,
    +            count,
    +        )? {
                 Some(value) => Ok(value),
                 _ => bail!("data entry not found"),
             }
    @@ -2790,7 +2851,14 @@
             let context = context_guard!(self);
             let address = get_address_from_opt_or_context(&context, address)?;
     
    -        match context.get_keys(&address, prefix) {
    +        // TODO update when implementing the ABI key limits
    +        let start_key = std::ops::Bound::Unbounded;
    +        // TODO update when implementing the ABI key limits
    +        let end_key = std::ops::Bound::Unbounded;
    +        // TODO update when implementing the ABI key limits
    +        let count = None;
    +
    +        match context.get_keys(&address, prefix, start_key, end_key, count)? {
                 Some(value) => Ok(value),
                 _ => bail!("data entry not found"),
             }
    diff --git a/src/massa_execution_worker/lib.rs.html b/src/massa_execution_worker/lib.rs.html
    index 58f95d6f4f5..a1f84a056ca 100644
    --- a/src/massa_execution_worker/lib.rs.html
    +++ b/src/massa_execution_worker/lib.rs.html
    @@ -118,6 +118,7 @@
     118
     119
     120
    +121
     
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! # General description
    @@ -202,6 +203,7 @@
     mod active_history;
     mod context;
     mod controller;
    +mod datastore_scan;
     mod execution;
     mod interface_impl;
     mod request_queue;
    diff --git a/src/massa_execution_worker/speculative_ledger.rs.html b/src/massa_execution_worker/speculative_ledger.rs.html
    index eb812184858..e1c520a75a3 100644
    --- a/src/massa_execution_worker/speculative_ledger.rs.html
    +++ b/src/massa_execution_worker/speculative_ledger.rs.html
    @@ -625,40 +625,6 @@
     625
     626
     627
    -628
    -629
    -630
    -631
    -632
    -633
    -634
    -635
    -636
    -637
    -638
    -639
    -640
    -641
    -642
    -643
    -644
    -645
    -646
    -647
    -648
    -649
    -650
    -651
    -652
    -653
    -654
    -655
    -656
    -657
    -658
    -659
    -660
    -661
     
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! The speculative ledger represents, in a compressed way,
    @@ -667,13 +633,13 @@
     //! but keeps track of the changes that were applied to it since its creation.
     
     use crate::active_history::{ActiveHistory, HistorySearchResult};
    +use crate::datastore_scan::scan_datastore;
     use massa_execution_exports::ExecutionError;
     use massa_execution_exports::StorageCostsConstants;
     use massa_final_state::FinalStateController;
     use massa_ledger_exports::LedgerChanges;
     use massa_models::bytecode::Bytecode;
    -use massa_models::datastore::get_prefix_bounds;
    -use massa_models::types::{Applicable, SetOrDelete, SetUpdateOrDelete};
    +use massa_models::types::Applicable;
     use massa_models::{address::Address, amount::Amount};
     use parking_lot::RwLock;
     use std::cmp::Ordering;
    @@ -1017,67 +983,33 @@
         ///
         /// # Arguments
         /// * `addr`: address to query
    -    /// * `prefix`: prefix to filter the keys
    +    /// * `prefix`: prefix to filter keys
    +    /// * `start_key`: start key of the range
    +    /// * `end_key`: end key of the range
    +    /// * `count`: maximum number of keys to return
         ///
         /// # Returns
         /// `Some(Vec<Vec<u8>>)` for found keys, `None` if the address does not exist.
    -    pub fn get_keys(&self, addr: &Address, prefix: &[u8]) -> Option<BTreeSet<Vec<u8>>> {
    -        // compute prefix range
    -        let prefix_range = get_prefix_bounds(prefix);
    -        let range_ref = (prefix_range.0.as_ref(), prefix_range.1.as_ref());
    -
    -        // init keys with final state
    -        let mut candidate_keys: Option<BTreeSet<Vec<u8>>> = self
    -            .final_state
    -            .read()
    -            .get_ledger()
    -            .get_datastore_keys(addr, prefix);
    -
    -        // here, traverse the history from oldest to newest with added_changes at the end, applying additions and deletions
    -        let active_history = self.active_history.read();
    -        let changes_iterator = active_history
    -            .0
    -            .iter()
    -            .map(|item| &item.state_changes.ledger_changes)
    -            .chain(std::iter::once(&self.added_changes));
    -        for ledger_changes in changes_iterator {
    -            match ledger_changes.get(addr) {
    -                // address absent from the changes
    -                None => (),
    -
    -                // address ledger entry being reset to an absolute new list of keys
    -                Some(SetUpdateOrDelete::Set(new_ledger_entry)) => {
    -                    candidate_keys = Some(
    -                        new_ledger_entry
    -                            .datastore
    -                            .range::<Vec<u8>, _>(range_ref)
    -                            .map(|(k, _v)| k.clone())
    -                            .collect(),
    -                    );
    -                }
    -
    -                // address ledger entry being updated
    -                Some(SetUpdateOrDelete::Update(entry_updates)) => {
    -                    let c_k = candidate_keys.get_or_insert_with(Default::default);
    -                    for (ds_key, ds_update) in
    -                        entry_updates.datastore.range::<Vec<u8>, _>(range_ref)
    -                    {
    -                        match ds_update {
    -                            SetOrDelete::Set(_) => c_k.insert(ds_key.clone()),
    -                            SetOrDelete::Delete => c_k.remove(ds_key),
    -                        };
    -                    }
    -                }
    -
    -                // address ledger entry being deleted
    -                Some(SetUpdateOrDelete::Delete) => {
    -                    candidate_keys = None;
    -                }
    -            }
    -        }
    -
    -        candidate_keys
    -    }
    +    pub fn get_keys(
    +        &self,
    +        addr: &Address,
    +        prefix: &[u8],
    +        start_key: std::ops::Bound<Vec<u8>>,
    +        end_key: std::ops::Bound<Vec<u8>>,
    +        count: Option<u32>,
    +    ) -> Option<BTreeSet<Vec<u8>>> {
    +        scan_datastore(
    +            addr,
    +            prefix,
    +            start_key,
    +            end_key,
    +            count,
    +            self.final_state.clone(),
    +            self.active_history.clone(),
    +            Some(&self.added_changes),
    +        )
    +        .1
    +    }
     
         /// Gets a copy of a datastore value for a given address and datastore key
         ///
    diff --git a/src/massa_grpc/config.rs.html b/src/massa_grpc/config.rs.html
    index 20cc0302efb..89585c0397e 100644
    --- a/src/massa_grpc/config.rs.html
    +++ b/src/massa_grpc/config.rs.html
    @@ -155,6 +155,10 @@
     155
     156
     157
    +158
    +159
    +160
    +161
     
    // Copyright (c) 2023 MASSA LABS <info@massa.net>
     
     use massa_models::amount::Amount;
    @@ -293,6 +297,10 @@
         pub chain_id: u64,
         /// minimal fees
         pub minimal_fees: Amount,
    +    /// max datastore keys queries
    +    pub max_datastore_keys_queries: Option<u32>,
    +    /// max datastore key length
    +    pub max_datastore_key_length: u8,
     }
     
     /// gRPC API configuration.
    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..3a35455dc13 100644
    --- a/src/massa_grpc/public.rs.html
    +++ b/src/massa_grpc/public.rs.html
    @@ -1524,6 +1524,11 @@
     1524
     1525
     1526
    +1527
    +1528
    +1529
    +1530
    +1531
     
    // Copyright (c) 2023 MASSA LABS <info@massa.net>
     
     use crate::error::GrpcError;
    @@ -2486,6 +2491,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,23 +2524,27 @@
         grpc: &MassaPublicGrpc,
         request: tonic::Request<grpc_api::QueryStateRequest>,
     ) -> Result<grpc_api::QueryStateResponse, GrpcError> {
    -    let queries = request
    -        .into_inner()
    -        .queries
    -        .into_iter()
    -        .map(to_querystate_filter)
    -        .collect::<Result<Vec<_>, _>>()?;
    -
    +    let queries = request.into_inner().queries;
         if queries.is_empty() {
             return Err(GrpcError::InvalidArgument(
                 "no query items specified".to_string(),
             ));
         }
    -
         if queries.len() as u32 > grpc.grpc_config.max_query_items_per_request {
             return Err(GrpcError::InvalidArgument(format!("too many query items received. Only a maximum of {} operations are accepted per request", grpc.grpc_config.max_query_items_per_request)));
         }
     
    +    let queries = queries
    +        .into_iter()
    +        .map(|q| {
    +            to_querystate_filter(
    +                q,
    +                grpc.grpc_config.max_datastore_keys_queries,
    +                grpc.grpc_config.max_datastore_key_length,
    +            )
    +        })
    +        .collect::<Result<Vec<_>, _>>()?;
    +
         let response = grpc
             .execution_controller
             .query_state(ExecutionQueryRequest { requests: queries });
    diff --git a/src/massa_ledger_exports/controller.rs.html b/src/massa_ledger_exports/controller.rs.html
    index ce4cdd2c443..f40e17f523d 100644
    --- a/src/massa_ledger_exports/controller.rs.html
    +++ b/src/massa_ledger_exports/controller.rs.html
    @@ -74,8 +74,15 @@
     74
     75
     76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
     
    use massa_models::{address::Address, amount::Amount, bytecode::Bytecode};
    -use std::collections::BTreeSet;
    +use std::{collections::BTreeSet, ops::Bound};
     
     use crate::{LedgerChanges, LedgerError};
     use massa_db_exports::DBBatch;
    @@ -120,7 +127,14 @@
         ///
         /// # Returns
         /// A `BTreeSet` of the datastore keys
    -    fn get_datastore_keys(&self, addr: &Address, prefix: &[u8]) -> Option<BTreeSet<Vec<u8>>>;
    +    fn get_datastore_keys(
    +        &self,
    +        addr: &Address,
    +        prefix: &[u8],
    +        start_key: Bound<Vec<u8>>,
    +        end_key: Bound<Vec<u8>>,
    +        count: Option<u32>,
    +    ) -> Option<BTreeSet<Vec<u8>>>;
     
         /// Reset the ledger
         ///
    diff --git a/src/massa_ledger_worker/ledger.rs.html b/src/massa_ledger_worker/ledger.rs.html
    index d7aa5aed282..084971bc72a 100644
    --- a/src/massa_ledger_worker/ledger.rs.html
    +++ b/src/massa_ledger_worker/ledger.rs.html
    @@ -183,6 +183,17 @@
     183
     184
     185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
     
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! This file defines the final ledger associating addresses to their balances, bytecode and data.
    @@ -198,8 +209,11 @@
         bytecode::{Bytecode, BytecodeDeserializer},
     };
     use massa_serialization::{DeserializeError, Deserializer};
    -use std::collections::{BTreeSet, HashMap};
     use std::ops::Bound::Included;
    +use std::{
    +    collections::{BTreeSet, HashMap},
    +    ops::Bound,
    +};
     
     /// 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.
    @@ -323,8 +337,16 @@
         ///
         /// # Returns
         /// A `BTreeSet` of the datastore keys
    -    fn get_datastore_keys(&self, addr: &Address, prefix: &[u8]) -> Option<BTreeSet<Vec<u8>>> {
    -        self.sorted_ledger.get_datastore_keys(addr, prefix)
    +    fn get_datastore_keys(
    +        &self,
    +        addr: &Address,
    +        prefix: &[u8],
    +        start_key: Bound<Vec<u8>>,
    +        end_key: Bound<Vec<u8>>,
    +        count: Option<u32>,
    +    ) -> Option<BTreeSet<Vec<u8>>> {
    +        self.sorted_ledger
    +            .get_datastore_keys(addr, prefix, start_key, end_key, count)
         }
     
         /// Reset the disk ledger.
    diff --git a/src/massa_ledger_worker/ledger_db.rs.html b/src/massa_ledger_worker/ledger_db.rs.html
    index 14bb8ec77c4..cdb715bf635 100644
    --- a/src/massa_ledger_worker/ledger_db.rs.html
    +++ b/src/massa_ledger_worker/ledger_db.rs.html
    @@ -722,6 +722,123 @@
     722
     723
     724
    +725
    +726
    +727
    +728
    +729
    +730
    +731
    +732
    +733
    +734
    +735
    +736
    +737
    +738
    +739
    +740
    +741
    +742
    +743
    +744
    +745
    +746
    +747
    +748
    +749
    +750
    +751
    +752
    +753
    +754
    +755
    +756
    +757
    +758
    +759
    +760
    +761
    +762
    +763
    +764
    +765
    +766
    +767
    +768
    +769
    +770
    +771
    +772
    +773
    +774
    +775
    +776
    +777
    +778
    +779
    +780
    +781
    +782
    +783
    +784
    +785
    +786
    +787
    +788
    +789
    +790
    +791
    +792
    +793
    +794
    +795
    +796
    +797
    +798
    +799
    +800
    +801
    +802
    +803
    +804
    +805
    +806
    +807
    +808
    +809
    +810
    +811
    +812
    +813
    +814
    +815
    +816
    +817
    +818
    +819
    +820
    +821
    +822
    +823
    +824
    +825
    +826
    +827
    +828
    +829
    +830
    +831
    +832
    +833
    +834
    +835
    +836
    +837
    +838
    +839
    +840
    +841
     
    //! Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! Module to interact with the disk ledger
    @@ -733,7 +850,7 @@
     use massa_ledger_exports::*;
     use massa_models::amount::AmountDeserializer;
     use massa_models::bytecode::BytecodeDeserializer;
    -use massa_models::datastore::get_prefix_bounds;
    +use massa_models::datastore::{get_prefix_bounds, range_intersection};
     use massa_models::types::{SetOrDelete, SetOrKeep, SetUpdateOrDelete};
     use massa_models::{
         address::Address, amount::AmountSerializer, bytecode::BytecodeSerializer, slot::Slot,
    @@ -897,7 +1014,14 @@
         ///
         /// # Returns
         /// A `BTreeSet` of the datastore keys
    -    pub fn get_datastore_keys(&self, addr: &Address, prefix: &[u8]) -> Option<BTreeSet<Vec<u8>>> {
    +    pub fn get_datastore_keys(
    +        &self,
    +        addr: &Address,
    +        prefix: &[u8],
    +        start_key: Bound<Vec<u8>>,
    +        end_key: Bound<Vec<u8>>,
    +        count: Option<u32>,
    +    ) -> Option<BTreeSet<Vec<u8>>> {
             let db = self.db.read();
     
             // check if address exists, return None if it does not
    @@ -910,30 +1034,67 @@
                 db.get_cf(STATE_CF, serialized_key).expect(CRUD_ERROR)?;
             }
     
    -        // collect keys starting with prefix
    -        let start_prefix = datastore_prefix_from_address(addr, prefix);
    -        let end_prefix = end_prefix(&start_prefix);
    -        Some(
    -            db.iterator_cf(
    -                STATE_CF,
    -                MassaIteratorMode::From(&start_prefix, MassaDirection::Forward),
    -            )
    -            .take_while(|(key, _)| match &end_prefix {
    -                Some(end) => key < end,
    -                None => true,
    -            })
    -            .filter_map(|(key, _)| {
    -                let (_rest, key) = self
    -                    .key_deserializer_db
    -                    .deserialize::<DeserializeError>(&key)
    -                    .expect("could not deserialize datastore key from state db");
    -                match key.key_type {
    -                    KeyType::DATASTORE(datastore_vec) => Some(datastore_vec),
    -                    _ => None,
    +        // deduce datastore key iteration range
    +        let Some((start_bound, end_bound)) =
    +            range_intersection(get_prefix_bounds(prefix), (start_key, end_key))
    +        else {
    +            // empty range: no keys
    +            return Some(Default::default());
    +        };
    +        // translate the range bounds in terms of database keys
    +        let start_key = match start_bound {
    +            std::ops::Bound::Unbounded => datastore_prefix_from_address(addr, &[]),
    +            std::ops::Bound::Included(k) => datastore_prefix_from_address(addr, &k),
    +            std::ops::Bound::Excluded(k) => {
    +                let mut v = datastore_prefix_from_address(addr, &k);
    +                v.push(0); // get the next key, lexicographically speaking
    +                v
    +            }
    +        };
    +        let end_bound = match end_bound {
    +            std::ops::Bound::Unbounded => std::ops::Bound::Unbounded,
    +            std::ops::Bound::Excluded(k) => {
    +                std::ops::Bound::Excluded(datastore_prefix_from_address(addr, &k))
    +            }
    +            std::ops::Bound::Included(k) => {
    +                std::ops::Bound::Included(datastore_prefix_from_address(addr, &k))
    +            }
    +        };
    +
    +        // collect the keys
    +        let mut res = BTreeSet::new();
    +        for (key, _) in db.iterator_cf(
    +            STATE_CF,
    +            MassaIteratorMode::From(&start_key, MassaDirection::Forward),
    +        ) {
    +            // check count
    +            if let Some(cnt) = count.as_ref() {
    +                if res.len() >= *cnt as usize {
    +                    break;
                     }
    -            })
    -            .collect(),
    -        )
    +            }
    +
    +            // check range
    +            let do_continue = match &end_bound {
    +                std::ops::Bound::Unbounded => true,
    +                std::ops::Bound::Included(ub) => &key <= ub,
    +                std::ops::Bound::Excluded(ub) => &key < ub,
    +            };
    +            if !do_continue {
    +                break;
    +            }
    +
    +            // deserialize key and check type
    +            let (_rest, key) = self
    +                .key_deserializer_db
    +                .deserialize::<DeserializeError>(&key)
    +                .expect("could not deserialize datastore key from state db");
    +            if let KeyType::DATASTORE(key) = key.key_type {
    +                res.insert(key);
    +            }
    +        }
    +
    +        Some(res)
         }
     
         pub fn reset(&self) {
    @@ -1320,8 +1481,17 @@
     
             let mut data = BTreeMap::new();
             data.insert(b"1".to_vec(), b"a".to_vec());
    +        data.insert(b"11".to_vec(), b"a".to_vec());
    +        data.insert(b"111".to_vec(), b"a".to_vec());
    +        data.insert(b"12".to_vec(), b"a".to_vec());
    +        data.insert(b"13".to_vec(), b"a".to_vec());
    +
             data.insert(b"2".to_vec(), b"b".to_vec());
    +        data.insert(b"21".to_vec(), b"a".to_vec());
    +
             data.insert(b"3".to_vec(), b"c".to_vec());
    +        data.insert(b"34".to_vec(), b"c".to_vec());
    +
             let entry = LedgerEntry {
                 balance: Amount::from_str("42").unwrap(),
                 datastore: data.clone(),
    @@ -1445,5 +1615,69 @@
             // println!("datastore: {:?}", datastore);
             assert!(datastore.is_empty());
         }
    +
    +    #[test]
    +    fn get_datastore_keys() {
    +        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 keys = ledger_db
    +            .get_datastore_keys(&addr, &[], Bound::Unbounded, Bound::Unbounded, None)
    +            .unwrap();
    +
    +        assert_eq!(keys.len(), 9);
    +
    +        let keys = ledger_db
    +            .get_datastore_keys(&addr, &[], Bound::Unbounded, Bound::Unbounded, Some(4))
    +            .unwrap();
    +
    +        assert_eq!(keys.len(), 4);
    +
    +        let mut keys = ledger_db
    +            .get_datastore_keys(
    +                &addr,
    +                &[],
    +                Bound::Included(b"2".to_vec()),
    +                Bound::Unbounded,
    +                None,
    +            )
    +            .unwrap();
    +
    +        assert_eq!(keys.pop_first().unwrap(), b"2".to_vec());
    +        assert_eq!(keys.pop_first().unwrap(), b"21".to_vec());
    +        assert_eq!(keys.pop_first().unwrap(), b"3".to_vec());
    +        assert_eq!(keys.pop_first().unwrap(), b"34".to_vec());
    +        assert_eq!(keys.pop_first(), None);
    +
    +        let mut keys = ledger_db
    +            .get_datastore_keys(
    +                &addr,
    +                &[],
    +                Bound::Included(b"2".to_vec()),
    +                Bound::Excluded(b"3".to_vec()),
    +                None,
    +            )
    +            .unwrap();
    +
    +        assert_eq!(keys.pop_first().unwrap(), b"2".to_vec());
    +        assert_eq!(keys.pop_first().unwrap(), b"21".to_vec());
    +        assert_eq!(keys.pop_first(), None);
    +
    +        let mut keys = ledger_db
    +            .get_datastore_keys(
    +                &addr,
    +                &[],
    +                Bound::Excluded(b"1".to_vec()),
    +                Bound::Included(b"12".to_vec()),
    +                None,
    +            )
    +            .unwrap();
    +
    +        assert_eq!(keys.pop_first().unwrap(), b"11".to_vec());
    +        assert_eq!(keys.pop_first().unwrap(), b"111".to_vec());
    +        assert_eq!(keys.pop_first().unwrap(), b"12".to_vec());
    +        assert_eq!(keys.pop_first(), None);
    +    }
     }
     
    \ No newline at end of file diff --git a/src/massa_models/datastore.rs.html b/src/massa_models/datastore.rs.html index cbad67d5097..cd42f8ae6b7 100644 --- a/src/massa_models/datastore.rs.html +++ b/src/massa_models/datastore.rs.html @@ -256,9 +256,330 @@ 256 257 258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +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 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +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 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
    -use crate::serialization::{VecU8Deserializer, VecU8Serializer};
    +use crate::error::ModelsError;
    +use crate::serialization::{VecU8Deserializer, VecU8Serializer};
     use massa_serialization::{
         Deserializer, SerializeError, Serializer, U64VarIntDeserializer, U64VarIntSerializer,
     };
    @@ -267,7 +588,7 @@
     use nom::sequence::tuple;
     use nom::{IResult, Parser};
     use std::collections::BTreeMap;
    -use std::ops::Bound::Included;
    +use std::ops::Bound::{self, Included};
     
     /// Datastore entry for Ledger & `ExecuteSC` Operation
     /// A Datastore is a Key Value store where
    @@ -427,6 +748,147 @@
         )
     }
     
    +/// Return the intersection of two ranges
    +pub fn range_intersection<T: Ord>(
    +    r1: (std::ops::Bound<T>, std::ops::Bound<T>),
    +    r2: (std::ops::Bound<T>, std::ops::Bound<T>),
    +) -> Option<(std::ops::Bound<T>, std::ops::Bound<T>)> {
    +    use std::cmp::{max, min};
    +    use std::ops::Bound;
    +
    +    let (r1s, r1e) = r1;
    +    let (r2s, r2e) = r2;
    +
    +    // Determine the start of the intersection
    +    let start = match (r1s, r2s) {
    +        (Bound::Included(a), Bound::Included(b)) => Bound::Included(max(a, b)),
    +        (Bound::Included(a), Bound::Excluded(b)) => {
    +            if a > b {
    +                Bound::Included(a)
    +            } else {
    +                Bound::Excluded(b)
    +            }
    +        }
    +        (Bound::Excluded(a), Bound::Included(b)) => {
    +            if b > a {
    +                Bound::Included(b)
    +            } else {
    +                Bound::Excluded(a)
    +            }
    +        }
    +        (Bound::Excluded(a), Bound::Excluded(b)) => Bound::Excluded(max(a, b)),
    +        (Bound::Unbounded, other) => other,
    +        (other, Bound::Unbounded) => other,
    +    };
    +
    +    // Determine the end of the intersection
    +    let end = match (r1e, r2e) {
    +        (Bound::Included(a), Bound::Included(b)) => Bound::Included(min(a, b)),
    +        (Bound::Included(a), Bound::Excluded(b)) => {
    +            if a < b {
    +                Bound::Included(a)
    +            } else {
    +                Bound::Excluded(b)
    +            }
    +        }
    +        (Bound::Excluded(a), Bound::Included(b)) => {
    +            if b < a {
    +                Bound::Included(b)
    +            } else {
    +                Bound::Excluded(a)
    +            }
    +        }
    +        (Bound::Excluded(a), Bound::Excluded(b)) => Bound::Excluded(min(a, b)),
    +        (Bound::Unbounded, other) => other,
    +        (other, Bound::Unbounded) => other,
    +    };
    +
    +    // Ensure the resulting range is valid
    +    match (&start, &end) {
    +        (Bound::Included(a), Bound::Included(b)) if a > b => None,
    +        (Bound::Included(a), Bound::Excluded(b)) if a >= b => None,
    +        (Bound::Excluded(a), Bound::Included(b)) if a >= b => None,
    +        (Bound::Excluded(a), Bound::Excluded(b)) if a >= b => None,
    +        _ => Some((start, end)),
    +    }
    +}
    +
    +/// Checks and cleans up a datastore key range query
    +/// Returns: (prefix, start_bound, end_bound) or error
    +/// Note: only useful to cleanup user-supplied requests (API/ABI)
    +#[allow(clippy::type_complexity)]
    +pub fn cleanup_datastore_key_range_query(
    +    prefix: &[u8],
    +    start_bound: Bound<Vec<u8>>,
    +    end_bound: Bound<Vec<u8>>,
    +    count: Option<u32>,
    +    max_datastore_key_length: u8,
    +    max_datastore_query_config: Option<u32>,
    +) -> Result<(Vec<u8>, Bound<Vec<u8>>, Bound<Vec<u8>>), ModelsError> {
    +    // check item count
    +    let count = count.or(max_datastore_query_config);
    +    if let (Some(cnt), Some(max_cnt)) = (count.as_ref(), max_datastore_query_config.as_ref()) {
    +        if cnt > max_cnt {
    +            return Err(ModelsError::ErrorRaised(format!(
    +                "max item count in datastore key query is {} but {} items were queried",
    +                max_cnt, cnt
    +            )));
    +        }
    +    }
    +
    +    // check prefix length
    +    let prefix = if prefix.len() > max_datastore_key_length as usize {
    +        // prefix is too long: it won't match anything. Adjust bounds to reflect this.
    +        return Ok((
    +            Vec::new(),
    +            std::ops::Bound::Excluded(Vec::new()),
    +            std::ops::Bound::Excluded(Vec::new()),
    +        ));
    +    } else {
    +        prefix.to_vec()
    +    };
    +
    +    // If the key is longer than the max possible length
    +    // it will be by definition excluded
    +    // and since its truncation is before, it will also be excluded
    +    let start_bound = match start_bound {
    +        std::ops::Bound::Unbounded => std::ops::Bound::Unbounded,
    +        std::ops::Bound::Excluded(mut k) => {
    +            k.truncate(max_datastore_key_length as usize);
    +            Bound::Excluded(k)
    +        }
    +        std::ops::Bound::Included(mut k) => {
    +            if k.len() > max_datastore_key_length as usize {
    +                k.truncate(max_datastore_key_length as usize);
    +                Bound::Excluded(k)
    +            } else {
    +                Bound::Included(k)
    +            }
    +        }
    +    };
    +
    +    // If the key is longer than the max possible length
    +    // it will be by definition excluded
    +    // but its truncation is included
    +    let end_bound = match end_bound {
    +        std::ops::Bound::Unbounded => std::ops::Bound::Unbounded,
    +        std::ops::Bound::Included(mut k) => {
    +            k.truncate(max_datastore_key_length as usize);
    +            Bound::Included(k)
    +        }
    +        std::ops::Bound::Excluded(mut k) => {
    +            if k.len() > max_datastore_key_length as usize {
    +                k.truncate(max_datastore_key_length as usize);
    +                Bound::Included(k)
    +            } else {
    +                Bound::Excluded(k)
    +            }
    +        }
    +    };
    +
    +    Ok((prefix, start_bound, end_bound))
    +}
    +
     #[cfg(test)]
     mod tests {
     
    @@ -513,5 +975,183 @@
     
             assert_eq!(actual_wrapper.0, expected_datastore);
         }
    +
    +    #[test]
    +    fn test_range_intersection() {
    +        // Overlapping ranges
    +        {
    +            let r1 = (std::ops::Bound::Included(1), std::ops::Bound::Included(5));
    +            let r2 = (std::ops::Bound::Included(3), std::ops::Bound::Included(7));
    +            let expected = (std::ops::Bound::Included(3), std::ops::Bound::Included(5));
    +            assert_eq!(range_intersection(r1, r2), Some(expected));
    +        }
    +
    +        // Fully overlapping ranges
    +        {
    +            let r1 = (std::ops::Bound::Included(1), std::ops::Bound::Included(10));
    +            let r2 = (std::ops::Bound::Included(3), std::ops::Bound::Included(7));
    +            let expected = (std::ops::Bound::Included(3), std::ops::Bound::Included(7));
    +            assert_eq!(range_intersection(r1, r2), Some(expected));
    +        }
    +
    +        // Adjacent ranges (no overlap)
    +        {
    +            let r1 = (std::ops::Bound::Included(1), std::ops::Bound::Excluded(5));
    +            let r2 = (std::ops::Bound::Included(5), std::ops::Bound::Included(10));
    +            assert_eq!(range_intersection(r1, r2), None);
    +        }
    +
    +        // Exact match
    +        {
    +            let r1 = (std::ops::Bound::Included(1), std::ops::Bound::Included(5));
    +            let r2 = (std::ops::Bound::Included(1), std::ops::Bound::Included(5));
    +            let expected = (std::ops::Bound::Included(1), std::ops::Bound::Included(5));
    +            assert_eq!(range_intersection(r1, r2), Some(expected));
    +        }
    +
    +        // Unbounded start
    +        {
    +            let r1 = (std::ops::Bound::Unbounded, std::ops::Bound::Included(5));
    +            let r2 = (std::ops::Bound::Included(3), std::ops::Bound::Included(7));
    +            let expected = (std::ops::Bound::Included(3), std::ops::Bound::Included(5));
    +            assert_eq!(range_intersection(r1, r2), Some(expected));
    +        }
    +
    +        // Unbounded end
    +        {
    +            let r1 = (std::ops::Bound::Included(1), std::ops::Bound::Unbounded);
    +            let r2 = (std::ops::Bound::Included(3), std::ops::Bound::Included(7));
    +            let expected = (std::ops::Bound::Included(3), std::ops::Bound::Included(7));
    +            assert_eq!(range_intersection(r1, r2), Some(expected));
    +        }
    +
    +        // Both ranges unbounded
    +        {
    +            let r1 = (std::ops::Bound::Unbounded, std::ops::Bound::Unbounded);
    +            let r2 = (std::ops::Bound::Included(3), std::ops::Bound::Included(7));
    +            let expected = (std::ops::Bound::Included(3), std::ops::Bound::Included(7));
    +            assert_eq!(range_intersection(r1, r2), Some(expected));
    +        }
    +
    +        // Non-overlapping ranges
    +        {
    +            let r1 = (std::ops::Bound::Included(1), std::ops::Bound::Included(5));
    +            let r2 = (std::ops::Bound::Included(6), std::ops::Bound::Included(10));
    +            assert_eq!(range_intersection(r1, r2), None);
    +        }
    +
    +        // Empty range
    +        {
    +            let r1 = (std::ops::Bound::Included(1), std::ops::Bound::Included(5));
    +            let r2 = (std::ops::Bound::Included(5), std::ops::Bound::Excluded(5));
    +            assert_eq!(range_intersection(r1, r2), None);
    +        }
    +
    +        // Edge case: Excluded bounds
    +        {
    +            let r1 = (std::ops::Bound::Excluded(1), std::ops::Bound::Included(5));
    +            let r2 = (std::ops::Bound::Excluded(1), std::ops::Bound::Excluded(5));
    +            let expected = (std::ops::Bound::Excluded(1), std::ops::Bound::Excluded(5));
    +            assert_eq!(range_intersection(r1, r2), Some(expected));
    +        }
    +    }
    +
    +    #[test]
    +    fn test_cleanup_datastore_key_range_query() {
    +        // Case 1: Valid inputs
    +        let prefix = b"prfx".to_vec();
    +        let start_bound = Bound::Included(b"start_key".to_vec());
    +        let end_bound = Bound::Excluded(b"end_key".to_vec());
    +        let count = Some(10);
    +        let max_length = 20;
    +        let max_query_config = Some(50);
    +
    +        let result = cleanup_datastore_key_range_query(
    +            &prefix,
    +            start_bound.clone(),
    +            end_bound.clone(),
    +            count,
    +            max_length,
    +            max_query_config,
    +        );
    +        assert!(result.is_ok());
    +        let (res_prefix, res_start, res_end) = result.unwrap();
    +        assert_eq!(res_prefix, prefix);
    +        assert_eq!(res_start, start_bound);
    +        assert_eq!(res_end, end_bound);
    +
    +        // Case 2: Prefix length exceeds max length
    +        let long_prefix = vec![b'a'; 30];
    +        let result = cleanup_datastore_key_range_query(
    +            &long_prefix,
    +            start_bound.clone(),
    +            end_bound.clone(),
    +            None,
    +            10,
    +            None,
    +        );
    +        assert!(result.is_ok());
    +        let (res_prefix, res_start, res_end) = result.unwrap();
    +        assert!(res_prefix.is_empty());
    +        assert_eq!(res_start, Bound::Excluded(Vec::new()));
    +        assert_eq!(res_end, Bound::Excluded(Vec::new()));
    +
    +        // Case 3: Keys exceeding max length in bounds
    +        let long_key = vec![b'b'; 25];
    +        let start_bound = Bound::Included(long_key.clone());
    +        let end_bound = Bound::Excluded(long_key.clone());
    +        let result = cleanup_datastore_key_range_query(
    +            &prefix,
    +            start_bound.clone(),
    +            end_bound.clone(),
    +            None,
    +            10,
    +            None,
    +        );
    +        assert!(result.is_ok());
    +        let (res_prefix, res_start, res_end) = result.unwrap();
    +        assert_eq!(res_prefix, prefix);
    +        assert_eq!(
    +            res_start,
    +            Bound::Excluded(long_key[0..10].to_vec()) // Start key truncated
    +        );
    +        assert_eq!(
    +            res_end,
    +            Bound::Included(long_key[0..10].to_vec()) // End key truncated
    +        );
    +
    +        // Case 4: Count exceeds max query config
    +        let result = cleanup_datastore_key_range_query(
    +            &prefix,
    +            Bound::Unbounded,
    +            Bound::Unbounded,
    +            Some(100),
    +            10,
    +            Some(50),
    +        );
    +        assert!(result.is_err());
    +        if let Err(ModelsError::ErrorRaised(msg)) = result {
    +            assert!(msg.contains(
    +                "max item count in datastore key query is 50 but 100 items were queried"
    +            ));
    +        } else {
    +            panic!("Expected ModelsError::ErrorRaised");
    +        }
    +
    +        // Case 5: No count or max query config provided
    +        let result = cleanup_datastore_key_range_query(
    +            &prefix,
    +            Bound::Unbounded,
    +            Bound::Unbounded,
    +            None,
    +            10,
    +            None,
    +        );
    +        assert!(result.is_ok());
    +        let (res_prefix, res_start, res_end) = result.unwrap();
    +        assert_eq!(res_prefix, prefix);
    +        assert_eq!(res_start, Bound::Unbounded);
    +        assert_eq!(res_end, Bound::Unbounded);
    +    }
     }
     
    \ No newline at end of file diff --git a/src/massa_node/main.rs.html b/src/massa_node/main.rs.html index e902bb024a1..dff4d422d32 100644 --- a/src/massa_node/main.rs.html +++ b/src/massa_node/main.rs.html @@ -1587,6 +1587,11 @@ 1587 1588 1589 +1590 +1591 +1592 +1593 +1594
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     #![doc = include_str!("../../README.md")]
    @@ -2543,6 +2548,9 @@
             deferred_credits_delta: SETTINGS.api.deferred_credits_delta,
             minimal_fees: SETTINGS.pool.minimal_fees,
             deferred_calls_config,
    +        max_datastore_keys_queries: SETTINGS.api.max_datastore_keys_query,
    +        max_datastore_key_length: MAX_DATASTORE_KEY_LENGTH,
    +        max_addresses_datastore_keys_query: SETTINGS.api.max_addresses_datastore_keys_query,
         };
     
         // spawn Massa API
    @@ -2841,6 +2849,8 @@
             client_private_key_path: settings.client_private_key_path.clone(),
             chain_id: *CHAINID,
             minimal_fees,
    +        max_datastore_keys_queries: settings.max_datastore_keys_query,
    +        max_datastore_key_length: MAX_DATASTORE_KEY_LENGTH,
         }
     }
     
    diff --git a/src/massa_node/settings.rs.html b/src/massa_node/settings.rs.html
    index aaa1107c2d0..f0a1fc69eea 100644
    --- a/src/massa_node/settings.rs.html
    +++ b/src/massa_node/settings.rs.html
    @@ -404,6 +404,10 @@
     404
     405
     406
    +407
    +408
    +409
    +410
     
    // Copyright (c) 2022 MASSA LABS <info@massa.net>
     
     //! Build here the default node settings from the configuration file toml
    @@ -539,6 +543,8 @@
         // whether to broadcast for blocks, endorsement and operations
         pub enable_broadcast: bool,
         pub deferred_credits_delta: MassaTime,
    +    pub max_datastore_keys_query: Option<u32>,
    +    pub max_addresses_datastore_keys_query: Option<u32>,
     }
     
     #[derive(Debug, Deserialize, Clone)]
    @@ -779,6 +785,8 @@
         pub client_certificate_path: PathBuf,
         /// client private key path
         pub client_private_key_path: PathBuf,
    +    /// Max keys returned by a datastore key query
    +    pub max_datastore_keys_query: Option<u32>,
     }
     
     /// gRPC API settings.
    diff --git a/trait.impl/core/clone/trait.Clone.js b/trait.impl/core/clone/trait.Clone.js
    index c3f7a9edfe8..3fc62e21164 100644
    --- a/trait.impl/core/clone/trait.Clone.js
    +++ b/trait.impl/core/clone/trait.Clone.js
    @@ -1,5 +1,5 @@
     (function() {var implementors = {
    -"massa_api_exports":[["impl Clone for ReadOnlyResult"],["impl Clone for TransferContext"],["impl Clone for AddressFilter"],["impl Clone for AddressInfo"],["impl Clone for BlockInfo"],["impl Clone for BlockInfoContent"],["impl Clone for BlockSummary"],["impl Clone for APIConfig"],["impl Clone for DatastoreEntryInput"],["impl Clone for DatastoreEntryOutput"],["impl Clone for EndorsementInfo"],["impl Clone for DeferredCallResponse"],["impl Clone for DeferredCallsQuoteRequest"],["impl Clone for DeferredCallsQuoteResponse"],["impl Clone for DeferredCallsSlotResponse"],["impl Clone for ExecuteReadOnlyResponse"],["impl Clone for ReadOnlyBytecodeExecution"],["impl Clone for ReadOnlyCall"],["impl Clone for Transfer"],["impl Clone for LedgerInfo"],["impl Clone for NodeStatus"],["impl Clone for OperationInfo"],["impl Clone for RollsInfo"],["impl Clone for SlotAmount"],["impl Clone for TimeInterval"],["impl<T: Clone> Clone for PagedVec<T>"],["impl<T: Clone> Clone for PagedVecV2<T>"]],
    +"massa_api_exports":[["impl Clone for ReadOnlyResult"],["impl Clone for TransferContext"],["impl Clone for AddressFilter"],["impl Clone for AddressInfo"],["impl Clone for GetAddressDatastoreKeysRequest"],["impl Clone for GetAddressDatastoreKeysResponse"],["impl Clone for BlockInfo"],["impl Clone for BlockInfoContent"],["impl Clone for BlockSummary"],["impl Clone for APIConfig"],["impl Clone for DatastoreEntryInput"],["impl Clone for DatastoreEntryOutput"],["impl Clone for EndorsementInfo"],["impl Clone for DeferredCallResponse"],["impl Clone for DeferredCallsQuoteRequest"],["impl Clone for DeferredCallsQuoteResponse"],["impl Clone for DeferredCallsSlotResponse"],["impl Clone for ExecuteReadOnlyResponse"],["impl Clone for ReadOnlyBytecodeExecution"],["impl Clone for ReadOnlyCall"],["impl Clone for Transfer"],["impl Clone for LedgerInfo"],["impl Clone for NodeStatus"],["impl Clone for OperationInfo"],["impl Clone for RollsInfo"],["impl Clone for SlotAmount"],["impl Clone for TimeInterval"],["impl<T: Clone> Clone for PagedVec<T>"],["impl<T: Clone> Clone for PagedVecV2<T>"]],
     "massa_async_pool":[["impl Clone for AsyncPoolChanges"],["impl Clone for AsyncPoolConfig"],["impl Clone for AsyncMessage"],["impl Clone for AsyncMessageDeserializer"],["impl Clone for AsyncMessageIdDeserializer"],["impl Clone for AsyncMessageIdSerializer"],["impl Clone for AsyncMessageInfo"],["impl Clone for AsyncMessageSerializer"],["impl Clone for AsyncMessageTrigger"],["impl Clone for AsyncMessageTriggerDeserializer"],["impl Clone for AsyncMessageTriggerSerializer"],["impl Clone for AsyncMessageUpdate"],["impl Clone for AsyncPool"]],
     "massa_bootstrap":[["impl Clone for BootstrapClientMessage"],["impl Clone for BootstrapServerMessage"],["impl Clone for IpType"],["impl Clone for BootstrapClientConfig"],["impl Clone for BootstrapConfig"],["impl Clone for BootstrapSrvBindCfg"],["impl<'a> Clone for SharedWhiteBlackList<'a>"]],
     "massa_channel":[["impl Clone for MassaChannel"],["impl<T: Clone> Clone for MassaReceiver<T>"],["impl<T: Clone> Clone for MassaSender<T>"]],
    diff --git a/trait.impl/core/convert/trait.From.js b/trait.impl/core/convert/trait.From.js
    index c3409a108ce..c2fd38c8cc6 100644
    --- a/trait.impl/core/convert/trait.From.js
    +++ b/trait.impl/core/convert/trait.From.js
    @@ -3,16 +3,16 @@
     "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"]],
    -"massa_consensus_exports":[["impl From<&BlockStatus> for BlockStatusId"],["impl From<LedgerError> for ConsensusError"],["impl From<ModelsError> for ConsensusError"],["impl From<ModelsError> for LedgerError"],["impl From<ProtocolError> for ConsensusError"],["impl From<TimeError> for ConsensusError"],["impl From<TryFromSliceError> for LedgerError"],["impl From<Error> for ConsensusError"],["impl From<Error> for LedgerError"],["impl From<Error> for ConsensusError"],["impl From<Error> for LedgerError"],["impl From<ExecutionError> for ConsensusError"]],
    +"massa_consensus_exports":[["impl From<&BlockStatus> for BlockStatusId"],["impl From<LedgerError> for ConsensusError"],["impl From<ModelsError> for ConsensusError"],["impl From<ModelsError> for LedgerError"],["impl From<ProtocolError> for ConsensusError"],["impl From<TimeError> for ConsensusError"],["impl From<TryFromSliceError> for LedgerError"],["impl From<Error> for ConsensusError"],["impl From<Error> for LedgerError"],["impl From<Error> for ConsensusError"],["impl From<Error> for LedgerError"],["impl From<ExecutionError> for ConsensusError"]],
     "massa_deferred_calls":[["impl From<DeferredCall> for DeferredCallInfoEntry"]],
     "massa_event_cache":[["impl From<KeyIndent> for u8"]],
     "massa_execution_exports":[["impl From<ExecutionQueryError> for Error"],["impl From<SlotExecutionOutput> for SlotExecutionOutput"],["impl From<MassaHashError> for ExecutionError"],["impl From<ModelsError> for ExecutionError"],["impl From<CacheError> for ExecutionError"],["impl From<FactoryError> for ExecutionError"],["impl From<ExecutionOutput> for ExecutionOutput"]],
     "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<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<MassaHashError> for ModelsError"],["impl From<SerializeError> for DenunciationError"],["impl From<SerializeError> for ModelsError"],["impl From<Slot> for Slot"],["impl From<TimeError> for ModelsError"]],
    -"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_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<BlockGraphStatus> for i32"],["impl From<Denunciation> for Denunciation"],["impl From<DenunciationIndex> for DenunciationIndex"],["impl From<DenunciationIndexTypeId> for u32"],["impl From<DenunciationTypeId> for u32"],["impl From<OperationType> for OpType"],["impl From<OperationType> for OperationType"],["impl From<OperationTypeId> for u32"],["impl From<MassaSignatureError> for DenunciationError"],["impl From<MassaSignatureError> for ModelsError"],["impl From<TimeError> for ModelsError"],["impl From<Amount> for NativeAmount"],["impl From<Block> for Block"],["impl From<FilledBlock> for FilledBlock"],["impl From<BlockHeader> for BlockHeader"],["impl From<CompactConfig> for CompactConfig"],["impl From<Endorsement> for Endorsement"],["impl From<Operation> for Operation"],["impl From<EventExecutionContext> for ScExecutionEventContext"],["impl From<SCOutputEvent> for ScExecutionEvent"],["impl From<SecureShare<Block, BlockId>> for SignedBlock"],["impl From<SecureShare<BlockHeader, BlockId>> for SignedBlockHeader"],["impl From<SecureShare<Endorsement, EndorsementId>> for SignedEndorsement"],["impl From<SecureShare<Operation, OperationId>> for SignedOperation"],["impl From<IndexedSlot> for IndexedSlot"],["impl From<Slot> for Slot"],["impl From<ConsensusStats> for ConsensusStats"],["impl From<ExecutionStats> for ExecutionStats"],["impl From<NetworkStats> for NetworkStats"],["impl From<Err<Error<&[u8]>>> for ModelsError"],["impl From<MassaHashError> for ModelsError"],["impl From<SerializeError> for DenunciationError"],["impl From<SerializeError> for ModelsError"],["impl From<Slot> for Slot"]],
    +"massa_module_cache":[["impl From<ModuleMetadataId> for u64"],["impl From<Error> for CacheError"]],
    +"massa_protocol_exports":[["impl From<Error> for ProtocolError"],["impl From<Error> for ProtocolError"],["impl From<FactoryError> for ProtocolError"],["impl From<ModelsError> for ProtocolError"],["impl From<PosError> for ProtocolError"],["impl From<TimeError> for ProtocolError"]],
     "massa_protocol_worker":[["impl From<&BlockMessage> for MessageTypeId"],["impl From<&EndorsementMessage> for MessageTypeId"],["impl From<&OperationMessage> for MessageTypeId"],["impl From<&PeerManagementMessage> for MessageTypeId"],["impl From<&Message> for MessageTypeId"],["impl From<BlockInfoType> for u64"],["impl From<BlockMessage> for Message"],["impl From<MessageTypeId> for u64"],["impl From<EndorsementMessage> for Message"],["impl From<MessageTypeId> for u64"],["impl From<MessageTypeId> for u64"],["impl From<OperationMessage> for Message"],["impl From<MessageTypeId> for u64"],["impl From<PeerManagementMessage> for Message"],["impl From<MessageTypeId> for u64"]],
     "massa_sdk":[["impl From<Error> for ClientError"],["impl From<InvalidUri> for ClientError"]],
     "massa_time":[["impl From<MassaTime> for Duration"],["impl From<MassaTime> for NativeTime"]],
    diff --git a/trait.impl/core/fmt/trait.Debug.js b/trait.impl/core/fmt/trait.Debug.js
    index 6dabfaa0847..8e6828a4d89 100644
    --- a/trait.impl/core/fmt/trait.Debug.js
    +++ b/trait.impl/core/fmt/trait.Debug.js
    @@ -1,5 +1,5 @@
     (function() {var implementors = {
    -"massa_api_exports":[["impl Debug for ApiError"],["impl Debug for ReadOnlyResult"],["impl Debug for TransferContext"],["impl Debug for AddressFilter"],["impl Debug for AddressInfo"],["impl Debug for CompactAddressInfo"],["impl Debug for BlockInfo"],["impl Debug for BlockInfoContent"],["impl Debug for BlockSummary"],["impl Debug for APIConfig"],["impl Debug for DatastoreEntryInput"],["impl Debug for DatastoreEntryOutput"],["impl Debug for EndorsementInfo"],["impl Debug for DeferredCallResponse"],["impl Debug for DeferredCallsQuoteRequest"],["impl Debug for DeferredCallsQuoteResponse"],["impl Debug for DeferredCallsSlotResponse"],["impl Debug for ExecuteReadOnlyResponse"],["impl Debug for ReadOnlyBytecodeExecution"],["impl Debug for ReadOnlyCall"],["impl Debug for Transfer"],["impl Debug for LedgerInfo"],["impl Debug for NodeStatus"],["impl Debug for OperationInfo"],["impl Debug for OperationInput"],["impl Debug for RollsInfo"],["impl Debug for SlotAmount"],["impl Debug for TimeInterval"]],
    +"massa_api_exports":[["impl Debug for ApiError"],["impl Debug for ReadOnlyResult"],["impl Debug for TransferContext"],["impl Debug for AddressFilter"],["impl Debug for AddressInfo"],["impl Debug for CompactAddressInfo"],["impl Debug for GetAddressDatastoreKeysRequest"],["impl Debug for GetAddressDatastoreKeysResponse"],["impl Debug for BlockInfo"],["impl Debug for BlockInfoContent"],["impl Debug for BlockSummary"],["impl Debug for APIConfig"],["impl Debug for DatastoreEntryInput"],["impl Debug for DatastoreEntryOutput"],["impl Debug for EndorsementInfo"],["impl Debug for DeferredCallResponse"],["impl Debug for DeferredCallsQuoteRequest"],["impl Debug for DeferredCallsQuoteResponse"],["impl Debug for DeferredCallsSlotResponse"],["impl Debug for ExecuteReadOnlyResponse"],["impl Debug for ReadOnlyBytecodeExecution"],["impl Debug for ReadOnlyCall"],["impl Debug for Transfer"],["impl Debug for LedgerInfo"],["impl Debug for NodeStatus"],["impl Debug for OperationInfo"],["impl Debug for OperationInput"],["impl Debug for RollsInfo"],["impl Debug for SlotAmount"],["impl Debug for TimeInterval"]],
     "massa_async_pool":[["impl Debug for AsyncPoolChanges"],["impl Debug for AsyncPoolConfig"],["impl Debug for AsyncMessage"],["impl Debug for AsyncMessageInfo"],["impl Debug for AsyncMessageTrigger"],["impl Debug for AsyncMessageUpdate"]],
     "massa_bootstrap":[["impl Debug for BootstrapError"],["impl Debug for BootstrapClientMessage"],["impl Debug for BootstrapServerMessage"],["impl Debug for MessageClientTypeId"],["impl Debug for MessageServerTypeId"],["impl Debug for IpType"],["impl Debug for DefaultConnector"],["impl Debug for BootstrapClientConfig"],["impl Debug for BootstrapConfig"],["impl Debug for BootstrapSrvBindCfg"],["impl Debug for WhiteBlackListInner"],["impl<'a> Debug for SharedWhiteBlackList<'a>"]],
     "massa_channel":[["impl<T: Debug> Debug for MassaSender<T>"]],
    diff --git a/trait.impl/core/marker/trait.Freeze.js b/trait.impl/core/marker/trait.Freeze.js
    index 2bf231921b0..f8d43753a9e 100644
    --- a/trait.impl/core/marker/trait.Freeze.js
    +++ b/trait.impl/core/marker/trait.Freeze.js
    @@ -1,6 +1,6 @@
     (function() {var implementors = {
     "massa_api":[["impl Freeze for ApiV2",1,["massa_api::ApiV2"]],["impl Freeze for Private",1,["massa_api::Private"]],["impl Freeze for Public",1,["massa_api::Public"]],["impl Freeze for StopHandle",1,["massa_api::StopHandle"]],["impl<T> Freeze for API<T>
    where\n T: Freeze,
    ",1,["massa_api::API"]]], -"massa_api_exports":[["impl Freeze for ListType",1,["massa_api_exports::ListType"]],["impl Freeze for ScrudOperation",1,["massa_api_exports::ScrudOperation"]],["impl Freeze for ApiError",1,["massa_api_exports::error::ApiError"]],["impl Freeze for ReadOnlyResult",1,["massa_api_exports::execution::ReadOnlyResult"]],["impl Freeze for TransferContext",1,["massa_api_exports::execution::TransferContext"]],["impl Freeze for AddressFilter",1,["massa_api_exports::address::AddressFilter"]],["impl Freeze for AddressInfo",1,["massa_api_exports::address::AddressInfo"]],["impl Freeze for CompactAddressInfo",1,["massa_api_exports::address::CompactAddressInfo"]],["impl Freeze for BlockInfo",1,["massa_api_exports::block::BlockInfo"]],["impl Freeze for BlockInfoContent",1,["massa_api_exports::block::BlockInfoContent"]],["impl Freeze for BlockSummary",1,["massa_api_exports::block::BlockSummary"]],["impl Freeze for APIConfig",1,["massa_api_exports::config::APIConfig"]],["impl Freeze for DatastoreEntryInput",1,["massa_api_exports::datastore::DatastoreEntryInput"]],["impl Freeze for DatastoreEntryOutput",1,["massa_api_exports::datastore::DatastoreEntryOutput"]],["impl Freeze for EndorsementInfo",1,["massa_api_exports::endorsement::EndorsementInfo"]],["impl Freeze for DeferredCallResponse",1,["massa_api_exports::execution::DeferredCallResponse"]],["impl Freeze for DeferredCallsQuoteRequest",1,["massa_api_exports::execution::DeferredCallsQuoteRequest"]],["impl Freeze for DeferredCallsQuoteResponse",1,["massa_api_exports::execution::DeferredCallsQuoteResponse"]],["impl Freeze for DeferredCallsSlotResponse",1,["massa_api_exports::execution::DeferredCallsSlotResponse"]],["impl Freeze for ExecuteReadOnlyResponse",1,["massa_api_exports::execution::ExecuteReadOnlyResponse"]],["impl Freeze for ReadOnlyBytecodeExecution",1,["massa_api_exports::execution::ReadOnlyBytecodeExecution"]],["impl Freeze for ReadOnlyCall",1,["massa_api_exports::execution::ReadOnlyCall"]],["impl Freeze for Transfer",1,["massa_api_exports::execution::Transfer"]],["impl Freeze for LedgerInfo",1,["massa_api_exports::ledger::LedgerInfo"]],["impl Freeze for NodeStatus",1,["massa_api_exports::node::NodeStatus"]],["impl Freeze for OperationInfo",1,["massa_api_exports::operation::OperationInfo"]],["impl Freeze for OperationInput",1,["massa_api_exports::operation::OperationInput"]],["impl Freeze for PageRequest",1,["massa_api_exports::page::PageRequest"]],["impl Freeze for RollsInfo",1,["massa_api_exports::rolls::RollsInfo"]],["impl Freeze for SlotAmount",1,["massa_api_exports::slot::SlotAmount"]],["impl Freeze for ApiRequest",1,["massa_api_exports::ApiRequest"]],["impl Freeze for TimeInterval",1,["massa_api_exports::TimeInterval"]],["impl<T> Freeze for PagedVec<T>",1,["massa_api_exports::page::PagedVec"]],["impl<T> Freeze for PagedVecV2<T>",1,["massa_api_exports::page::PagedVecV2"]]], +"massa_api_exports":[["impl Freeze for ListType",1,["massa_api_exports::ListType"]],["impl Freeze for ScrudOperation",1,["massa_api_exports::ScrudOperation"]],["impl Freeze for ApiError",1,["massa_api_exports::error::ApiError"]],["impl Freeze for ReadOnlyResult",1,["massa_api_exports::execution::ReadOnlyResult"]],["impl Freeze for TransferContext",1,["massa_api_exports::execution::TransferContext"]],["impl Freeze for AddressFilter",1,["massa_api_exports::address::AddressFilter"]],["impl Freeze for AddressInfo",1,["massa_api_exports::address::AddressInfo"]],["impl Freeze for CompactAddressInfo",1,["massa_api_exports::address::CompactAddressInfo"]],["impl Freeze for GetAddressDatastoreKeysRequest",1,["massa_api_exports::address::GetAddressDatastoreKeysRequest"]],["impl Freeze for GetAddressDatastoreKeysResponse",1,["massa_api_exports::address::GetAddressDatastoreKeysResponse"]],["impl Freeze for BlockInfo",1,["massa_api_exports::block::BlockInfo"]],["impl Freeze for BlockInfoContent",1,["massa_api_exports::block::BlockInfoContent"]],["impl Freeze for BlockSummary",1,["massa_api_exports::block::BlockSummary"]],["impl Freeze for APIConfig",1,["massa_api_exports::config::APIConfig"]],["impl Freeze for DatastoreEntryInput",1,["massa_api_exports::datastore::DatastoreEntryInput"]],["impl Freeze for DatastoreEntryOutput",1,["massa_api_exports::datastore::DatastoreEntryOutput"]],["impl Freeze for EndorsementInfo",1,["massa_api_exports::endorsement::EndorsementInfo"]],["impl Freeze for DeferredCallResponse",1,["massa_api_exports::execution::DeferredCallResponse"]],["impl Freeze for DeferredCallsQuoteRequest",1,["massa_api_exports::execution::DeferredCallsQuoteRequest"]],["impl Freeze for DeferredCallsQuoteResponse",1,["massa_api_exports::execution::DeferredCallsQuoteResponse"]],["impl Freeze for DeferredCallsSlotResponse",1,["massa_api_exports::execution::DeferredCallsSlotResponse"]],["impl Freeze for ExecuteReadOnlyResponse",1,["massa_api_exports::execution::ExecuteReadOnlyResponse"]],["impl Freeze for ReadOnlyBytecodeExecution",1,["massa_api_exports::execution::ReadOnlyBytecodeExecution"]],["impl Freeze for ReadOnlyCall",1,["massa_api_exports::execution::ReadOnlyCall"]],["impl Freeze for Transfer",1,["massa_api_exports::execution::Transfer"]],["impl Freeze for LedgerInfo",1,["massa_api_exports::ledger::LedgerInfo"]],["impl Freeze for NodeStatus",1,["massa_api_exports::node::NodeStatus"]],["impl Freeze for OperationInfo",1,["massa_api_exports::operation::OperationInfo"]],["impl Freeze for OperationInput",1,["massa_api_exports::operation::OperationInput"]],["impl Freeze for PageRequest",1,["massa_api_exports::page::PageRequest"]],["impl Freeze for RollsInfo",1,["massa_api_exports::rolls::RollsInfo"]],["impl Freeze for SlotAmount",1,["massa_api_exports::slot::SlotAmount"]],["impl Freeze for ApiRequest",1,["massa_api_exports::ApiRequest"]],["impl Freeze for TimeInterval",1,["massa_api_exports::TimeInterval"]],["impl<T> Freeze for PagedVec<T>",1,["massa_api_exports::page::PagedVec"]],["impl<T> Freeze for PagedVecV2<T>",1,["massa_api_exports::page::PagedVecV2"]]], "massa_async_pool":[["impl Freeze for AsyncPoolChanges",1,["massa_async_pool::changes::AsyncPoolChanges"]],["impl Freeze for AsyncPoolChangesDeserializer",1,["massa_async_pool::changes::AsyncPoolChangesDeserializer"]],["impl Freeze for AsyncPoolChangesSerializer",1,["massa_async_pool::changes::AsyncPoolChangesSerializer"]],["impl Freeze for AsyncPoolConfig",1,["massa_async_pool::config::AsyncPoolConfig"]],["impl Freeze for AsyncMessage",1,["massa_async_pool::message::AsyncMessage"]],["impl Freeze for AsyncMessageDeserializer",1,["massa_async_pool::message::AsyncMessageDeserializer"]],["impl Freeze for AsyncMessageIdDeserializer",1,["massa_async_pool::message::AsyncMessageIdDeserializer"]],["impl Freeze for AsyncMessageIdSerializer",1,["massa_async_pool::message::AsyncMessageIdSerializer"]],["impl Freeze for AsyncMessageInfo",1,["massa_async_pool::message::AsyncMessageInfo"]],["impl Freeze for AsyncMessageSerializer",1,["massa_async_pool::message::AsyncMessageSerializer"]],["impl Freeze for AsyncMessageTrigger",1,["massa_async_pool::message::AsyncMessageTrigger"]],["impl Freeze for AsyncMessageTriggerDeserializer",1,["massa_async_pool::message::AsyncMessageTriggerDeserializer"]],["impl Freeze for AsyncMessageTriggerSerializer",1,["massa_async_pool::message::AsyncMessageTriggerSerializer"]],["impl Freeze for AsyncMessageUpdate",1,["massa_async_pool::message::AsyncMessageUpdate"]],["impl Freeze for AsyncMessageUpdateDeserializer",1,["massa_async_pool::message::AsyncMessageUpdateDeserializer"]],["impl Freeze for AsyncMessageUpdateSerializer",1,["massa_async_pool::message::AsyncMessageUpdateSerializer"]],["impl Freeze for AsyncPool",1,["massa_async_pool::pool::AsyncPool"]],["impl Freeze for AsyncPoolDeserializer",1,["massa_async_pool::pool::AsyncPoolDeserializer"]],["impl Freeze for AsyncPoolSerializer",1,["massa_async_pool::pool::AsyncPoolSerializer"]]], "massa_bootstrap":[["impl !Freeze for BootstrapTcpListener",1,["massa_bootstrap::listener::BootstrapTcpListener"]],["impl Freeze for BootstrapError",1,["massa_bootstrap::error::BootstrapError"]],["impl Freeze for PollEvent",1,["massa_bootstrap::listener::PollEvent"]],["impl Freeze for BootstrapClientMessage",1,["massa_bootstrap::messages::BootstrapClientMessage"]],["impl Freeze for BootstrapServerMessage",1,["massa_bootstrap::messages::BootstrapServerMessage"]],["impl Freeze for MessageClientTypeId",1,["massa_bootstrap::messages::MessageClientTypeId"]],["impl Freeze for MessageServerTypeId",1,["massa_bootstrap::messages::MessageServerTypeId"]],["impl Freeze for IpType",1,["massa_bootstrap::settings::IpType"]],["impl Freeze for BootstrapClientBinder",1,["massa_bootstrap::bindings::client::BootstrapClientBinder"]],["impl Freeze for ServerMessageLeader",1,["massa_bootstrap::bindings::client::ServerMessageLeader"]],["impl Freeze for BootstrapServerBinder",1,["massa_bootstrap::bindings::server::BootstrapServerBinder"]],["impl Freeze for ClientMessageLeader",1,["massa_bootstrap::bindings::server::ClientMessageLeader"]],["impl Freeze for DefaultConnector",1,["massa_bootstrap::client::DefaultConnector"]],["impl Freeze for BootstrapListenerStopHandle",1,["massa_bootstrap::listener::BootstrapListenerStopHandle"]],["impl Freeze for BootstrapClientMessageDeserializer",1,["massa_bootstrap::messages::BootstrapClientMessageDeserializer"]],["impl Freeze for BootstrapClientMessageSerializer",1,["massa_bootstrap::messages::BootstrapClientMessageSerializer"]],["impl Freeze for BootstrapServerMessageDeserializer",1,["massa_bootstrap::messages::BootstrapServerMessageDeserializer"]],["impl Freeze for BootstrapServerMessageSerializer",1,["massa_bootstrap::messages::BootstrapServerMessageSerializer"]],["impl Freeze for BootstrapManager",1,["massa_bootstrap::server::BootstrapManager"]],["impl Freeze for BootstrapClientConfig",1,["massa_bootstrap::settings::BootstrapClientConfig"]],["impl Freeze for BootstrapConfig",1,["massa_bootstrap::settings::BootstrapConfig"]],["impl Freeze for BootstrapServerMessageDeserializerArgs",1,["massa_bootstrap::settings::BootstrapServerMessageDeserializerArgs"]],["impl Freeze for BootstrapSrvBindCfg",1,["massa_bootstrap::settings::BootstrapSrvBindCfg"]],["impl Freeze for GlobalBootstrapState",1,["massa_bootstrap::GlobalBootstrapState"]],["impl Freeze for WhiteBlackListInner",1,["massa_bootstrap::white_black_list::WhiteBlackListInner"]],["impl<'a> !Freeze for BootstrapServer<'a>",1,["massa_bootstrap::server::BootstrapServer"]],["impl<'a> Freeze for SharedWhiteBlackList<'a>",1,["massa_bootstrap::white_black_list::SharedWhiteBlackList"]]], "massa_channel":[["impl Freeze for MassaChannel",1,["massa_channel::MassaChannel"]],["impl<T> Freeze for MassaReceiver<T>",1,["massa_channel::receiver::MassaReceiver"]],["impl<T> Freeze for MassaSender<T>",1,["massa_channel::sender::MassaSender"]]], diff --git a/trait.impl/core/marker/trait.Send.js b/trait.impl/core/marker/trait.Send.js index f8bdabea0fa..96f14fe92fa 100644 --- a/trait.impl/core/marker/trait.Send.js +++ b/trait.impl/core/marker/trait.Send.js @@ -1,6 +1,6 @@ (function() {var implementors = { "massa_api":[["impl Send for ApiV2",1,["massa_api::ApiV2"]],["impl Send for Private",1,["massa_api::Private"]],["impl Send for Public",1,["massa_api::Public"]],["impl Send for StopHandle",1,["massa_api::StopHandle"]],["impl<T> Send for API<T>
    where\n T: Send,
    ",1,["massa_api::API"]]], -"massa_api_exports":[["impl Send for ListType",1,["massa_api_exports::ListType"]],["impl Send for ScrudOperation",1,["massa_api_exports::ScrudOperation"]],["impl Send for ApiError",1,["massa_api_exports::error::ApiError"]],["impl Send for ReadOnlyResult",1,["massa_api_exports::execution::ReadOnlyResult"]],["impl Send for TransferContext",1,["massa_api_exports::execution::TransferContext"]],["impl Send for AddressFilter",1,["massa_api_exports::address::AddressFilter"]],["impl Send for AddressInfo",1,["massa_api_exports::address::AddressInfo"]],["impl Send for CompactAddressInfo",1,["massa_api_exports::address::CompactAddressInfo"]],["impl Send for BlockInfo",1,["massa_api_exports::block::BlockInfo"]],["impl Send for BlockInfoContent",1,["massa_api_exports::block::BlockInfoContent"]],["impl Send for BlockSummary",1,["massa_api_exports::block::BlockSummary"]],["impl Send for APIConfig",1,["massa_api_exports::config::APIConfig"]],["impl Send for DatastoreEntryInput",1,["massa_api_exports::datastore::DatastoreEntryInput"]],["impl Send for DatastoreEntryOutput",1,["massa_api_exports::datastore::DatastoreEntryOutput"]],["impl Send for EndorsementInfo",1,["massa_api_exports::endorsement::EndorsementInfo"]],["impl Send for DeferredCallResponse",1,["massa_api_exports::execution::DeferredCallResponse"]],["impl Send for DeferredCallsQuoteRequest",1,["massa_api_exports::execution::DeferredCallsQuoteRequest"]],["impl Send for DeferredCallsQuoteResponse",1,["massa_api_exports::execution::DeferredCallsQuoteResponse"]],["impl Send for DeferredCallsSlotResponse",1,["massa_api_exports::execution::DeferredCallsSlotResponse"]],["impl Send for ExecuteReadOnlyResponse",1,["massa_api_exports::execution::ExecuteReadOnlyResponse"]],["impl Send for ReadOnlyBytecodeExecution",1,["massa_api_exports::execution::ReadOnlyBytecodeExecution"]],["impl Send for ReadOnlyCall",1,["massa_api_exports::execution::ReadOnlyCall"]],["impl Send for Transfer",1,["massa_api_exports::execution::Transfer"]],["impl Send for LedgerInfo",1,["massa_api_exports::ledger::LedgerInfo"]],["impl Send for NodeStatus",1,["massa_api_exports::node::NodeStatus"]],["impl Send for OperationInfo",1,["massa_api_exports::operation::OperationInfo"]],["impl Send for OperationInput",1,["massa_api_exports::operation::OperationInput"]],["impl Send for PageRequest",1,["massa_api_exports::page::PageRequest"]],["impl Send for RollsInfo",1,["massa_api_exports::rolls::RollsInfo"]],["impl Send for SlotAmount",1,["massa_api_exports::slot::SlotAmount"]],["impl Send for ApiRequest",1,["massa_api_exports::ApiRequest"]],["impl Send for TimeInterval",1,["massa_api_exports::TimeInterval"]],["impl<T> Send for PagedVec<T>
    where\n T: Send,
    ",1,["massa_api_exports::page::PagedVec"]],["impl<T> Send for PagedVecV2<T>
    where\n T: Send,
    ",1,["massa_api_exports::page::PagedVecV2"]]], +"massa_api_exports":[["impl Send for ListType",1,["massa_api_exports::ListType"]],["impl Send for ScrudOperation",1,["massa_api_exports::ScrudOperation"]],["impl Send for ApiError",1,["massa_api_exports::error::ApiError"]],["impl Send for ReadOnlyResult",1,["massa_api_exports::execution::ReadOnlyResult"]],["impl Send for TransferContext",1,["massa_api_exports::execution::TransferContext"]],["impl Send for AddressFilter",1,["massa_api_exports::address::AddressFilter"]],["impl Send for AddressInfo",1,["massa_api_exports::address::AddressInfo"]],["impl Send for CompactAddressInfo",1,["massa_api_exports::address::CompactAddressInfo"]],["impl Send for GetAddressDatastoreKeysRequest",1,["massa_api_exports::address::GetAddressDatastoreKeysRequest"]],["impl Send for GetAddressDatastoreKeysResponse",1,["massa_api_exports::address::GetAddressDatastoreKeysResponse"]],["impl Send for BlockInfo",1,["massa_api_exports::block::BlockInfo"]],["impl Send for BlockInfoContent",1,["massa_api_exports::block::BlockInfoContent"]],["impl Send for BlockSummary",1,["massa_api_exports::block::BlockSummary"]],["impl Send for APIConfig",1,["massa_api_exports::config::APIConfig"]],["impl Send for DatastoreEntryInput",1,["massa_api_exports::datastore::DatastoreEntryInput"]],["impl Send for DatastoreEntryOutput",1,["massa_api_exports::datastore::DatastoreEntryOutput"]],["impl Send for EndorsementInfo",1,["massa_api_exports::endorsement::EndorsementInfo"]],["impl Send for DeferredCallResponse",1,["massa_api_exports::execution::DeferredCallResponse"]],["impl Send for DeferredCallsQuoteRequest",1,["massa_api_exports::execution::DeferredCallsQuoteRequest"]],["impl Send for DeferredCallsQuoteResponse",1,["massa_api_exports::execution::DeferredCallsQuoteResponse"]],["impl Send for DeferredCallsSlotResponse",1,["massa_api_exports::execution::DeferredCallsSlotResponse"]],["impl Send for ExecuteReadOnlyResponse",1,["massa_api_exports::execution::ExecuteReadOnlyResponse"]],["impl Send for ReadOnlyBytecodeExecution",1,["massa_api_exports::execution::ReadOnlyBytecodeExecution"]],["impl Send for ReadOnlyCall",1,["massa_api_exports::execution::ReadOnlyCall"]],["impl Send for Transfer",1,["massa_api_exports::execution::Transfer"]],["impl Send for LedgerInfo",1,["massa_api_exports::ledger::LedgerInfo"]],["impl Send for NodeStatus",1,["massa_api_exports::node::NodeStatus"]],["impl Send for OperationInfo",1,["massa_api_exports::operation::OperationInfo"]],["impl Send for OperationInput",1,["massa_api_exports::operation::OperationInput"]],["impl Send for PageRequest",1,["massa_api_exports::page::PageRequest"]],["impl Send for RollsInfo",1,["massa_api_exports::rolls::RollsInfo"]],["impl Send for SlotAmount",1,["massa_api_exports::slot::SlotAmount"]],["impl Send for ApiRequest",1,["massa_api_exports::ApiRequest"]],["impl Send for TimeInterval",1,["massa_api_exports::TimeInterval"]],["impl<T> Send for PagedVec<T>
    where\n T: Send,
    ",1,["massa_api_exports::page::PagedVec"]],["impl<T> Send for PagedVecV2<T>
    where\n T: Send,
    ",1,["massa_api_exports::page::PagedVecV2"]]], "massa_async_pool":[["impl Send for AsyncPoolChanges",1,["massa_async_pool::changes::AsyncPoolChanges"]],["impl Send for AsyncPoolChangesDeserializer",1,["massa_async_pool::changes::AsyncPoolChangesDeserializer"]],["impl Send for AsyncPoolChangesSerializer",1,["massa_async_pool::changes::AsyncPoolChangesSerializer"]],["impl Send for AsyncPoolConfig",1,["massa_async_pool::config::AsyncPoolConfig"]],["impl Send for AsyncMessage",1,["massa_async_pool::message::AsyncMessage"]],["impl Send for AsyncMessageDeserializer",1,["massa_async_pool::message::AsyncMessageDeserializer"]],["impl Send for AsyncMessageIdDeserializer",1,["massa_async_pool::message::AsyncMessageIdDeserializer"]],["impl Send for AsyncMessageIdSerializer",1,["massa_async_pool::message::AsyncMessageIdSerializer"]],["impl Send for AsyncMessageInfo",1,["massa_async_pool::message::AsyncMessageInfo"]],["impl Send for AsyncMessageSerializer",1,["massa_async_pool::message::AsyncMessageSerializer"]],["impl Send for AsyncMessageTrigger",1,["massa_async_pool::message::AsyncMessageTrigger"]],["impl Send for AsyncMessageTriggerDeserializer",1,["massa_async_pool::message::AsyncMessageTriggerDeserializer"]],["impl Send for AsyncMessageTriggerSerializer",1,["massa_async_pool::message::AsyncMessageTriggerSerializer"]],["impl Send for AsyncMessageUpdate",1,["massa_async_pool::message::AsyncMessageUpdate"]],["impl Send for AsyncMessageUpdateDeserializer",1,["massa_async_pool::message::AsyncMessageUpdateDeserializer"]],["impl Send for AsyncMessageUpdateSerializer",1,["massa_async_pool::message::AsyncMessageUpdateSerializer"]],["impl Send for AsyncPool",1,["massa_async_pool::pool::AsyncPool"]],["impl Send for AsyncPoolDeserializer",1,["massa_async_pool::pool::AsyncPoolDeserializer"]],["impl Send for AsyncPoolSerializer",1,["massa_async_pool::pool::AsyncPoolSerializer"]]], "massa_bootstrap":[["impl Send for BootstrapError",1,["massa_bootstrap::error::BootstrapError"]],["impl Send for PollEvent",1,["massa_bootstrap::listener::PollEvent"]],["impl Send for BootstrapClientMessage",1,["massa_bootstrap::messages::BootstrapClientMessage"]],["impl Send for BootstrapServerMessage",1,["massa_bootstrap::messages::BootstrapServerMessage"]],["impl Send for MessageClientTypeId",1,["massa_bootstrap::messages::MessageClientTypeId"]],["impl Send for MessageServerTypeId",1,["massa_bootstrap::messages::MessageServerTypeId"]],["impl Send for IpType",1,["massa_bootstrap::settings::IpType"]],["impl Send for BootstrapClientBinder",1,["massa_bootstrap::bindings::client::BootstrapClientBinder"]],["impl Send for ServerMessageLeader",1,["massa_bootstrap::bindings::client::ServerMessageLeader"]],["impl Send for BootstrapServerBinder",1,["massa_bootstrap::bindings::server::BootstrapServerBinder"]],["impl Send for ClientMessageLeader",1,["massa_bootstrap::bindings::server::ClientMessageLeader"]],["impl Send for DefaultConnector",1,["massa_bootstrap::client::DefaultConnector"]],["impl Send for BootstrapListenerStopHandle",1,["massa_bootstrap::listener::BootstrapListenerStopHandle"]],["impl Send for BootstrapTcpListener",1,["massa_bootstrap::listener::BootstrapTcpListener"]],["impl Send for BootstrapClientMessageDeserializer",1,["massa_bootstrap::messages::BootstrapClientMessageDeserializer"]],["impl Send for BootstrapClientMessageSerializer",1,["massa_bootstrap::messages::BootstrapClientMessageSerializer"]],["impl Send for BootstrapServerMessageDeserializer",1,["massa_bootstrap::messages::BootstrapServerMessageDeserializer"]],["impl Send for BootstrapServerMessageSerializer",1,["massa_bootstrap::messages::BootstrapServerMessageSerializer"]],["impl Send for BootstrapManager",1,["massa_bootstrap::server::BootstrapManager"]],["impl Send for BootstrapClientConfig",1,["massa_bootstrap::settings::BootstrapClientConfig"]],["impl Send for BootstrapConfig",1,["massa_bootstrap::settings::BootstrapConfig"]],["impl Send for BootstrapServerMessageDeserializerArgs",1,["massa_bootstrap::settings::BootstrapServerMessageDeserializerArgs"]],["impl Send for BootstrapSrvBindCfg",1,["massa_bootstrap::settings::BootstrapSrvBindCfg"]],["impl Send for GlobalBootstrapState",1,["massa_bootstrap::GlobalBootstrapState"]],["impl Send for WhiteBlackListInner",1,["massa_bootstrap::white_black_list::WhiteBlackListInner"]],["impl<'a> Send for BootstrapServer<'a>",1,["massa_bootstrap::server::BootstrapServer"]],["impl<'a> Send for SharedWhiteBlackList<'a>",1,["massa_bootstrap::white_black_list::SharedWhiteBlackList"]]], "massa_channel":[["impl Send for MassaChannel",1,["massa_channel::MassaChannel"]],["impl<T> Send for MassaReceiver<T>
    where\n T: Send,
    ",1,["massa_channel::receiver::MassaReceiver"]],["impl<T> Send for MassaSender<T>
    where\n T: Send,
    ",1,["massa_channel::sender::MassaSender"]]], diff --git a/trait.impl/core/marker/trait.Sync.js b/trait.impl/core/marker/trait.Sync.js index 6f04befa9af..f4b59021587 100644 --- a/trait.impl/core/marker/trait.Sync.js +++ b/trait.impl/core/marker/trait.Sync.js @@ -1,6 +1,6 @@ (function() {var implementors = { "massa_api":[["impl Sync for ApiV2",1,["massa_api::ApiV2"]],["impl Sync for Private",1,["massa_api::Private"]],["impl Sync for Public",1,["massa_api::Public"]],["impl Sync for StopHandle",1,["massa_api::StopHandle"]],["impl<T> Sync for API<T>
    where\n T: Sync,
    ",1,["massa_api::API"]]], -"massa_api_exports":[["impl Sync for ListType",1,["massa_api_exports::ListType"]],["impl Sync for ScrudOperation",1,["massa_api_exports::ScrudOperation"]],["impl Sync for ApiError",1,["massa_api_exports::error::ApiError"]],["impl Sync for ReadOnlyResult",1,["massa_api_exports::execution::ReadOnlyResult"]],["impl Sync for TransferContext",1,["massa_api_exports::execution::TransferContext"]],["impl Sync for AddressFilter",1,["massa_api_exports::address::AddressFilter"]],["impl Sync for AddressInfo",1,["massa_api_exports::address::AddressInfo"]],["impl Sync for CompactAddressInfo",1,["massa_api_exports::address::CompactAddressInfo"]],["impl Sync for BlockInfo",1,["massa_api_exports::block::BlockInfo"]],["impl Sync for BlockInfoContent",1,["massa_api_exports::block::BlockInfoContent"]],["impl Sync for BlockSummary",1,["massa_api_exports::block::BlockSummary"]],["impl Sync for APIConfig",1,["massa_api_exports::config::APIConfig"]],["impl Sync for DatastoreEntryInput",1,["massa_api_exports::datastore::DatastoreEntryInput"]],["impl Sync for DatastoreEntryOutput",1,["massa_api_exports::datastore::DatastoreEntryOutput"]],["impl Sync for EndorsementInfo",1,["massa_api_exports::endorsement::EndorsementInfo"]],["impl Sync for DeferredCallResponse",1,["massa_api_exports::execution::DeferredCallResponse"]],["impl Sync for DeferredCallsQuoteRequest",1,["massa_api_exports::execution::DeferredCallsQuoteRequest"]],["impl Sync for DeferredCallsQuoteResponse",1,["massa_api_exports::execution::DeferredCallsQuoteResponse"]],["impl Sync for DeferredCallsSlotResponse",1,["massa_api_exports::execution::DeferredCallsSlotResponse"]],["impl Sync for ExecuteReadOnlyResponse",1,["massa_api_exports::execution::ExecuteReadOnlyResponse"]],["impl Sync for ReadOnlyBytecodeExecution",1,["massa_api_exports::execution::ReadOnlyBytecodeExecution"]],["impl Sync for ReadOnlyCall",1,["massa_api_exports::execution::ReadOnlyCall"]],["impl Sync for Transfer",1,["massa_api_exports::execution::Transfer"]],["impl Sync for LedgerInfo",1,["massa_api_exports::ledger::LedgerInfo"]],["impl Sync for NodeStatus",1,["massa_api_exports::node::NodeStatus"]],["impl Sync for OperationInfo",1,["massa_api_exports::operation::OperationInfo"]],["impl Sync for OperationInput",1,["massa_api_exports::operation::OperationInput"]],["impl Sync for PageRequest",1,["massa_api_exports::page::PageRequest"]],["impl Sync for RollsInfo",1,["massa_api_exports::rolls::RollsInfo"]],["impl Sync for SlotAmount",1,["massa_api_exports::slot::SlotAmount"]],["impl Sync for ApiRequest",1,["massa_api_exports::ApiRequest"]],["impl Sync for TimeInterval",1,["massa_api_exports::TimeInterval"]],["impl<T> Sync for PagedVec<T>
    where\n T: Sync,
    ",1,["massa_api_exports::page::PagedVec"]],["impl<T> Sync for PagedVecV2<T>
    where\n T: Sync,
    ",1,["massa_api_exports::page::PagedVecV2"]]], +"massa_api_exports":[["impl Sync for ListType",1,["massa_api_exports::ListType"]],["impl Sync for ScrudOperation",1,["massa_api_exports::ScrudOperation"]],["impl Sync for ApiError",1,["massa_api_exports::error::ApiError"]],["impl Sync for ReadOnlyResult",1,["massa_api_exports::execution::ReadOnlyResult"]],["impl Sync for TransferContext",1,["massa_api_exports::execution::TransferContext"]],["impl Sync for AddressFilter",1,["massa_api_exports::address::AddressFilter"]],["impl Sync for AddressInfo",1,["massa_api_exports::address::AddressInfo"]],["impl Sync for CompactAddressInfo",1,["massa_api_exports::address::CompactAddressInfo"]],["impl Sync for GetAddressDatastoreKeysRequest",1,["massa_api_exports::address::GetAddressDatastoreKeysRequest"]],["impl Sync for GetAddressDatastoreKeysResponse",1,["massa_api_exports::address::GetAddressDatastoreKeysResponse"]],["impl Sync for BlockInfo",1,["massa_api_exports::block::BlockInfo"]],["impl Sync for BlockInfoContent",1,["massa_api_exports::block::BlockInfoContent"]],["impl Sync for BlockSummary",1,["massa_api_exports::block::BlockSummary"]],["impl Sync for APIConfig",1,["massa_api_exports::config::APIConfig"]],["impl Sync for DatastoreEntryInput",1,["massa_api_exports::datastore::DatastoreEntryInput"]],["impl Sync for DatastoreEntryOutput",1,["massa_api_exports::datastore::DatastoreEntryOutput"]],["impl Sync for EndorsementInfo",1,["massa_api_exports::endorsement::EndorsementInfo"]],["impl Sync for DeferredCallResponse",1,["massa_api_exports::execution::DeferredCallResponse"]],["impl Sync for DeferredCallsQuoteRequest",1,["massa_api_exports::execution::DeferredCallsQuoteRequest"]],["impl Sync for DeferredCallsQuoteResponse",1,["massa_api_exports::execution::DeferredCallsQuoteResponse"]],["impl Sync for DeferredCallsSlotResponse",1,["massa_api_exports::execution::DeferredCallsSlotResponse"]],["impl Sync for ExecuteReadOnlyResponse",1,["massa_api_exports::execution::ExecuteReadOnlyResponse"]],["impl Sync for ReadOnlyBytecodeExecution",1,["massa_api_exports::execution::ReadOnlyBytecodeExecution"]],["impl Sync for ReadOnlyCall",1,["massa_api_exports::execution::ReadOnlyCall"]],["impl Sync for Transfer",1,["massa_api_exports::execution::Transfer"]],["impl Sync for LedgerInfo",1,["massa_api_exports::ledger::LedgerInfo"]],["impl Sync for NodeStatus",1,["massa_api_exports::node::NodeStatus"]],["impl Sync for OperationInfo",1,["massa_api_exports::operation::OperationInfo"]],["impl Sync for OperationInput",1,["massa_api_exports::operation::OperationInput"]],["impl Sync for PageRequest",1,["massa_api_exports::page::PageRequest"]],["impl Sync for RollsInfo",1,["massa_api_exports::rolls::RollsInfo"]],["impl Sync for SlotAmount",1,["massa_api_exports::slot::SlotAmount"]],["impl Sync for ApiRequest",1,["massa_api_exports::ApiRequest"]],["impl Sync for TimeInterval",1,["massa_api_exports::TimeInterval"]],["impl<T> Sync for PagedVec<T>
    where\n T: Sync,
    ",1,["massa_api_exports::page::PagedVec"]],["impl<T> Sync for PagedVecV2<T>
    where\n T: Sync,
    ",1,["massa_api_exports::page::PagedVecV2"]]], "massa_async_pool":[["impl Sync for AsyncPoolChanges",1,["massa_async_pool::changes::AsyncPoolChanges"]],["impl Sync for AsyncPoolChangesDeserializer",1,["massa_async_pool::changes::AsyncPoolChangesDeserializer"]],["impl Sync for AsyncPoolChangesSerializer",1,["massa_async_pool::changes::AsyncPoolChangesSerializer"]],["impl Sync for AsyncPoolConfig",1,["massa_async_pool::config::AsyncPoolConfig"]],["impl Sync for AsyncMessage",1,["massa_async_pool::message::AsyncMessage"]],["impl Sync for AsyncMessageDeserializer",1,["massa_async_pool::message::AsyncMessageDeserializer"]],["impl Sync for AsyncMessageIdDeserializer",1,["massa_async_pool::message::AsyncMessageIdDeserializer"]],["impl Sync for AsyncMessageIdSerializer",1,["massa_async_pool::message::AsyncMessageIdSerializer"]],["impl Sync for AsyncMessageInfo",1,["massa_async_pool::message::AsyncMessageInfo"]],["impl Sync for AsyncMessageSerializer",1,["massa_async_pool::message::AsyncMessageSerializer"]],["impl Sync for AsyncMessageTrigger",1,["massa_async_pool::message::AsyncMessageTrigger"]],["impl Sync for AsyncMessageTriggerDeserializer",1,["massa_async_pool::message::AsyncMessageTriggerDeserializer"]],["impl Sync for AsyncMessageTriggerSerializer",1,["massa_async_pool::message::AsyncMessageTriggerSerializer"]],["impl Sync for AsyncMessageUpdate",1,["massa_async_pool::message::AsyncMessageUpdate"]],["impl Sync for AsyncMessageUpdateDeserializer",1,["massa_async_pool::message::AsyncMessageUpdateDeserializer"]],["impl Sync for AsyncMessageUpdateSerializer",1,["massa_async_pool::message::AsyncMessageUpdateSerializer"]],["impl Sync for AsyncPool",1,["massa_async_pool::pool::AsyncPool"]],["impl Sync for AsyncPoolDeserializer",1,["massa_async_pool::pool::AsyncPoolDeserializer"]],["impl Sync for AsyncPoolSerializer",1,["massa_async_pool::pool::AsyncPoolSerializer"]]], "massa_bootstrap":[["impl Sync for BootstrapError",1,["massa_bootstrap::error::BootstrapError"]],["impl Sync for PollEvent",1,["massa_bootstrap::listener::PollEvent"]],["impl Sync for BootstrapClientMessage",1,["massa_bootstrap::messages::BootstrapClientMessage"]],["impl Sync for BootstrapServerMessage",1,["massa_bootstrap::messages::BootstrapServerMessage"]],["impl Sync for MessageClientTypeId",1,["massa_bootstrap::messages::MessageClientTypeId"]],["impl Sync for MessageServerTypeId",1,["massa_bootstrap::messages::MessageServerTypeId"]],["impl Sync for IpType",1,["massa_bootstrap::settings::IpType"]],["impl Sync for BootstrapClientBinder",1,["massa_bootstrap::bindings::client::BootstrapClientBinder"]],["impl Sync for ServerMessageLeader",1,["massa_bootstrap::bindings::client::ServerMessageLeader"]],["impl Sync for BootstrapServerBinder",1,["massa_bootstrap::bindings::server::BootstrapServerBinder"]],["impl Sync for ClientMessageLeader",1,["massa_bootstrap::bindings::server::ClientMessageLeader"]],["impl Sync for DefaultConnector",1,["massa_bootstrap::client::DefaultConnector"]],["impl Sync for BootstrapListenerStopHandle",1,["massa_bootstrap::listener::BootstrapListenerStopHandle"]],["impl Sync for BootstrapTcpListener",1,["massa_bootstrap::listener::BootstrapTcpListener"]],["impl Sync for BootstrapClientMessageDeserializer",1,["massa_bootstrap::messages::BootstrapClientMessageDeserializer"]],["impl Sync for BootstrapClientMessageSerializer",1,["massa_bootstrap::messages::BootstrapClientMessageSerializer"]],["impl Sync for BootstrapServerMessageDeserializer",1,["massa_bootstrap::messages::BootstrapServerMessageDeserializer"]],["impl Sync for BootstrapServerMessageSerializer",1,["massa_bootstrap::messages::BootstrapServerMessageSerializer"]],["impl Sync for BootstrapManager",1,["massa_bootstrap::server::BootstrapManager"]],["impl Sync for BootstrapClientConfig",1,["massa_bootstrap::settings::BootstrapClientConfig"]],["impl Sync for BootstrapConfig",1,["massa_bootstrap::settings::BootstrapConfig"]],["impl Sync for BootstrapServerMessageDeserializerArgs",1,["massa_bootstrap::settings::BootstrapServerMessageDeserializerArgs"]],["impl Sync for BootstrapSrvBindCfg",1,["massa_bootstrap::settings::BootstrapSrvBindCfg"]],["impl Sync for GlobalBootstrapState",1,["massa_bootstrap::GlobalBootstrapState"]],["impl Sync for WhiteBlackListInner",1,["massa_bootstrap::white_black_list::WhiteBlackListInner"]],["impl<'a> Sync for BootstrapServer<'a>",1,["massa_bootstrap::server::BootstrapServer"]],["impl<'a> Sync for SharedWhiteBlackList<'a>",1,["massa_bootstrap::white_black_list::SharedWhiteBlackList"]]], "massa_channel":[["impl Sync for MassaChannel",1,["massa_channel::MassaChannel"]],["impl<T> Sync for MassaReceiver<T>
    where\n T: Send,
    ",1,["massa_channel::receiver::MassaReceiver"]],["impl<T> Sync for MassaSender<T>
    where\n T: Send,
    ",1,["massa_channel::sender::MassaSender"]]], diff --git a/trait.impl/core/marker/trait.Unpin.js b/trait.impl/core/marker/trait.Unpin.js index 8919b5ba5fa..26610cb6582 100644 --- a/trait.impl/core/marker/trait.Unpin.js +++ b/trait.impl/core/marker/trait.Unpin.js @@ -1,6 +1,6 @@ (function() {var implementors = { "massa_api":[["impl Unpin for ApiV2",1,["massa_api::ApiV2"]],["impl Unpin for Private",1,["massa_api::Private"]],["impl Unpin for Public",1,["massa_api::Public"]],["impl Unpin for StopHandle",1,["massa_api::StopHandle"]],["impl<T> Unpin for API<T>
    where\n T: Unpin,
    ",1,["massa_api::API"]]], -"massa_api_exports":[["impl Unpin for ListType",1,["massa_api_exports::ListType"]],["impl Unpin for ScrudOperation",1,["massa_api_exports::ScrudOperation"]],["impl Unpin for ApiError",1,["massa_api_exports::error::ApiError"]],["impl Unpin for ReadOnlyResult",1,["massa_api_exports::execution::ReadOnlyResult"]],["impl Unpin for TransferContext",1,["massa_api_exports::execution::TransferContext"]],["impl Unpin for AddressFilter",1,["massa_api_exports::address::AddressFilter"]],["impl Unpin for AddressInfo",1,["massa_api_exports::address::AddressInfo"]],["impl Unpin for CompactAddressInfo",1,["massa_api_exports::address::CompactAddressInfo"]],["impl Unpin for BlockInfo",1,["massa_api_exports::block::BlockInfo"]],["impl Unpin for BlockInfoContent",1,["massa_api_exports::block::BlockInfoContent"]],["impl Unpin for BlockSummary",1,["massa_api_exports::block::BlockSummary"]],["impl Unpin for APIConfig",1,["massa_api_exports::config::APIConfig"]],["impl Unpin for DatastoreEntryInput",1,["massa_api_exports::datastore::DatastoreEntryInput"]],["impl Unpin for DatastoreEntryOutput",1,["massa_api_exports::datastore::DatastoreEntryOutput"]],["impl Unpin for EndorsementInfo",1,["massa_api_exports::endorsement::EndorsementInfo"]],["impl Unpin for DeferredCallResponse",1,["massa_api_exports::execution::DeferredCallResponse"]],["impl Unpin for DeferredCallsQuoteRequest",1,["massa_api_exports::execution::DeferredCallsQuoteRequest"]],["impl Unpin for DeferredCallsQuoteResponse",1,["massa_api_exports::execution::DeferredCallsQuoteResponse"]],["impl Unpin for DeferredCallsSlotResponse",1,["massa_api_exports::execution::DeferredCallsSlotResponse"]],["impl Unpin for ExecuteReadOnlyResponse",1,["massa_api_exports::execution::ExecuteReadOnlyResponse"]],["impl Unpin for ReadOnlyBytecodeExecution",1,["massa_api_exports::execution::ReadOnlyBytecodeExecution"]],["impl Unpin for ReadOnlyCall",1,["massa_api_exports::execution::ReadOnlyCall"]],["impl Unpin for Transfer",1,["massa_api_exports::execution::Transfer"]],["impl Unpin for LedgerInfo",1,["massa_api_exports::ledger::LedgerInfo"]],["impl Unpin for NodeStatus",1,["massa_api_exports::node::NodeStatus"]],["impl Unpin for OperationInfo",1,["massa_api_exports::operation::OperationInfo"]],["impl Unpin for OperationInput",1,["massa_api_exports::operation::OperationInput"]],["impl Unpin for PageRequest",1,["massa_api_exports::page::PageRequest"]],["impl Unpin for RollsInfo",1,["massa_api_exports::rolls::RollsInfo"]],["impl Unpin for SlotAmount",1,["massa_api_exports::slot::SlotAmount"]],["impl Unpin for ApiRequest",1,["massa_api_exports::ApiRequest"]],["impl Unpin for TimeInterval",1,["massa_api_exports::TimeInterval"]],["impl<T> Unpin for PagedVec<T>
    where\n T: Unpin,
    ",1,["massa_api_exports::page::PagedVec"]],["impl<T> Unpin for PagedVecV2<T>
    where\n T: Unpin,
    ",1,["massa_api_exports::page::PagedVecV2"]]], +"massa_api_exports":[["impl Unpin for ListType",1,["massa_api_exports::ListType"]],["impl Unpin for ScrudOperation",1,["massa_api_exports::ScrudOperation"]],["impl Unpin for ApiError",1,["massa_api_exports::error::ApiError"]],["impl Unpin for ReadOnlyResult",1,["massa_api_exports::execution::ReadOnlyResult"]],["impl Unpin for TransferContext",1,["massa_api_exports::execution::TransferContext"]],["impl Unpin for AddressFilter",1,["massa_api_exports::address::AddressFilter"]],["impl Unpin for AddressInfo",1,["massa_api_exports::address::AddressInfo"]],["impl Unpin for CompactAddressInfo",1,["massa_api_exports::address::CompactAddressInfo"]],["impl Unpin for GetAddressDatastoreKeysRequest",1,["massa_api_exports::address::GetAddressDatastoreKeysRequest"]],["impl Unpin for GetAddressDatastoreKeysResponse",1,["massa_api_exports::address::GetAddressDatastoreKeysResponse"]],["impl Unpin for BlockInfo",1,["massa_api_exports::block::BlockInfo"]],["impl Unpin for BlockInfoContent",1,["massa_api_exports::block::BlockInfoContent"]],["impl Unpin for BlockSummary",1,["massa_api_exports::block::BlockSummary"]],["impl Unpin for APIConfig",1,["massa_api_exports::config::APIConfig"]],["impl Unpin for DatastoreEntryInput",1,["massa_api_exports::datastore::DatastoreEntryInput"]],["impl Unpin for DatastoreEntryOutput",1,["massa_api_exports::datastore::DatastoreEntryOutput"]],["impl Unpin for EndorsementInfo",1,["massa_api_exports::endorsement::EndorsementInfo"]],["impl Unpin for DeferredCallResponse",1,["massa_api_exports::execution::DeferredCallResponse"]],["impl Unpin for DeferredCallsQuoteRequest",1,["massa_api_exports::execution::DeferredCallsQuoteRequest"]],["impl Unpin for DeferredCallsQuoteResponse",1,["massa_api_exports::execution::DeferredCallsQuoteResponse"]],["impl Unpin for DeferredCallsSlotResponse",1,["massa_api_exports::execution::DeferredCallsSlotResponse"]],["impl Unpin for ExecuteReadOnlyResponse",1,["massa_api_exports::execution::ExecuteReadOnlyResponse"]],["impl Unpin for ReadOnlyBytecodeExecution",1,["massa_api_exports::execution::ReadOnlyBytecodeExecution"]],["impl Unpin for ReadOnlyCall",1,["massa_api_exports::execution::ReadOnlyCall"]],["impl Unpin for Transfer",1,["massa_api_exports::execution::Transfer"]],["impl Unpin for LedgerInfo",1,["massa_api_exports::ledger::LedgerInfo"]],["impl Unpin for NodeStatus",1,["massa_api_exports::node::NodeStatus"]],["impl Unpin for OperationInfo",1,["massa_api_exports::operation::OperationInfo"]],["impl Unpin for OperationInput",1,["massa_api_exports::operation::OperationInput"]],["impl Unpin for PageRequest",1,["massa_api_exports::page::PageRequest"]],["impl Unpin for RollsInfo",1,["massa_api_exports::rolls::RollsInfo"]],["impl Unpin for SlotAmount",1,["massa_api_exports::slot::SlotAmount"]],["impl Unpin for ApiRequest",1,["massa_api_exports::ApiRequest"]],["impl Unpin for TimeInterval",1,["massa_api_exports::TimeInterval"]],["impl<T> Unpin for PagedVec<T>
    where\n T: Unpin,
    ",1,["massa_api_exports::page::PagedVec"]],["impl<T> Unpin for PagedVecV2<T>
    where\n T: Unpin,
    ",1,["massa_api_exports::page::PagedVecV2"]]], "massa_async_pool":[["impl Unpin for AsyncPoolChanges",1,["massa_async_pool::changes::AsyncPoolChanges"]],["impl Unpin for AsyncPoolChangesDeserializer",1,["massa_async_pool::changes::AsyncPoolChangesDeserializer"]],["impl Unpin for AsyncPoolChangesSerializer",1,["massa_async_pool::changes::AsyncPoolChangesSerializer"]],["impl Unpin for AsyncPoolConfig",1,["massa_async_pool::config::AsyncPoolConfig"]],["impl Unpin for AsyncMessage",1,["massa_async_pool::message::AsyncMessage"]],["impl Unpin for AsyncMessageDeserializer",1,["massa_async_pool::message::AsyncMessageDeserializer"]],["impl Unpin for AsyncMessageIdDeserializer",1,["massa_async_pool::message::AsyncMessageIdDeserializer"]],["impl Unpin for AsyncMessageIdSerializer",1,["massa_async_pool::message::AsyncMessageIdSerializer"]],["impl Unpin for AsyncMessageInfo",1,["massa_async_pool::message::AsyncMessageInfo"]],["impl Unpin for AsyncMessageSerializer",1,["massa_async_pool::message::AsyncMessageSerializer"]],["impl Unpin for AsyncMessageTrigger",1,["massa_async_pool::message::AsyncMessageTrigger"]],["impl Unpin for AsyncMessageTriggerDeserializer",1,["massa_async_pool::message::AsyncMessageTriggerDeserializer"]],["impl Unpin for AsyncMessageTriggerSerializer",1,["massa_async_pool::message::AsyncMessageTriggerSerializer"]],["impl Unpin for AsyncMessageUpdate",1,["massa_async_pool::message::AsyncMessageUpdate"]],["impl Unpin for AsyncMessageUpdateDeserializer",1,["massa_async_pool::message::AsyncMessageUpdateDeserializer"]],["impl Unpin for AsyncMessageUpdateSerializer",1,["massa_async_pool::message::AsyncMessageUpdateSerializer"]],["impl Unpin for AsyncPool",1,["massa_async_pool::pool::AsyncPool"]],["impl Unpin for AsyncPoolDeserializer",1,["massa_async_pool::pool::AsyncPoolDeserializer"]],["impl Unpin for AsyncPoolSerializer",1,["massa_async_pool::pool::AsyncPoolSerializer"]]], "massa_bootstrap":[["impl Unpin for BootstrapError",1,["massa_bootstrap::error::BootstrapError"]],["impl Unpin for PollEvent",1,["massa_bootstrap::listener::PollEvent"]],["impl Unpin for BootstrapClientMessage",1,["massa_bootstrap::messages::BootstrapClientMessage"]],["impl Unpin for BootstrapServerMessage",1,["massa_bootstrap::messages::BootstrapServerMessage"]],["impl Unpin for MessageClientTypeId",1,["massa_bootstrap::messages::MessageClientTypeId"]],["impl Unpin for MessageServerTypeId",1,["massa_bootstrap::messages::MessageServerTypeId"]],["impl Unpin for IpType",1,["massa_bootstrap::settings::IpType"]],["impl Unpin for BootstrapClientBinder",1,["massa_bootstrap::bindings::client::BootstrapClientBinder"]],["impl Unpin for ServerMessageLeader",1,["massa_bootstrap::bindings::client::ServerMessageLeader"]],["impl Unpin for BootstrapServerBinder",1,["massa_bootstrap::bindings::server::BootstrapServerBinder"]],["impl Unpin for ClientMessageLeader",1,["massa_bootstrap::bindings::server::ClientMessageLeader"]],["impl Unpin for DefaultConnector",1,["massa_bootstrap::client::DefaultConnector"]],["impl Unpin for BootstrapListenerStopHandle",1,["massa_bootstrap::listener::BootstrapListenerStopHandle"]],["impl Unpin for BootstrapTcpListener",1,["massa_bootstrap::listener::BootstrapTcpListener"]],["impl Unpin for BootstrapClientMessageDeserializer",1,["massa_bootstrap::messages::BootstrapClientMessageDeserializer"]],["impl Unpin for BootstrapClientMessageSerializer",1,["massa_bootstrap::messages::BootstrapClientMessageSerializer"]],["impl Unpin for BootstrapServerMessageDeserializer",1,["massa_bootstrap::messages::BootstrapServerMessageDeserializer"]],["impl Unpin for BootstrapServerMessageSerializer",1,["massa_bootstrap::messages::BootstrapServerMessageSerializer"]],["impl Unpin for BootstrapManager",1,["massa_bootstrap::server::BootstrapManager"]],["impl Unpin for BootstrapClientConfig",1,["massa_bootstrap::settings::BootstrapClientConfig"]],["impl Unpin for BootstrapConfig",1,["massa_bootstrap::settings::BootstrapConfig"]],["impl Unpin for BootstrapServerMessageDeserializerArgs",1,["massa_bootstrap::settings::BootstrapServerMessageDeserializerArgs"]],["impl Unpin for BootstrapSrvBindCfg",1,["massa_bootstrap::settings::BootstrapSrvBindCfg"]],["impl Unpin for GlobalBootstrapState",1,["massa_bootstrap::GlobalBootstrapState"]],["impl Unpin for WhiteBlackListInner",1,["massa_bootstrap::white_black_list::WhiteBlackListInner"]],["impl<'a> Unpin for BootstrapServer<'a>",1,["massa_bootstrap::server::BootstrapServer"]],["impl<'a> Unpin for SharedWhiteBlackList<'a>",1,["massa_bootstrap::white_black_list::SharedWhiteBlackList"]]], "massa_channel":[["impl Unpin for MassaChannel",1,["massa_channel::MassaChannel"]],["impl<T> Unpin for MassaReceiver<T>
    where\n T: Unpin,
    ",1,["massa_channel::receiver::MassaReceiver"]],["impl<T> Unpin for MassaSender<T>",1,["massa_channel::sender::MassaSender"]]], diff --git a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index b83a81a357e..d56b95b51af 100644 --- a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,6 +1,6 @@ (function() {var implementors = { "massa_api":[["impl !RefUnwindSafe for ApiV2",1,["massa_api::ApiV2"]],["impl !RefUnwindSafe for Private",1,["massa_api::Private"]],["impl !RefUnwindSafe for Public",1,["massa_api::Public"]],["impl !RefUnwindSafe for StopHandle",1,["massa_api::StopHandle"]],["impl<T> RefUnwindSafe for API<T>
    where\n T: RefUnwindSafe,
    ",1,["massa_api::API"]]], -"massa_api_exports":[["impl !RefUnwindSafe for ApiError",1,["massa_api_exports::error::ApiError"]],["impl RefUnwindSafe for ListType",1,["massa_api_exports::ListType"]],["impl RefUnwindSafe for ScrudOperation",1,["massa_api_exports::ScrudOperation"]],["impl RefUnwindSafe for ReadOnlyResult",1,["massa_api_exports::execution::ReadOnlyResult"]],["impl RefUnwindSafe for TransferContext",1,["massa_api_exports::execution::TransferContext"]],["impl RefUnwindSafe for AddressFilter",1,["massa_api_exports::address::AddressFilter"]],["impl RefUnwindSafe for AddressInfo",1,["massa_api_exports::address::AddressInfo"]],["impl RefUnwindSafe for CompactAddressInfo",1,["massa_api_exports::address::CompactAddressInfo"]],["impl RefUnwindSafe for BlockInfo",1,["massa_api_exports::block::BlockInfo"]],["impl RefUnwindSafe for BlockInfoContent",1,["massa_api_exports::block::BlockInfoContent"]],["impl RefUnwindSafe for BlockSummary",1,["massa_api_exports::block::BlockSummary"]],["impl RefUnwindSafe for APIConfig",1,["massa_api_exports::config::APIConfig"]],["impl RefUnwindSafe for DatastoreEntryInput",1,["massa_api_exports::datastore::DatastoreEntryInput"]],["impl RefUnwindSafe for DatastoreEntryOutput",1,["massa_api_exports::datastore::DatastoreEntryOutput"]],["impl RefUnwindSafe for EndorsementInfo",1,["massa_api_exports::endorsement::EndorsementInfo"]],["impl RefUnwindSafe for DeferredCallResponse",1,["massa_api_exports::execution::DeferredCallResponse"]],["impl RefUnwindSafe for DeferredCallsQuoteRequest",1,["massa_api_exports::execution::DeferredCallsQuoteRequest"]],["impl RefUnwindSafe for DeferredCallsQuoteResponse",1,["massa_api_exports::execution::DeferredCallsQuoteResponse"]],["impl RefUnwindSafe for DeferredCallsSlotResponse",1,["massa_api_exports::execution::DeferredCallsSlotResponse"]],["impl RefUnwindSafe for ExecuteReadOnlyResponse",1,["massa_api_exports::execution::ExecuteReadOnlyResponse"]],["impl RefUnwindSafe for ReadOnlyBytecodeExecution",1,["massa_api_exports::execution::ReadOnlyBytecodeExecution"]],["impl RefUnwindSafe for ReadOnlyCall",1,["massa_api_exports::execution::ReadOnlyCall"]],["impl RefUnwindSafe for Transfer",1,["massa_api_exports::execution::Transfer"]],["impl RefUnwindSafe for LedgerInfo",1,["massa_api_exports::ledger::LedgerInfo"]],["impl RefUnwindSafe for NodeStatus",1,["massa_api_exports::node::NodeStatus"]],["impl RefUnwindSafe for OperationInfo",1,["massa_api_exports::operation::OperationInfo"]],["impl RefUnwindSafe for OperationInput",1,["massa_api_exports::operation::OperationInput"]],["impl RefUnwindSafe for PageRequest",1,["massa_api_exports::page::PageRequest"]],["impl RefUnwindSafe for RollsInfo",1,["massa_api_exports::rolls::RollsInfo"]],["impl RefUnwindSafe for SlotAmount",1,["massa_api_exports::slot::SlotAmount"]],["impl RefUnwindSafe for ApiRequest",1,["massa_api_exports::ApiRequest"]],["impl RefUnwindSafe for TimeInterval",1,["massa_api_exports::TimeInterval"]],["impl<T> RefUnwindSafe for PagedVec<T>
    where\n T: RefUnwindSafe,
    ",1,["massa_api_exports::page::PagedVec"]],["impl<T> RefUnwindSafe for PagedVecV2<T>
    where\n T: RefUnwindSafe,
    ",1,["massa_api_exports::page::PagedVecV2"]]], +"massa_api_exports":[["impl !RefUnwindSafe for ApiError",1,["massa_api_exports::error::ApiError"]],["impl RefUnwindSafe for ListType",1,["massa_api_exports::ListType"]],["impl RefUnwindSafe for ScrudOperation",1,["massa_api_exports::ScrudOperation"]],["impl RefUnwindSafe for ReadOnlyResult",1,["massa_api_exports::execution::ReadOnlyResult"]],["impl RefUnwindSafe for TransferContext",1,["massa_api_exports::execution::TransferContext"]],["impl RefUnwindSafe for AddressFilter",1,["massa_api_exports::address::AddressFilter"]],["impl RefUnwindSafe for AddressInfo",1,["massa_api_exports::address::AddressInfo"]],["impl RefUnwindSafe for CompactAddressInfo",1,["massa_api_exports::address::CompactAddressInfo"]],["impl RefUnwindSafe for GetAddressDatastoreKeysRequest",1,["massa_api_exports::address::GetAddressDatastoreKeysRequest"]],["impl RefUnwindSafe for GetAddressDatastoreKeysResponse",1,["massa_api_exports::address::GetAddressDatastoreKeysResponse"]],["impl RefUnwindSafe for BlockInfo",1,["massa_api_exports::block::BlockInfo"]],["impl RefUnwindSafe for BlockInfoContent",1,["massa_api_exports::block::BlockInfoContent"]],["impl RefUnwindSafe for BlockSummary",1,["massa_api_exports::block::BlockSummary"]],["impl RefUnwindSafe for APIConfig",1,["massa_api_exports::config::APIConfig"]],["impl RefUnwindSafe for DatastoreEntryInput",1,["massa_api_exports::datastore::DatastoreEntryInput"]],["impl RefUnwindSafe for DatastoreEntryOutput",1,["massa_api_exports::datastore::DatastoreEntryOutput"]],["impl RefUnwindSafe for EndorsementInfo",1,["massa_api_exports::endorsement::EndorsementInfo"]],["impl RefUnwindSafe for DeferredCallResponse",1,["massa_api_exports::execution::DeferredCallResponse"]],["impl RefUnwindSafe for DeferredCallsQuoteRequest",1,["massa_api_exports::execution::DeferredCallsQuoteRequest"]],["impl RefUnwindSafe for DeferredCallsQuoteResponse",1,["massa_api_exports::execution::DeferredCallsQuoteResponse"]],["impl RefUnwindSafe for DeferredCallsSlotResponse",1,["massa_api_exports::execution::DeferredCallsSlotResponse"]],["impl RefUnwindSafe for ExecuteReadOnlyResponse",1,["massa_api_exports::execution::ExecuteReadOnlyResponse"]],["impl RefUnwindSafe for ReadOnlyBytecodeExecution",1,["massa_api_exports::execution::ReadOnlyBytecodeExecution"]],["impl RefUnwindSafe for ReadOnlyCall",1,["massa_api_exports::execution::ReadOnlyCall"]],["impl RefUnwindSafe for Transfer",1,["massa_api_exports::execution::Transfer"]],["impl RefUnwindSafe for LedgerInfo",1,["massa_api_exports::ledger::LedgerInfo"]],["impl RefUnwindSafe for NodeStatus",1,["massa_api_exports::node::NodeStatus"]],["impl RefUnwindSafe for OperationInfo",1,["massa_api_exports::operation::OperationInfo"]],["impl RefUnwindSafe for OperationInput",1,["massa_api_exports::operation::OperationInput"]],["impl RefUnwindSafe for PageRequest",1,["massa_api_exports::page::PageRequest"]],["impl RefUnwindSafe for RollsInfo",1,["massa_api_exports::rolls::RollsInfo"]],["impl RefUnwindSafe for SlotAmount",1,["massa_api_exports::slot::SlotAmount"]],["impl RefUnwindSafe for ApiRequest",1,["massa_api_exports::ApiRequest"]],["impl RefUnwindSafe for TimeInterval",1,["massa_api_exports::TimeInterval"]],["impl<T> RefUnwindSafe for PagedVec<T>
    where\n T: RefUnwindSafe,
    ",1,["massa_api_exports::page::PagedVec"]],["impl<T> RefUnwindSafe for PagedVecV2<T>
    where\n T: RefUnwindSafe,
    ",1,["massa_api_exports::page::PagedVecV2"]]], "massa_async_pool":[["impl !RefUnwindSafe for AsyncPool",1,["massa_async_pool::pool::AsyncPool"]],["impl RefUnwindSafe for AsyncPoolChanges",1,["massa_async_pool::changes::AsyncPoolChanges"]],["impl RefUnwindSafe for AsyncPoolChangesDeserializer",1,["massa_async_pool::changes::AsyncPoolChangesDeserializer"]],["impl RefUnwindSafe for AsyncPoolChangesSerializer",1,["massa_async_pool::changes::AsyncPoolChangesSerializer"]],["impl RefUnwindSafe for AsyncPoolConfig",1,["massa_async_pool::config::AsyncPoolConfig"]],["impl RefUnwindSafe for AsyncMessage",1,["massa_async_pool::message::AsyncMessage"]],["impl RefUnwindSafe for AsyncMessageDeserializer",1,["massa_async_pool::message::AsyncMessageDeserializer"]],["impl RefUnwindSafe for AsyncMessageIdDeserializer",1,["massa_async_pool::message::AsyncMessageIdDeserializer"]],["impl RefUnwindSafe for AsyncMessageIdSerializer",1,["massa_async_pool::message::AsyncMessageIdSerializer"]],["impl RefUnwindSafe for AsyncMessageInfo",1,["massa_async_pool::message::AsyncMessageInfo"]],["impl RefUnwindSafe for AsyncMessageSerializer",1,["massa_async_pool::message::AsyncMessageSerializer"]],["impl RefUnwindSafe for AsyncMessageTrigger",1,["massa_async_pool::message::AsyncMessageTrigger"]],["impl RefUnwindSafe for AsyncMessageTriggerDeserializer",1,["massa_async_pool::message::AsyncMessageTriggerDeserializer"]],["impl RefUnwindSafe for AsyncMessageTriggerSerializer",1,["massa_async_pool::message::AsyncMessageTriggerSerializer"]],["impl RefUnwindSafe for AsyncMessageUpdate",1,["massa_async_pool::message::AsyncMessageUpdate"]],["impl RefUnwindSafe for AsyncMessageUpdateDeserializer",1,["massa_async_pool::message::AsyncMessageUpdateDeserializer"]],["impl RefUnwindSafe for AsyncMessageUpdateSerializer",1,["massa_async_pool::message::AsyncMessageUpdateSerializer"]],["impl RefUnwindSafe for AsyncPoolDeserializer",1,["massa_async_pool::pool::AsyncPoolDeserializer"]],["impl RefUnwindSafe for AsyncPoolSerializer",1,["massa_async_pool::pool::AsyncPoolSerializer"]]], "massa_bootstrap":[["impl !RefUnwindSafe for BootstrapError",1,["massa_bootstrap::error::BootstrapError"]],["impl !RefUnwindSafe for BootstrapManager",1,["massa_bootstrap::server::BootstrapManager"]],["impl !RefUnwindSafe for GlobalBootstrapState",1,["massa_bootstrap::GlobalBootstrapState"]],["impl RefUnwindSafe for PollEvent",1,["massa_bootstrap::listener::PollEvent"]],["impl RefUnwindSafe for BootstrapClientMessage",1,["massa_bootstrap::messages::BootstrapClientMessage"]],["impl RefUnwindSafe for BootstrapServerMessage",1,["massa_bootstrap::messages::BootstrapServerMessage"]],["impl RefUnwindSafe for MessageClientTypeId",1,["massa_bootstrap::messages::MessageClientTypeId"]],["impl RefUnwindSafe for MessageServerTypeId",1,["massa_bootstrap::messages::MessageServerTypeId"]],["impl RefUnwindSafe for IpType",1,["massa_bootstrap::settings::IpType"]],["impl RefUnwindSafe for BootstrapClientBinder",1,["massa_bootstrap::bindings::client::BootstrapClientBinder"]],["impl RefUnwindSafe for ServerMessageLeader",1,["massa_bootstrap::bindings::client::ServerMessageLeader"]],["impl RefUnwindSafe for BootstrapServerBinder",1,["massa_bootstrap::bindings::server::BootstrapServerBinder"]],["impl RefUnwindSafe for ClientMessageLeader",1,["massa_bootstrap::bindings::server::ClientMessageLeader"]],["impl RefUnwindSafe for DefaultConnector",1,["massa_bootstrap::client::DefaultConnector"]],["impl RefUnwindSafe for BootstrapListenerStopHandle",1,["massa_bootstrap::listener::BootstrapListenerStopHandle"]],["impl RefUnwindSafe for BootstrapTcpListener",1,["massa_bootstrap::listener::BootstrapTcpListener"]],["impl RefUnwindSafe for BootstrapClientMessageDeserializer",1,["massa_bootstrap::messages::BootstrapClientMessageDeserializer"]],["impl RefUnwindSafe for BootstrapClientMessageSerializer",1,["massa_bootstrap::messages::BootstrapClientMessageSerializer"]],["impl RefUnwindSafe for BootstrapServerMessageDeserializer",1,["massa_bootstrap::messages::BootstrapServerMessageDeserializer"]],["impl RefUnwindSafe for BootstrapServerMessageSerializer",1,["massa_bootstrap::messages::BootstrapServerMessageSerializer"]],["impl RefUnwindSafe for BootstrapClientConfig",1,["massa_bootstrap::settings::BootstrapClientConfig"]],["impl RefUnwindSafe for BootstrapConfig",1,["massa_bootstrap::settings::BootstrapConfig"]],["impl RefUnwindSafe for BootstrapServerMessageDeserializerArgs",1,["massa_bootstrap::settings::BootstrapServerMessageDeserializerArgs"]],["impl RefUnwindSafe for BootstrapSrvBindCfg",1,["massa_bootstrap::settings::BootstrapSrvBindCfg"]],["impl RefUnwindSafe for WhiteBlackListInner",1,["massa_bootstrap::white_black_list::WhiteBlackListInner"]],["impl<'a> !RefUnwindSafe for BootstrapServer<'a>",1,["massa_bootstrap::server::BootstrapServer"]],["impl<'a> !RefUnwindSafe for SharedWhiteBlackList<'a>",1,["massa_bootstrap::white_black_list::SharedWhiteBlackList"]]], "massa_channel":[["impl RefUnwindSafe for MassaChannel",1,["massa_channel::MassaChannel"]],["impl<T> RefUnwindSafe for MassaReceiver<T>",1,["massa_channel::receiver::MassaReceiver"]],["impl<T> RefUnwindSafe for MassaSender<T>",1,["massa_channel::sender::MassaSender"]]], diff --git a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js index 9f7cd93b5fe..73b0e6980d8 100644 --- a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,6 +1,6 @@ (function() {var implementors = { "massa_api":[["impl !UnwindSafe for ApiV2",1,["massa_api::ApiV2"]],["impl !UnwindSafe for Private",1,["massa_api::Private"]],["impl !UnwindSafe for Public",1,["massa_api::Public"]],["impl !UnwindSafe for StopHandle",1,["massa_api::StopHandle"]],["impl<T> UnwindSafe for API<T>
    where\n T: UnwindSafe,
    ",1,["massa_api::API"]]], -"massa_api_exports":[["impl !UnwindSafe for ApiError",1,["massa_api_exports::error::ApiError"]],["impl UnwindSafe for ListType",1,["massa_api_exports::ListType"]],["impl UnwindSafe for ScrudOperation",1,["massa_api_exports::ScrudOperation"]],["impl UnwindSafe for ReadOnlyResult",1,["massa_api_exports::execution::ReadOnlyResult"]],["impl UnwindSafe for TransferContext",1,["massa_api_exports::execution::TransferContext"]],["impl UnwindSafe for AddressFilter",1,["massa_api_exports::address::AddressFilter"]],["impl UnwindSafe for AddressInfo",1,["massa_api_exports::address::AddressInfo"]],["impl UnwindSafe for CompactAddressInfo",1,["massa_api_exports::address::CompactAddressInfo"]],["impl UnwindSafe for BlockInfo",1,["massa_api_exports::block::BlockInfo"]],["impl UnwindSafe for BlockInfoContent",1,["massa_api_exports::block::BlockInfoContent"]],["impl UnwindSafe for BlockSummary",1,["massa_api_exports::block::BlockSummary"]],["impl UnwindSafe for APIConfig",1,["massa_api_exports::config::APIConfig"]],["impl UnwindSafe for DatastoreEntryInput",1,["massa_api_exports::datastore::DatastoreEntryInput"]],["impl UnwindSafe for DatastoreEntryOutput",1,["massa_api_exports::datastore::DatastoreEntryOutput"]],["impl UnwindSafe for EndorsementInfo",1,["massa_api_exports::endorsement::EndorsementInfo"]],["impl UnwindSafe for DeferredCallResponse",1,["massa_api_exports::execution::DeferredCallResponse"]],["impl UnwindSafe for DeferredCallsQuoteRequest",1,["massa_api_exports::execution::DeferredCallsQuoteRequest"]],["impl UnwindSafe for DeferredCallsQuoteResponse",1,["massa_api_exports::execution::DeferredCallsQuoteResponse"]],["impl UnwindSafe for DeferredCallsSlotResponse",1,["massa_api_exports::execution::DeferredCallsSlotResponse"]],["impl UnwindSafe for ExecuteReadOnlyResponse",1,["massa_api_exports::execution::ExecuteReadOnlyResponse"]],["impl UnwindSafe for ReadOnlyBytecodeExecution",1,["massa_api_exports::execution::ReadOnlyBytecodeExecution"]],["impl UnwindSafe for ReadOnlyCall",1,["massa_api_exports::execution::ReadOnlyCall"]],["impl UnwindSafe for Transfer",1,["massa_api_exports::execution::Transfer"]],["impl UnwindSafe for LedgerInfo",1,["massa_api_exports::ledger::LedgerInfo"]],["impl UnwindSafe for NodeStatus",1,["massa_api_exports::node::NodeStatus"]],["impl UnwindSafe for OperationInfo",1,["massa_api_exports::operation::OperationInfo"]],["impl UnwindSafe for OperationInput",1,["massa_api_exports::operation::OperationInput"]],["impl UnwindSafe for PageRequest",1,["massa_api_exports::page::PageRequest"]],["impl UnwindSafe for RollsInfo",1,["massa_api_exports::rolls::RollsInfo"]],["impl UnwindSafe for SlotAmount",1,["massa_api_exports::slot::SlotAmount"]],["impl UnwindSafe for ApiRequest",1,["massa_api_exports::ApiRequest"]],["impl UnwindSafe for TimeInterval",1,["massa_api_exports::TimeInterval"]],["impl<T> UnwindSafe for PagedVec<T>
    where\n T: UnwindSafe,
    ",1,["massa_api_exports::page::PagedVec"]],["impl<T> UnwindSafe for PagedVecV2<T>
    where\n T: UnwindSafe,
    ",1,["massa_api_exports::page::PagedVecV2"]]], +"massa_api_exports":[["impl !UnwindSafe for ApiError",1,["massa_api_exports::error::ApiError"]],["impl UnwindSafe for ListType",1,["massa_api_exports::ListType"]],["impl UnwindSafe for ScrudOperation",1,["massa_api_exports::ScrudOperation"]],["impl UnwindSafe for ReadOnlyResult",1,["massa_api_exports::execution::ReadOnlyResult"]],["impl UnwindSafe for TransferContext",1,["massa_api_exports::execution::TransferContext"]],["impl UnwindSafe for AddressFilter",1,["massa_api_exports::address::AddressFilter"]],["impl UnwindSafe for AddressInfo",1,["massa_api_exports::address::AddressInfo"]],["impl UnwindSafe for CompactAddressInfo",1,["massa_api_exports::address::CompactAddressInfo"]],["impl UnwindSafe for GetAddressDatastoreKeysRequest",1,["massa_api_exports::address::GetAddressDatastoreKeysRequest"]],["impl UnwindSafe for GetAddressDatastoreKeysResponse",1,["massa_api_exports::address::GetAddressDatastoreKeysResponse"]],["impl UnwindSafe for BlockInfo",1,["massa_api_exports::block::BlockInfo"]],["impl UnwindSafe for BlockInfoContent",1,["massa_api_exports::block::BlockInfoContent"]],["impl UnwindSafe for BlockSummary",1,["massa_api_exports::block::BlockSummary"]],["impl UnwindSafe for APIConfig",1,["massa_api_exports::config::APIConfig"]],["impl UnwindSafe for DatastoreEntryInput",1,["massa_api_exports::datastore::DatastoreEntryInput"]],["impl UnwindSafe for DatastoreEntryOutput",1,["massa_api_exports::datastore::DatastoreEntryOutput"]],["impl UnwindSafe for EndorsementInfo",1,["massa_api_exports::endorsement::EndorsementInfo"]],["impl UnwindSafe for DeferredCallResponse",1,["massa_api_exports::execution::DeferredCallResponse"]],["impl UnwindSafe for DeferredCallsQuoteRequest",1,["massa_api_exports::execution::DeferredCallsQuoteRequest"]],["impl UnwindSafe for DeferredCallsQuoteResponse",1,["massa_api_exports::execution::DeferredCallsQuoteResponse"]],["impl UnwindSafe for DeferredCallsSlotResponse",1,["massa_api_exports::execution::DeferredCallsSlotResponse"]],["impl UnwindSafe for ExecuteReadOnlyResponse",1,["massa_api_exports::execution::ExecuteReadOnlyResponse"]],["impl UnwindSafe for ReadOnlyBytecodeExecution",1,["massa_api_exports::execution::ReadOnlyBytecodeExecution"]],["impl UnwindSafe for ReadOnlyCall",1,["massa_api_exports::execution::ReadOnlyCall"]],["impl UnwindSafe for Transfer",1,["massa_api_exports::execution::Transfer"]],["impl UnwindSafe for LedgerInfo",1,["massa_api_exports::ledger::LedgerInfo"]],["impl UnwindSafe for NodeStatus",1,["massa_api_exports::node::NodeStatus"]],["impl UnwindSafe for OperationInfo",1,["massa_api_exports::operation::OperationInfo"]],["impl UnwindSafe for OperationInput",1,["massa_api_exports::operation::OperationInput"]],["impl UnwindSafe for PageRequest",1,["massa_api_exports::page::PageRequest"]],["impl UnwindSafe for RollsInfo",1,["massa_api_exports::rolls::RollsInfo"]],["impl UnwindSafe for SlotAmount",1,["massa_api_exports::slot::SlotAmount"]],["impl UnwindSafe for ApiRequest",1,["massa_api_exports::ApiRequest"]],["impl UnwindSafe for TimeInterval",1,["massa_api_exports::TimeInterval"]],["impl<T> UnwindSafe for PagedVec<T>
    where\n T: UnwindSafe,
    ",1,["massa_api_exports::page::PagedVec"]],["impl<T> UnwindSafe for PagedVecV2<T>
    where\n T: UnwindSafe,
    ",1,["massa_api_exports::page::PagedVecV2"]]], "massa_async_pool":[["impl !UnwindSafe for AsyncPool",1,["massa_async_pool::pool::AsyncPool"]],["impl UnwindSafe for AsyncPoolChanges",1,["massa_async_pool::changes::AsyncPoolChanges"]],["impl UnwindSafe for AsyncPoolChangesDeserializer",1,["massa_async_pool::changes::AsyncPoolChangesDeserializer"]],["impl UnwindSafe for AsyncPoolChangesSerializer",1,["massa_async_pool::changes::AsyncPoolChangesSerializer"]],["impl UnwindSafe for AsyncPoolConfig",1,["massa_async_pool::config::AsyncPoolConfig"]],["impl UnwindSafe for AsyncMessage",1,["massa_async_pool::message::AsyncMessage"]],["impl UnwindSafe for AsyncMessageDeserializer",1,["massa_async_pool::message::AsyncMessageDeserializer"]],["impl UnwindSafe for AsyncMessageIdDeserializer",1,["massa_async_pool::message::AsyncMessageIdDeserializer"]],["impl UnwindSafe for AsyncMessageIdSerializer",1,["massa_async_pool::message::AsyncMessageIdSerializer"]],["impl UnwindSafe for AsyncMessageInfo",1,["massa_async_pool::message::AsyncMessageInfo"]],["impl UnwindSafe for AsyncMessageSerializer",1,["massa_async_pool::message::AsyncMessageSerializer"]],["impl UnwindSafe for AsyncMessageTrigger",1,["massa_async_pool::message::AsyncMessageTrigger"]],["impl UnwindSafe for AsyncMessageTriggerDeserializer",1,["massa_async_pool::message::AsyncMessageTriggerDeserializer"]],["impl UnwindSafe for AsyncMessageTriggerSerializer",1,["massa_async_pool::message::AsyncMessageTriggerSerializer"]],["impl UnwindSafe for AsyncMessageUpdate",1,["massa_async_pool::message::AsyncMessageUpdate"]],["impl UnwindSafe for AsyncMessageUpdateDeserializer",1,["massa_async_pool::message::AsyncMessageUpdateDeserializer"]],["impl UnwindSafe for AsyncMessageUpdateSerializer",1,["massa_async_pool::message::AsyncMessageUpdateSerializer"]],["impl UnwindSafe for AsyncPoolDeserializer",1,["massa_async_pool::pool::AsyncPoolDeserializer"]],["impl UnwindSafe for AsyncPoolSerializer",1,["massa_async_pool::pool::AsyncPoolSerializer"]]], "massa_bootstrap":[["impl !UnwindSafe for BootstrapError",1,["massa_bootstrap::error::BootstrapError"]],["impl !UnwindSafe for BootstrapManager",1,["massa_bootstrap::server::BootstrapManager"]],["impl !UnwindSafe for GlobalBootstrapState",1,["massa_bootstrap::GlobalBootstrapState"]],["impl UnwindSafe for PollEvent",1,["massa_bootstrap::listener::PollEvent"]],["impl UnwindSafe for BootstrapClientMessage",1,["massa_bootstrap::messages::BootstrapClientMessage"]],["impl UnwindSafe for BootstrapServerMessage",1,["massa_bootstrap::messages::BootstrapServerMessage"]],["impl UnwindSafe for MessageClientTypeId",1,["massa_bootstrap::messages::MessageClientTypeId"]],["impl UnwindSafe for MessageServerTypeId",1,["massa_bootstrap::messages::MessageServerTypeId"]],["impl UnwindSafe for IpType",1,["massa_bootstrap::settings::IpType"]],["impl UnwindSafe for BootstrapClientBinder",1,["massa_bootstrap::bindings::client::BootstrapClientBinder"]],["impl UnwindSafe for ServerMessageLeader",1,["massa_bootstrap::bindings::client::ServerMessageLeader"]],["impl UnwindSafe for BootstrapServerBinder",1,["massa_bootstrap::bindings::server::BootstrapServerBinder"]],["impl UnwindSafe for ClientMessageLeader",1,["massa_bootstrap::bindings::server::ClientMessageLeader"]],["impl UnwindSafe for DefaultConnector",1,["massa_bootstrap::client::DefaultConnector"]],["impl UnwindSafe for BootstrapListenerStopHandle",1,["massa_bootstrap::listener::BootstrapListenerStopHandle"]],["impl UnwindSafe for BootstrapTcpListener",1,["massa_bootstrap::listener::BootstrapTcpListener"]],["impl UnwindSafe for BootstrapClientMessageDeserializer",1,["massa_bootstrap::messages::BootstrapClientMessageDeserializer"]],["impl UnwindSafe for BootstrapClientMessageSerializer",1,["massa_bootstrap::messages::BootstrapClientMessageSerializer"]],["impl UnwindSafe for BootstrapServerMessageDeserializer",1,["massa_bootstrap::messages::BootstrapServerMessageDeserializer"]],["impl UnwindSafe for BootstrapServerMessageSerializer",1,["massa_bootstrap::messages::BootstrapServerMessageSerializer"]],["impl UnwindSafe for BootstrapClientConfig",1,["massa_bootstrap::settings::BootstrapClientConfig"]],["impl UnwindSafe for BootstrapConfig",1,["massa_bootstrap::settings::BootstrapConfig"]],["impl UnwindSafe for BootstrapServerMessageDeserializerArgs",1,["massa_bootstrap::settings::BootstrapServerMessageDeserializerArgs"]],["impl UnwindSafe for BootstrapSrvBindCfg",1,["massa_bootstrap::settings::BootstrapSrvBindCfg"]],["impl UnwindSafe for WhiteBlackListInner",1,["massa_bootstrap::white_black_list::WhiteBlackListInner"]],["impl<'a> !UnwindSafe for BootstrapServer<'a>",1,["massa_bootstrap::server::BootstrapServer"]],["impl<'a> !UnwindSafe for SharedWhiteBlackList<'a>",1,["massa_bootstrap::white_black_list::SharedWhiteBlackList"]]], "massa_channel":[["impl UnwindSafe for MassaChannel",1,["massa_channel::MassaChannel"]],["impl<T> UnwindSafe for MassaReceiver<T>",1,["massa_channel::receiver::MassaReceiver"]],["impl<T> UnwindSafe for MassaSender<T>",1,["massa_channel::sender::MassaSender"]]], diff --git a/trait.impl/serde/de/trait.Deserialize.js b/trait.impl/serde/de/trait.Deserialize.js index 86f7e4565a9..0c36c28dbbd 100644 --- a/trait.impl/serde/de/trait.Deserialize.js +++ b/trait.impl/serde/de/trait.Deserialize.js @@ -1,20 +1,20 @@ (function() {var implementors = { -"massa_api_exports":[["impl<'de> Deserialize<'de> for ReadOnlyResult"],["impl<'de> Deserialize<'de> for TransferContext"],["impl<'de> Deserialize<'de> for AddressFilter"],["impl<'de> Deserialize<'de> for AddressInfo"],["impl<'de> Deserialize<'de> for CompactAddressInfo"],["impl<'de> Deserialize<'de> for BlockInfo"],["impl<'de> Deserialize<'de> for BlockInfoContent"],["impl<'de> Deserialize<'de> for BlockSummary"],["impl<'de> Deserialize<'de> for APIConfig"],["impl<'de> Deserialize<'de> for DatastoreEntryInput"],["impl<'de> Deserialize<'de> for DatastoreEntryOutput"],["impl<'de> Deserialize<'de> for EndorsementInfo"],["impl<'de> Deserialize<'de> for DeferredCallResponse"],["impl<'de> Deserialize<'de> for DeferredCallsQuoteRequest"],["impl<'de> Deserialize<'de> for DeferredCallsQuoteResponse"],["impl<'de> Deserialize<'de> for DeferredCallsSlotResponse"],["impl<'de> Deserialize<'de> for ExecuteReadOnlyResponse"],["impl<'de> Deserialize<'de> for ReadOnlyBytecodeExecution"],["impl<'de> Deserialize<'de> for ReadOnlyCall"],["impl<'de> Deserialize<'de> for Transfer"],["impl<'de> Deserialize<'de> for LedgerInfo"],["impl<'de> Deserialize<'de> for NodeStatus"],["impl<'de> Deserialize<'de> for OperationInfo"],["impl<'de> Deserialize<'de> for OperationInput"],["impl<'de> Deserialize<'de> for PageRequest"],["impl<'de> Deserialize<'de> for RollsInfo"],["impl<'de> Deserialize<'de> for SlotAmount"],["impl<'de> Deserialize<'de> for ApiRequest"],["impl<'de> Deserialize<'de> for TimeInterval"],["impl<'de, T> Deserialize<'de> for PagedVecV2<T>
    where\n T: Deserialize<'de>,
    "]], -"massa_async_pool":[["impl<'de> Deserialize<'de> for AsyncPoolChanges"],["impl<'de> Deserialize<'de> for AsyncMessage"],["impl<'de> Deserialize<'de> for AsyncMessageTrigger"],["impl<'de> Deserialize<'de> for AsyncMessageUpdate"]], -"massa_bootstrap":[["impl<'de> Deserialize<'de> for IpType"],["impl<'de> Deserialize<'de> for BootstrapClientConfig"],["impl<'de> Deserialize<'de> for BootstrapConfig"],["impl<'de> Deserialize<'de> for BootstrapSrvBindCfg"]], -"massa_client":[["impl<'de> Deserialize<'de> for ClientSettings"],["impl<'de> Deserialize<'de> for DefaultNode"],["impl<'de> Deserialize<'de> for HttpSettings"],["impl<'de> Deserialize<'de> for Settings"]], -"massa_consensus_exports":[["impl<'de> Deserialize<'de> for DiscardReason"],["impl<'de> Deserialize<'de> for ExportBlockStatus"],["impl<'de> Deserialize<'de> for Status"],["impl<'de> Deserialize<'de> for ExportCompiledBlock"],["impl<'de> Deserialize<'de> for BootstrapableGraph"],["impl<'de> Deserialize<'de> for ExportActiveBlock"],["impl<'de> Deserialize<'de> for ConsensusConfig"]], -"massa_deferred_calls":[["impl<'de> Deserialize<'de> for DeferredCall"],["impl<'de> Deserialize<'de> for DeferredCallsConfig"],["impl<'de> Deserialize<'de> for DeferredCallRegistryChanges"],["impl<'de> Deserialize<'de> for DeferredRegistrySlotChanges"]], -"massa_final_state":[["impl<'de> Deserialize<'de> for StateChanges"]], -"massa_grpc":[["impl<'de> Deserialize<'de> for ServiceName"],["impl<'de> Deserialize<'de> for GrpcApiConfig"],["impl<'de> Deserialize<'de> for GrpcConfig"]], -"massa_hash":[["impl<'de> Deserialize<'de> for Hash"]], -"massa_ledger_exports":[["impl<'de> Deserialize<'de> for LedgerChanges"],["impl<'de> Deserialize<'de> for LedgerEntryUpdate"],["impl<'de> Deserialize<'de> for LedgerEntry"]], -"massa_models":[["impl<'de> Deserialize<'de> for Address"],["impl<'de> Deserialize<'de> for BlockGraphStatus"],["impl<'de> Deserialize<'de> for BlockId
    where\n Self: FromStr,\n <Self as FromStr>::Err: Display,
    "],["impl<'de> Deserialize<'de> for OperationSearchResultBlockStatus"],["impl<'de> Deserialize<'de> for OperationSearchResultStatus"],["impl<'de> Deserialize<'de> for DeferredCallId"],["impl<'de> Deserialize<'de> for Denunciation"],["impl<'de> Deserialize<'de> for DenunciationIndex"],["impl<'de> Deserialize<'de> for EndorsementId
    where\n Self: FromStr,\n <Self as FromStr>::Err: Display,
    "],["impl<'de> Deserialize<'de> for OperationId
    where\n Self: FromStr,\n <Self as FromStr>::Err: Display,
    "],["impl<'de> Deserialize<'de> for OperationPrefixId"],["impl<'de> Deserialize<'de> for OperationType"],["impl<'de> Deserialize<'de> for ActiveBlock"],["impl<'de> Deserialize<'de> for ExecutionAddressCycleInfo"],["impl<'de> Deserialize<'de> for Amount"],["impl<'de> Deserialize<'de> for Block"],["impl<'de> Deserialize<'de> for FilledBlock"],["impl<'de> Deserialize<'de> for BlockHeader"],["impl<'de> Deserialize<'de> for BlockIdV0
    where\n Self: FromStr,\n <Self as FromStr>::Err: Display,
    "],["impl<'de> Deserialize<'de> for Bytecode"],["impl<'de> Deserialize<'de> for Clique"],["impl<'de> Deserialize<'de> for OperationSearchResult"],["impl<'de> Deserialize<'de> for PubkeySig"],["impl<'de> Deserialize<'de> for StakersCycleProductionStats"],["impl<'de> Deserialize<'de> for CompactConfig"],["impl<'de> Deserialize<'de> for BlockHeaderDenunciation"],["impl<'de> Deserialize<'de> for EndorsementDenunciation"],["impl<'de> Deserialize<'de> for Endorsement"],["impl<'de> Deserialize<'de> for EndorsementIdV0
    where\n Self: FromStr,\n <Self as FromStr>::Err: Display,
    "],["impl<'de> Deserialize<'de> for EventFilter"],["impl<'de> Deserialize<'de> for LedgerChange"],["impl<'de> Deserialize<'de> for LedgerChanges"],["impl<'de> Deserialize<'de> for LedgerData"],["impl<'de> Deserialize<'de> for NodeId
    where\n Self: FromStr,\n <Self as FromStr>::Err: Display,
    "],["impl<'de> Deserialize<'de> for Operation"],["impl<'de> Deserialize<'de> for OperationIdV0
    where\n Self: FromStr,\n <Self as FromStr>::Err: Display,
    "],["impl<'de> Deserialize<'de> for OperationPrefixIdV0"],["impl<'de> Deserialize<'de> for EventExecutionContext"],["impl<'de> Deserialize<'de> for SCOutputEvent"],["impl<'de> Deserialize<'de> for RollCompensation"],["impl<'de> Deserialize<'de> for RollCounts"],["impl<'de> Deserialize<'de> for RollUpdate"],["impl<'de> Deserialize<'de> for RollUpdates"],["impl<'de> Deserialize<'de> for IndexedSlot"],["impl<'de> Deserialize<'de> for Slot"],["impl<'de> Deserialize<'de> for ConsensusStats"],["impl<'de> Deserialize<'de> for ExecutionStats"],["impl<'de> Deserialize<'de> for NetworkStats"],["impl<'de> Deserialize<'de> for PoolStats"],["impl<'de> Deserialize<'de> for Version"],["impl<'de, T> Deserialize<'de> for SetOrDelete<T>
    where\n T: Deserialize<'de> + Clone,
    "],["impl<'de, T> Deserialize<'de> for SetOrKeep<T>
    where\n T: Deserialize<'de> + Clone,
    "],["impl<'de, T, ID> Deserialize<'de> for SecureShare<T, ID>
    where\n T: Display + SecureShareContent + Deserialize<'de>,\n ID: Id + Deserialize<'de>,
    "],["impl<'de, T, V> Deserialize<'de> for SetUpdateOrDelete<T, V>
    where\n T: Deserialize<'de> + Default + Applicable<V>,\n V: Deserialize<'de> + Applicable<V> + Clone,
    "]], -"massa_node":[["impl<'de> Deserialize<'de> for APISettings"],["impl<'de> Deserialize<'de> for BlockDumpSettings"],["impl<'de> Deserialize<'de> for BootstrapSettings"],["impl<'de> Deserialize<'de> for ConsensusSettings"],["impl<'de> Deserialize<'de> for ExecutionSettings"],["impl<'de> Deserialize<'de> for FactorySettings"],["impl<'de> Deserialize<'de> for GrpcApiSettings"],["impl<'de> Deserialize<'de> for GrpcSettings"],["impl<'de> Deserialize<'de> for LedgerSettings"],["impl<'de> Deserialize<'de> for LoggingSettings"],["impl<'de> Deserialize<'de> for MetricsSettings"],["impl<'de> Deserialize<'de> for NetworkSettings"],["impl<'de> Deserialize<'de> for PoolSettings"],["impl<'de> Deserialize<'de> for ProtocolSettings"],["impl<'de> Deserialize<'de> for SelectionSettings"],["impl<'de> Deserialize<'de> for Settings"],["impl<'de> Deserialize<'de> for VersioningSettings"]], -"massa_pool_exports":[["impl<'de> Deserialize<'de> for PoolConfig"]], -"massa_pos_exports":[["impl<'de> Deserialize<'de> for ProductionStats"],["impl<'de> Deserialize<'de> for DeferredCredits"],["impl<'de> Deserialize<'de> for PoSChanges"],["impl<'de> Deserialize<'de> for SelectorConfig"]], -"massa_protocol_exports":[["impl<'de> Deserialize<'de> for BootstrapPeers"],["impl<'de> Deserialize<'de> for PeerData"],["impl<'de> Deserialize<'de> for PeerId"],["impl<'de> Deserialize<'de> for PeerCategoryInfo"],["impl<'de> Deserialize<'de> for ProtocolConfig"]], -"massa_signature":[["impl<'de> Deserialize<'de> for KeyPair"],["impl<'de> Deserialize<'de> for PublicKey"],["impl<'de> Deserialize<'de> for Signature"]], -"massa_time":[["impl<'de> Deserialize<'de> for MassaTime"]], -"massa_wallet":[["impl<'de> Deserialize<'de> for Wallet"],["impl<'de> Deserialize<'de> for WalletFileFormat"]] +"massa_api_exports":[["impl<'de> Deserialize<'de> for ReadOnlyResult"],["impl<'de> Deserialize<'de> for TransferContext"],["impl<'de> Deserialize<'de> for AddressFilter"],["impl<'de> Deserialize<'de> for AddressInfo"],["impl<'de> Deserialize<'de> for CompactAddressInfo"],["impl<'de> Deserialize<'de> for GetAddressDatastoreKeysRequest"],["impl<'de> Deserialize<'de> for BlockInfo"],["impl<'de> Deserialize<'de> for BlockInfoContent"],["impl<'de> Deserialize<'de> for BlockSummary"],["impl<'de> Deserialize<'de> for APIConfig"],["impl<'de> Deserialize<'de> for DatastoreEntryInput"],["impl<'de> Deserialize<'de> for DatastoreEntryOutput"],["impl<'de> Deserialize<'de> for EndorsementInfo"],["impl<'de> Deserialize<'de> for DeferredCallResponse"],["impl<'de> Deserialize<'de> for DeferredCallsQuoteRequest"],["impl<'de> Deserialize<'de> for DeferredCallsQuoteResponse"],["impl<'de> Deserialize<'de> for DeferredCallsSlotResponse"],["impl<'de> Deserialize<'de> for ExecuteReadOnlyResponse"],["impl<'de> Deserialize<'de> for ReadOnlyBytecodeExecution"],["impl<'de> Deserialize<'de> for ReadOnlyCall"],["impl<'de> Deserialize<'de> for Transfer"],["impl<'de> Deserialize<'de> for LedgerInfo"],["impl<'de> Deserialize<'de> for NodeStatus"],["impl<'de> Deserialize<'de> for OperationInfo"],["impl<'de> Deserialize<'de> for OperationInput"],["impl<'de> Deserialize<'de> for PageRequest"],["impl<'de> Deserialize<'de> for RollsInfo"],["impl<'de> Deserialize<'de> for SlotAmount"],["impl<'de> Deserialize<'de> for ApiRequest"],["impl<'de> Deserialize<'de> for TimeInterval"],["impl<'de, T> Deserialize<'de> for PagedVecV2<T>
    where\n T: Deserialize<'de>,
    "]], +"massa_async_pool":[["impl<'de> Deserialize<'de> for AsyncPoolChanges"],["impl<'de> Deserialize<'de> for AsyncMessage"],["impl<'de> Deserialize<'de> for AsyncMessageTrigger"],["impl<'de> Deserialize<'de> for AsyncMessageUpdate"]], +"massa_bootstrap":[["impl<'de> Deserialize<'de> for IpType"],["impl<'de> Deserialize<'de> for BootstrapClientConfig"],["impl<'de> Deserialize<'de> for BootstrapConfig"],["impl<'de> Deserialize<'de> for BootstrapSrvBindCfg"]], +"massa_client":[["impl<'de> Deserialize<'de> for ClientSettings"],["impl<'de> Deserialize<'de> for DefaultNode"],["impl<'de> Deserialize<'de> for HttpSettings"],["impl<'de> Deserialize<'de> for Settings"]], +"massa_consensus_exports":[["impl<'de> Deserialize<'de> for DiscardReason"],["impl<'de> Deserialize<'de> for ExportBlockStatus"],["impl<'de> Deserialize<'de> for Status"],["impl<'de> Deserialize<'de> for ExportCompiledBlock"],["impl<'de> Deserialize<'de> for BootstrapableGraph"],["impl<'de> Deserialize<'de> for ExportActiveBlock"],["impl<'de> Deserialize<'de> for ConsensusConfig"]], +"massa_deferred_calls":[["impl<'de> Deserialize<'de> for DeferredCall"],["impl<'de> Deserialize<'de> for DeferredCallsConfig"],["impl<'de> Deserialize<'de> for DeferredCallRegistryChanges"],["impl<'de> Deserialize<'de> for DeferredRegistrySlotChanges"]], +"massa_final_state":[["impl<'de> Deserialize<'de> for StateChanges"]], +"massa_grpc":[["impl<'de> Deserialize<'de> for ServiceName"],["impl<'de> Deserialize<'de> for GrpcApiConfig"],["impl<'de> Deserialize<'de> for GrpcConfig"]], +"massa_hash":[["impl<'de> Deserialize<'de> for Hash"]], +"massa_ledger_exports":[["impl<'de> Deserialize<'de> for LedgerChanges"],["impl<'de> Deserialize<'de> for LedgerEntryUpdate"],["impl<'de> Deserialize<'de> for LedgerEntry"]], +"massa_models":[["impl<'de> Deserialize<'de> for Address"],["impl<'de> Deserialize<'de> for BlockGraphStatus"],["impl<'de> Deserialize<'de> for BlockId
    where\n Self: FromStr,\n <Self as FromStr>::Err: Display,
    "],["impl<'de> Deserialize<'de> for OperationSearchResultBlockStatus"],["impl<'de> Deserialize<'de> for OperationSearchResultStatus"],["impl<'de> Deserialize<'de> for DeferredCallId"],["impl<'de> Deserialize<'de> for Denunciation"],["impl<'de> Deserialize<'de> for DenunciationIndex"],["impl<'de> Deserialize<'de> for EndorsementId
    where\n Self: FromStr,\n <Self as FromStr>::Err: Display,
    "],["impl<'de> Deserialize<'de> for OperationId
    where\n Self: FromStr,\n <Self as FromStr>::Err: Display,
    "],["impl<'de> Deserialize<'de> for OperationPrefixId"],["impl<'de> Deserialize<'de> for OperationType"],["impl<'de> Deserialize<'de> for ActiveBlock"],["impl<'de> Deserialize<'de> for ExecutionAddressCycleInfo"],["impl<'de> Deserialize<'de> for Amount"],["impl<'de> Deserialize<'de> for Block"],["impl<'de> Deserialize<'de> for FilledBlock"],["impl<'de> Deserialize<'de> for BlockHeader"],["impl<'de> Deserialize<'de> for BlockIdV0
    where\n Self: FromStr,\n <Self as FromStr>::Err: Display,
    "],["impl<'de> Deserialize<'de> for Bytecode"],["impl<'de> Deserialize<'de> for Clique"],["impl<'de> Deserialize<'de> for OperationSearchResult"],["impl<'de> Deserialize<'de> for PubkeySig"],["impl<'de> Deserialize<'de> for StakersCycleProductionStats"],["impl<'de> Deserialize<'de> for CompactConfig"],["impl<'de> Deserialize<'de> for BlockHeaderDenunciation"],["impl<'de> Deserialize<'de> for EndorsementDenunciation"],["impl<'de> Deserialize<'de> for Endorsement"],["impl<'de> Deserialize<'de> for EndorsementIdV0
    where\n Self: FromStr,\n <Self as FromStr>::Err: Display,
    "],["impl<'de> Deserialize<'de> for EventFilter"],["impl<'de> Deserialize<'de> for LedgerChange"],["impl<'de> Deserialize<'de> for LedgerChanges"],["impl<'de> Deserialize<'de> for LedgerData"],["impl<'de> Deserialize<'de> for NodeId
    where\n Self: FromStr,\n <Self as FromStr>::Err: Display,
    "],["impl<'de> Deserialize<'de> for Operation"],["impl<'de> Deserialize<'de> for OperationIdV0
    where\n Self: FromStr,\n <Self as FromStr>::Err: Display,
    "],["impl<'de> Deserialize<'de> for OperationPrefixIdV0"],["impl<'de> Deserialize<'de> for EventExecutionContext"],["impl<'de> Deserialize<'de> for SCOutputEvent"],["impl<'de> Deserialize<'de> for RollCompensation"],["impl<'de> Deserialize<'de> for RollCounts"],["impl<'de> Deserialize<'de> for RollUpdate"],["impl<'de> Deserialize<'de> for RollUpdates"],["impl<'de> Deserialize<'de> for IndexedSlot"],["impl<'de> Deserialize<'de> for Slot"],["impl<'de> Deserialize<'de> for ConsensusStats"],["impl<'de> Deserialize<'de> for ExecutionStats"],["impl<'de> Deserialize<'de> for NetworkStats"],["impl<'de> Deserialize<'de> for PoolStats"],["impl<'de> Deserialize<'de> for Version"],["impl<'de, T> Deserialize<'de> for SetOrDelete<T>
    where\n T: Deserialize<'de> + Clone,
    "],["impl<'de, T> Deserialize<'de> for SetOrKeep<T>
    where\n T: Deserialize<'de> + Clone,
    "],["impl<'de, T, ID> Deserialize<'de> for SecureShare<T, ID>
    where\n T: Display + SecureShareContent + Deserialize<'de>,\n ID: Id + Deserialize<'de>,
    "],["impl<'de, T, V> Deserialize<'de> for SetUpdateOrDelete<T, V>
    where\n T: Deserialize<'de> + Default + Applicable<V>,\n V: Deserialize<'de> + Applicable<V> + Clone,
    "]], +"massa_node":[["impl<'de> Deserialize<'de> for APISettings"],["impl<'de> Deserialize<'de> for BlockDumpSettings"],["impl<'de> Deserialize<'de> for BootstrapSettings"],["impl<'de> Deserialize<'de> for ConsensusSettings"],["impl<'de> Deserialize<'de> for ExecutionSettings"],["impl<'de> Deserialize<'de> for FactorySettings"],["impl<'de> Deserialize<'de> for GrpcApiSettings"],["impl<'de> Deserialize<'de> for GrpcSettings"],["impl<'de> Deserialize<'de> for LedgerSettings"],["impl<'de> Deserialize<'de> for LoggingSettings"],["impl<'de> Deserialize<'de> for MetricsSettings"],["impl<'de> Deserialize<'de> for NetworkSettings"],["impl<'de> Deserialize<'de> for PoolSettings"],["impl<'de> Deserialize<'de> for ProtocolSettings"],["impl<'de> Deserialize<'de> for SelectionSettings"],["impl<'de> Deserialize<'de> for Settings"],["impl<'de> Deserialize<'de> for VersioningSettings"]], +"massa_pool_exports":[["impl<'de> Deserialize<'de> for PoolConfig"]], +"massa_pos_exports":[["impl<'de> Deserialize<'de> for ProductionStats"],["impl<'de> Deserialize<'de> for DeferredCredits"],["impl<'de> Deserialize<'de> for PoSChanges"],["impl<'de> Deserialize<'de> for SelectorConfig"]], +"massa_protocol_exports":[["impl<'de> Deserialize<'de> for BootstrapPeers"],["impl<'de> Deserialize<'de> for PeerData"],["impl<'de> Deserialize<'de> for PeerId"],["impl<'de> Deserialize<'de> for PeerCategoryInfo"],["impl<'de> Deserialize<'de> for ProtocolConfig"]], +"massa_signature":[["impl<'de> Deserialize<'de> for KeyPair"],["impl<'de> Deserialize<'de> for PublicKey"],["impl<'de> Deserialize<'de> for Signature"]], +"massa_time":[["impl<'de> Deserialize<'de> for MassaTime"]], +"massa_wallet":[["impl<'de> Deserialize<'de> for Wallet"],["impl<'de> Deserialize<'de> for WalletFileFormat"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/serde/de/trait.Visitor.js b/trait.impl/serde/de/trait.Visitor.js index 4be6b3f2b0e..b32e98e48d4 100644 --- a/trait.impl/serde/de/trait.Visitor.js +++ b/trait.impl/serde/de/trait.Visitor.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"massa_models":[["impl<'de> Visitor<'de> for AmountVisitor"],["impl<'de> Visitor<'de> for VersionVisitor"]] +"massa_models":[["impl<'de> Visitor<'de> for AmountVisitor"],["impl<'de> Visitor<'de> for VersionVisitor"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/serde/ser/trait.Serialize.js b/trait.impl/serde/ser/trait.Serialize.js index 9917cb2b3b1..7a23664b774 100644 --- a/trait.impl/serde/ser/trait.Serialize.js +++ b/trait.impl/serde/ser/trait.Serialize.js @@ -1,18 +1,18 @@ (function() {var implementors = { -"massa_api_exports":[["impl Serialize for ReadOnlyResult"],["impl Serialize for TransferContext"],["impl Serialize for AddressFilter"],["impl Serialize for AddressInfo"],["impl Serialize for CompactAddressInfo"],["impl Serialize for BlockInfo"],["impl Serialize for BlockInfoContent"],["impl Serialize for BlockSummary"],["impl Serialize for DatastoreEntryInput"],["impl Serialize for DatastoreEntryOutput"],["impl Serialize for EndorsementInfo"],["impl Serialize for DeferredCallResponse"],["impl Serialize for DeferredCallsQuoteRequest"],["impl Serialize for DeferredCallsQuoteResponse"],["impl Serialize for DeferredCallsSlotResponse"],["impl Serialize for ExecuteReadOnlyResponse"],["impl Serialize for ReadOnlyBytecodeExecution"],["impl Serialize for ReadOnlyCall"],["impl Serialize for Transfer"],["impl Serialize for LedgerInfo"],["impl Serialize for NodeStatus"],["impl Serialize for OperationInfo"],["impl Serialize for OperationInput"],["impl Serialize for PageRequest"],["impl Serialize for RollsInfo"],["impl Serialize for SlotAmount"],["impl Serialize for ApiRequest"],["impl Serialize for TimeInterval"],["impl<T> Serialize for PagedVecV2<T>
    where\n T: Serialize,
    "],["impl<T: Serialize> Serialize for PagedVec<T>"]], -"massa_async_pool":[["impl Serialize for AsyncPoolChanges"],["impl Serialize for AsyncMessage"],["impl Serialize for AsyncMessageTrigger"],["impl Serialize for AsyncMessageUpdate"]], -"massa_client":[["impl Serialize for ExtendedWallet"],["impl Serialize for ExtendedWalletEntry"],["impl Serialize for JsonError"]], -"massa_consensus_exports":[["impl Serialize for DiscardReason"],["impl Serialize for ExportBlockStatus"],["impl Serialize for Status"],["impl Serialize for ExportCompiledBlock"],["impl Serialize for BootstrapableGraph"],["impl Serialize for ExportActiveBlock"],["impl Serialize for ConsensusConfig"]], -"massa_deferred_calls":[["impl Serialize for DeferredCall"],["impl Serialize for DeferredCallRegistryChanges"],["impl Serialize for DeferredRegistrySlotChanges"]], -"massa_execution_exports":[["impl Serialize for EventStore"],["impl Serialize for ExecutedBlockInfo"],["impl Serialize for ExecutionOutput"]], -"massa_final_state":[["impl Serialize for StateChanges"]], -"massa_hash":[["impl Serialize for Hash"]], -"massa_ledger_exports":[["impl Serialize for LedgerChanges"],["impl Serialize for LedgerEntryUpdate"],["impl Serialize for LedgerEntry"]], -"massa_models":[["impl Serialize for Address"],["impl Serialize for SCAddress"],["impl Serialize for UserAddress"],["impl Serialize for BlockGraphStatus"],["impl Serialize for BlockId
    where\n Self: Display,
    "],["impl Serialize for OperationSearchResultBlockStatus"],["impl Serialize for OperationSearchResultStatus"],["impl Serialize for DeferredCallId"],["impl Serialize for Denunciation"],["impl Serialize for DenunciationIndex"],["impl Serialize for EndorsementId
    where\n Self: Display,
    "],["impl Serialize for OperationId
    where\n Self: Display,
    "],["impl Serialize for OperationPrefixId"],["impl Serialize for OperationType"],["impl Serialize for ActiveBlock"],["impl Serialize for ExecutionAddressCycleInfo"],["impl Serialize for SCAddressV0"],["impl Serialize for UserAddressV0"],["impl Serialize for Amount"],["impl Serialize for Block"],["impl Serialize for FilledBlock"],["impl Serialize for BlockHeader"],["impl Serialize for BlockIdV0
    where\n Self: Display,
    "],["impl Serialize for Bytecode"],["impl Serialize for Clique"],["impl Serialize for OperationSearchResult"],["impl Serialize for PubkeySig"],["impl Serialize for StakersCycleProductionStats"],["impl Serialize for CompactConfig"],["impl Serialize for BlockHeaderDenunciation"],["impl Serialize for EndorsementDenunciation"],["impl Serialize for Endorsement"],["impl Serialize for EndorsementIdV0
    where\n Self: Display,
    "],["impl Serialize for EventFilter"],["impl Serialize for LedgerChange"],["impl Serialize for LedgerChanges"],["impl Serialize for LedgerData"],["impl Serialize for NodeId
    where\n Self: Display,
    "],["impl Serialize for Operation"],["impl Serialize for OperationIdV0
    where\n Self: Display,
    "],["impl Serialize for OperationPrefixIdV0"],["impl Serialize for EventExecutionContext"],["impl Serialize for SCOutputEvent"],["impl Serialize for RollCompensation"],["impl Serialize for RollCounts"],["impl Serialize for RollUpdate"],["impl Serialize for RollUpdates"],["impl Serialize for IndexedSlot"],["impl Serialize for Slot"],["impl Serialize for ConsensusStats"],["impl Serialize for ExecutionStats"],["impl Serialize for NetworkStats"],["impl Serialize for PoolStats"],["impl Serialize for Version"],["impl<T> Serialize for SetOrDelete<T>
    where\n T: Serialize + Clone,
    "],["impl<T> Serialize for SetOrKeep<T>
    where\n T: Serialize + Clone,
    "],["impl<T, ID> Serialize for SecureShare<T, ID>"],["impl<T, V> Serialize for SetUpdateOrDelete<T, V>
    where\n T: Serialize + Default + Applicable<V>,\n V: Serialize + Applicable<V> + Clone,
    "]], -"massa_pool_exports":[["impl Serialize for PoolConfig"]], -"massa_pos_exports":[["impl Serialize for ProductionStats"],["impl Serialize for DeferredCredits"],["impl Serialize for PoSChanges"],["impl Serialize for SelectorConfig"]], -"massa_protocol_exports":[["impl Serialize for BootstrapPeers"],["impl Serialize for PeerData"],["impl Serialize for PeerId"]], -"massa_signature":[["impl Serialize for KeyPair"],["impl Serialize for PublicKey"],["impl Serialize for Signature"]], -"massa_time":[["impl Serialize for MassaTime"]], -"massa_wallet":[["impl Serialize for Wallet"],["impl Serialize for WalletFileFormat"]] +"massa_api_exports":[["impl Serialize for ReadOnlyResult"],["impl Serialize for TransferContext"],["impl Serialize for AddressFilter"],["impl Serialize for AddressInfo"],["impl Serialize for CompactAddressInfo"],["impl Serialize for GetAddressDatastoreKeysResponse"],["impl Serialize for BlockInfo"],["impl Serialize for BlockInfoContent"],["impl Serialize for BlockSummary"],["impl Serialize for DatastoreEntryInput"],["impl Serialize for DatastoreEntryOutput"],["impl Serialize for EndorsementInfo"],["impl Serialize for DeferredCallResponse"],["impl Serialize for DeferredCallsQuoteRequest"],["impl Serialize for DeferredCallsQuoteResponse"],["impl Serialize for DeferredCallsSlotResponse"],["impl Serialize for ExecuteReadOnlyResponse"],["impl Serialize for ReadOnlyBytecodeExecution"],["impl Serialize for ReadOnlyCall"],["impl Serialize for Transfer"],["impl Serialize for LedgerInfo"],["impl Serialize for NodeStatus"],["impl Serialize for OperationInfo"],["impl Serialize for OperationInput"],["impl Serialize for PageRequest"],["impl Serialize for RollsInfo"],["impl Serialize for SlotAmount"],["impl Serialize for ApiRequest"],["impl Serialize for TimeInterval"],["impl<T> Serialize for PagedVecV2<T>
    where\n T: Serialize,
    "],["impl<T: Serialize> Serialize for PagedVec<T>"]], +"massa_async_pool":[["impl Serialize for AsyncPoolChanges"],["impl Serialize for AsyncMessage"],["impl Serialize for AsyncMessageTrigger"],["impl Serialize for AsyncMessageUpdate"]], +"massa_client":[["impl Serialize for ExtendedWallet"],["impl Serialize for ExtendedWalletEntry"],["impl Serialize for JsonError"]], +"massa_consensus_exports":[["impl Serialize for DiscardReason"],["impl Serialize for ExportBlockStatus"],["impl Serialize for Status"],["impl Serialize for ExportCompiledBlock"],["impl Serialize for BootstrapableGraph"],["impl Serialize for ExportActiveBlock"],["impl Serialize for ConsensusConfig"]], +"massa_deferred_calls":[["impl Serialize for DeferredCall"],["impl Serialize for DeferredCallRegistryChanges"],["impl Serialize for DeferredRegistrySlotChanges"]], +"massa_execution_exports":[["impl Serialize for EventStore"],["impl Serialize for ExecutedBlockInfo"],["impl Serialize for ExecutionOutput"]], +"massa_final_state":[["impl Serialize for StateChanges"]], +"massa_hash":[["impl Serialize for Hash"]], +"massa_ledger_exports":[["impl Serialize for LedgerChanges"],["impl Serialize for LedgerEntryUpdate"],["impl Serialize for LedgerEntry"]], +"massa_models":[["impl Serialize for Address"],["impl Serialize for SCAddress"],["impl Serialize for UserAddress"],["impl Serialize for BlockGraphStatus"],["impl Serialize for BlockId
    where\n Self: Display,
    "],["impl Serialize for OperationSearchResultBlockStatus"],["impl Serialize for OperationSearchResultStatus"],["impl Serialize for DeferredCallId"],["impl Serialize for Denunciation"],["impl Serialize for DenunciationIndex"],["impl Serialize for EndorsementId
    where\n Self: Display,
    "],["impl Serialize for OperationId
    where\n Self: Display,
    "],["impl Serialize for OperationPrefixId"],["impl Serialize for OperationType"],["impl Serialize for ActiveBlock"],["impl Serialize for ExecutionAddressCycleInfo"],["impl Serialize for SCAddressV0"],["impl Serialize for UserAddressV0"],["impl Serialize for Amount"],["impl Serialize for Block"],["impl Serialize for FilledBlock"],["impl Serialize for BlockHeader"],["impl Serialize for BlockIdV0
    where\n Self: Display,
    "],["impl Serialize for Bytecode"],["impl Serialize for Clique"],["impl Serialize for OperationSearchResult"],["impl Serialize for PubkeySig"],["impl Serialize for StakersCycleProductionStats"],["impl Serialize for CompactConfig"],["impl Serialize for BlockHeaderDenunciation"],["impl Serialize for EndorsementDenunciation"],["impl Serialize for Endorsement"],["impl Serialize for EndorsementIdV0
    where\n Self: Display,
    "],["impl Serialize for EventFilter"],["impl Serialize for LedgerChange"],["impl Serialize for LedgerChanges"],["impl Serialize for LedgerData"],["impl Serialize for NodeId
    where\n Self: Display,
    "],["impl Serialize for Operation"],["impl Serialize for OperationIdV0
    where\n Self: Display,
    "],["impl Serialize for OperationPrefixIdV0"],["impl Serialize for EventExecutionContext"],["impl Serialize for SCOutputEvent"],["impl Serialize for RollCompensation"],["impl Serialize for RollCounts"],["impl Serialize for RollUpdate"],["impl Serialize for RollUpdates"],["impl Serialize for IndexedSlot"],["impl Serialize for Slot"],["impl Serialize for ConsensusStats"],["impl Serialize for ExecutionStats"],["impl Serialize for NetworkStats"],["impl Serialize for PoolStats"],["impl Serialize for Version"],["impl<T> Serialize for SetOrDelete<T>
    where\n T: Serialize + Clone,
    "],["impl<T> Serialize for SetOrKeep<T>
    where\n T: Serialize + Clone,
    "],["impl<T, ID> Serialize for SecureShare<T, ID>"],["impl<T, V> Serialize for SetUpdateOrDelete<T, V>
    where\n T: Serialize + Default + Applicable<V>,\n V: Serialize + Applicable<V> + Clone,
    "]], +"massa_pool_exports":[["impl Serialize for PoolConfig"]], +"massa_pos_exports":[["impl Serialize for ProductionStats"],["impl Serialize for DeferredCredits"],["impl Serialize for PoSChanges"],["impl Serialize for SelectorConfig"]], +"massa_protocol_exports":[["impl Serialize for BootstrapPeers"],["impl Serialize for PeerData"],["impl Serialize for PeerId"]], +"massa_signature":[["impl Serialize for KeyPair"],["impl Serialize for PublicKey"],["impl Serialize for Signature"]], +"massa_time":[["impl Serialize for MassaTime"]], +"massa_wallet":[["impl Serialize for Wallet"],["impl Serialize for WalletFileFormat"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/type.impl/alloc/collections/btree/map/struct.BTreeMap.js b/type.impl/alloc/collections/btree/map/struct.BTreeMap.js index b85792f97d3..7cdb12a5ffd 100644 --- a/type.impl/alloc/collections/btree/map/struct.BTreeMap.js +++ b/type.impl/alloc/collections/btree/map/struct.BTreeMap.js @@ -1,4 +1,4 @@ (function() {var type_impls = { -"massa_db_exports":[["
    source§

    impl<K, V> BTreeMap<K, V>

    1.0.0 (const: 1.66.0) · source

    pub const fn new() -> BTreeMap<K, V>

    Makes a new, empty BTreeMap.

    \n

    Does not allocate anything on its own.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, K, V>

    Gets an iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"c\");\nmap.insert(2, \"b\");\nmap.insert(1, \"a\");\n\nfor (key, value) in map.iter() {\n    println!(\"{key}: {value}\");\n}\n\nlet (first_key, first_value) = map.iter().next().unwrap();\nassert_eq!((*first_key, *first_value), (1, \"a\"));
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

    Gets a mutable iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::from([\n   (\"a\", 1),\n   (\"b\", 2),\n   (\"c\", 3),\n]);\n\n// add 10 to the value if the key isn't \"a\"\nfor (key, value) in map.iter_mut() {\n    if key != &\"a\" {\n        *value += 10;\n    }\n}
    \n
    1.0.0 · source

    pub fn keys(&self) -> Keys<'_, K, V>

    Gets an iterator over the keys of the map, in sorted order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<_> = a.keys().cloned().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.0.0 · source

    pub fn values(&self) -> Values<'_, K, V>

    Gets an iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.values().cloned().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    1.10.0 · source

    pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

    Gets a mutable iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, String::from(\"hello\"));\na.insert(2, String::from(\"goodbye\"));\n\nfor value in a.values_mut() {\n    value.push_str(\"!\");\n}\n\nlet values: Vec<String> = a.values().cloned().collect();\nassert_eq!(values, [String::from(\"hello!\"),\n                    String::from(\"goodbye!\")]);
    \n
    1.0.0 (const: unstable) · source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
    \n
    1.0.0 (const: unstable) · source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
    \n
    source

    pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.lower_bound(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &\"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &\"b\")));\n\nlet cursor = map.lower_bound(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.lower_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &\"a\")));
    \n
    source

    pub fn lower_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.lower_bound_mut(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &mut \"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &mut \"b\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &mut \"a\")));
    \n
    source

    pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.upper_bound(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &\"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &\"d\")));\n\nlet cursor = map.upper_bound(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.upper_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &\"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    source

    pub fn upper_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.upper_bound_mut(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &mut \"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &mut \"d\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &mut \"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    ",0,"massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
    \n
    source

    pub const fn new_in(alloc: A) -> BTreeMap<K, V, A>

    🔬This is a nightly-only experimental API. (btreemap_alloc)

    Makes a new empty BTreeMap with a reasonable choice for B.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::alloc::Global;\n\nlet mut map = BTreeMap::new_in(Global);\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn get<Q>(&self, key: &Q) -> Option<&V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
    \n
    1.40.0 · source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns the key-value pair corresponding to the supplied key.

    \n

    The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
    \n
    1.66.0 · source

    pub fn first_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.first_key_value(), None);\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.first_key_value(), Some((&1, &\"b\")));
    \n
    1.66.0 · source

    pub fn first_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.first_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"first\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"first\");\nassert_eq!(*map.get(&2).unwrap(), \"b\");
    \n
    1.66.0 · source

    pub fn pop_first(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in ascending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_first() {\n    assert!(map.iter().all(|(k, _v)| *k > key));\n}\nassert!(map.is_empty());
    \n
    1.66.0 · source

    pub fn last_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.last_key_value(), Some((&2, &\"a\")));
    \n
    1.66.0 · source

    pub fn last_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.last_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"last\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"a\");\nassert_eq!(*map.get(&2).unwrap(), \"last\");
    \n
    1.66.0 · source

    pub fn pop_last(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in descending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_last() {\n    assert!(map.iter().all(|(k, _v)| *k < key));\n}\nassert!(map.is_empty());
    \n
    1.0.0 · source

    pub fn contains_key<Q>(&self, key: &Q) -> bool
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
    \n
    1.0.0 · source

    pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
    \n
    1.0.0 · source

    pub fn insert(&mut self, key: K, value: V) -> Option<V>
    where\n K: Ord,

    Inserts a key-value pair into the map.

    \n

    If the map did not have this key present, None is returned.

    \n

    If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
    \n
    source

    pub fn try_insert(\n &mut self,\n key: K,\n value: V,\n) -> Result<&mut V, OccupiedError<'_, K, V, A>>
    where\n K: Ord,

    🔬This is a nightly-only experimental API. (map_try_insert)

    Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

    \n

    If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

    \n
    §Examples
    \n
    #![feature(map_try_insert)]\n\nuse std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
    \n
    1.45.0 · source

    pub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(K, V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove_entry(&1), None);
    \n
    1.53.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in ascending key order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\n// Keep only the elements with even-numbered keys.\nmap.retain(|&k, _| k % 2 == 0);\nassert!(map.into_iter().eq(vec![(0, 0), (2, 20), (4, 40), (6, 60)]));
    \n
    1.11.0 · source

    pub fn append(&mut self, other: &mut BTreeMap<K, V, A>)
    where\n K: Ord,\n A: Clone,

    Moves all elements from other into self, leaving other empty.

    \n

    If a key from other is already present in self, the respective\nvalue from self will be overwritten with the respective value from other.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\"); // Note: Key (3) also present in b.\n\nlet mut b = BTreeMap::new();\nb.insert(3, \"d\"); // Note: Key (3) also present in a.\nb.insert(4, \"e\");\nb.insert(5, \"f\");\n\na.append(&mut b);\n\nassert_eq!(a.len(), 5);\nassert_eq!(b.len(), 0);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\nassert_eq!(a[&3], \"d\"); // Note: \"c\" has been overwritten.\nassert_eq!(a[&4], \"e\");\nassert_eq!(a[&5], \"f\");
    \n
    1.17.0 · source

    pub fn range<T, R>(&self, range: R) -> Range<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::ops::Bound::Included;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"a\");\nmap.insert(5, \"b\");\nmap.insert(8, \"c\");\nfor (&key, &value) in map.range((Included(&4), Included(&8))) {\n    println!(\"{key}: {value}\");\n}\nassert_eq!(Some((&5, &\"b\")), map.range(4..).next());
    \n
    1.17.0 · source

    pub fn range_mut<T, R>(&mut self, range: R) -> RangeMut<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<&str, i32> =\n    [(\"Alice\", 0), (\"Bob\", 0), (\"Carol\", 0), (\"Cheryl\", 0)].into();\nfor (_, balance) in map.range_mut(\"B\"..\"Cheryl\") {\n    *balance += 100;\n}\nfor (name, balance) in &map {\n    println!(\"{name} => {balance}\");\n}
    \n
    1.0.0 · source

    pub fn entry(&mut self, key: K) -> Entry<'_, K, V, A>
    where\n K: Ord,

    Gets the given key’s corresponding entry in the map for in-place manipulation.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut count: BTreeMap<&str, usize> = BTreeMap::new();\n\n// count the number of occurrences of letters in the vec\nfor x in [\"a\", \"b\", \"a\", \"c\", \"a\", \"b\"] {\n    count.entry(x).and_modify(|curr| *curr += 1).or_insert(1);\n}\n\nassert_eq!(count[\"a\"], 3);\nassert_eq!(count[\"b\"], 2);\nassert_eq!(count[\"c\"], 1);
    \n
    1.11.0 · source

    pub fn split_off<Q>(&mut self, key: &Q) -> BTreeMap<K, V, A>
    where\n Q: Ord + ?Sized,\n K: Borrow<Q> + Ord,\n A: Clone,

    Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\");\na.insert(17, \"d\");\na.insert(41, \"e\");\n\nlet b = a.split_off(&3);\n\nassert_eq!(a.len(), 2);\nassert_eq!(b.len(), 3);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\n\nassert_eq!(b[&3], \"c\");\nassert_eq!(b[&17], \"d\");\nassert_eq!(b[&41], \"e\");
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F, A>
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    🔬This is a nightly-only experimental API. (btree_extract_if)

    Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns true, the element is removed from\nthe map and yielded. If the closure returns false, or panics, the\nelement remains in the map and will not be yielded.

    \n

    The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a map into even and odd keys, reusing the original map:

    \n\n
    #![feature(btree_extract_if)]\nuse std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet evens: BTreeMap<_, _> = map.extract_if(|k, _v| k % 2 == 0).collect();\nlet odds = map;\nassert_eq!(evens.keys().copied().collect::<Vec<_>>(), [0, 2, 4, 6]);\nassert_eq!(odds.keys().copied().collect::<Vec<_>>(), [1, 3, 5, 7]);
    \n
    1.54.0 · source

    pub fn into_keys(self) -> IntoKeys<K, V, A>

    Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<i32> = a.into_keys().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.54.0 · source

    pub fn into_values(self) -> IntoValues<K, V, A>

    Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is V.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.into_values().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    ",0,"massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> Clone for BTreeMap<K, V, A>
    where\n K: Clone,\n V: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> BTreeMap<K, V, A>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> Debug for BTreeMap<K, V, A>
    where\n K: Debug,\n V: Debug,\n A: Allocator + Clone,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V> Default for BTreeMap<K, V>

    source§

    fn default() -> BTreeMap<K, V>

    Creates an empty BTreeMap.

    \n
    ","Default","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, V> Deserialize<'de> for BTreeMap<K, V>
    where\n K: Deserialize<'de> + Ord,\n V: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs, const N: usize> DeserializeAs<'de, [(K, V); N]> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<[(K, V); N], <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, [(K, V); N]>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, V, KU, VU> DeserializeAs<'de, BTreeMap<K, V>> for BTreeMap<KU, VU>
    where\n KU: DeserializeAs<'de, K>,\n VU: DeserializeAs<'de, V>,\n K: Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BTreeMap>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BTreeSet<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<BTreeSet<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BTreeSet<(K, V)>>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BinaryHeap<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<BinaryHeap<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BinaryHeap<(K, V)>>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Box<[(K, V)]>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Box<[(K, V)]>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Box<[(K, V)]>>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs, S> DeserializeAs<'de, HashSet<(K, V), S>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<HashSet<(K, V), S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashSet<(K, V), S>>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, LinkedList<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<LinkedList<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, LinkedList<(K, V)>>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Option<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Option<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Option<(K, V)>>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Vec<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Vec<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Vec<(K, V)>>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, VecDeque<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<VecDeque<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, VecDeque<(K, V)>>","massa_db_exports::db_batch::DBBatch"],["
    1.7.0 · source§

    impl<K, V, A> Drop for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","massa_db_exports::db_batch::DBBatch"],["
    1.2.0 · source§

    impl<'a, K, V, A> Extend<(&'a K, &'a V)> for BTreeMap<K, V, A>
    where\n K: Ord + Copy,\n V: Copy,\n A: Allocator + Clone,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = (&'a K, &'a V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (&'a K, &'a V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(&'a K, &'a V)>","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> Extend<(K, V)> for BTreeMap<K, V, A>
    where\n K: Ord,\n A: Allocator + Clone,

    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (K, V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (K, V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(K, V)>","massa_db_exports::db_batch::DBBatch"],["
    1.56.0 · source§

    impl<K, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V>
    where\n K: Ord,

    source§

    fn from(arr: [(K, V); N]) -> BTreeMap<K, V>

    Converts a [(K, V); N] into a BTreeMap<(K, V)>.

    \n\n
    use std::collections::BTreeMap;\n\nlet map1 = BTreeMap::from([(1, 2), (3, 4)]);\nlet map2: BTreeMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
    \n
    ","From<[(K, V); N]>","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V> FromIterator<(K, V)> for BTreeMap<K, V>
    where\n K: Ord,

    source§

    fn from_iter<T>(iter: T) -> BTreeMap<K, V>
    where\n T: IntoIterator<Item = (K, V)>,

    Creates a value from an iterator. Read more
    ","FromIterator<(K, V)>","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> Hash for BTreeMap<K, V, A>
    where\n K: Hash,\n V: Hash,\n A: Allocator + Clone,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, Q, V, A> Index<&Q> for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    source§

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n
    §Panics
    \n

    Panics if the key is not present in the BTreeMap.

    \n
    §

    type Output = V

    The returned type after indexing.
    ","Index<&Q>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V>
    where\n K: IntoDeserializer<'de, E> + Eq + Ord,\n V: IntoDeserializer<'de, E>,\n E: Error,

    §

    type Deserializer = MapDeserializer<'de, <BTreeMap<K, V> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self,\n) -> <BTreeMap<K, V> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> IntoIterator for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    source§

    fn into_iter(self) -> IntoIter<K, V, A>

    Gets an owning iterator over the entries of the map, sorted by key.

    \n
    §

    type Item = (K, V)

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<K, V, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> Ord for BTreeMap<K, V, A>
    where\n K: Ord,\n V: Ord,\n A: Allocator + Clone,

    source§

    fn cmp(&self, other: &BTreeMap<K, V, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> PartialEq for BTreeMap<K, V, A>
    where\n K: PartialEq,\n V: PartialEq,\n A: Allocator + Clone,

    source§

    fn eq(&self, other: &BTreeMap<K, V, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> PartialOrd for BTreeMap<K, V, A>
    where\n K: PartialOrd,\n V: PartialOrd,\n A: Allocator + Clone,

    source§

    fn partial_cmp(&self, other: &BTreeMap<K, V, A>) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, V> Serialize for BTreeMap<K, V>
    where\n K: Serialize,\n V: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<[(K, V)]> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &[(K, V)],\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs<[(K, V)]>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs, const N: usize> SerializeAs<[(K, V); N]> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &[(K, V); N],\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs<[(K, V); N]>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KU, V, VU> SerializeAs<BTreeMap<K, V>> for BTreeMap<KU, VU>
    where\n KU: SerializeAs<K>,\n VU: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BTreeMap<K, V>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<BTreeSet<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BTreeSet<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<BinaryHeap<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BinaryHeap<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Box<[(K, V)]>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Box<[(K, V)]>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs, H> SerializeAs<HashSet<(K, V), H>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &HashSet<(K, V), H>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<LinkedList<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &LinkedList<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Option<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Option<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Vec<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Vec<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<VecDeque<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &VecDeque<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> Eq for BTreeMap<K, V, A>
    where\n K: Eq,\n V: Eq,\n A: Allocator + Clone,

    ","Eq","massa_db_exports::db_batch::DBBatch"],["
    1.64.0 · source§

    impl<K, V, A> UnwindSafe for BTreeMap<K, V, A>

    ","UnwindSafe","massa_db_exports::db_batch::DBBatch"]], -"massa_models":[["
    source§

    impl<K, V> BTreeMap<K, V>

    1.0.0 (const: 1.66.0) · source

    pub const fn new() -> BTreeMap<K, V>

    Makes a new, empty BTreeMap.

    \n

    Does not allocate anything on its own.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"massa_models::datastore::Datastore"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, K, V>

    Gets an iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"c\");\nmap.insert(2, \"b\");\nmap.insert(1, \"a\");\n\nfor (key, value) in map.iter() {\n    println!(\"{key}: {value}\");\n}\n\nlet (first_key, first_value) = map.iter().next().unwrap();\nassert_eq!((*first_key, *first_value), (1, \"a\"));
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

    Gets a mutable iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::from([\n   (\"a\", 1),\n   (\"b\", 2),\n   (\"c\", 3),\n]);\n\n// add 10 to the value if the key isn't \"a\"\nfor (key, value) in map.iter_mut() {\n    if key != &\"a\" {\n        *value += 10;\n    }\n}
    \n
    1.0.0 · source

    pub fn keys(&self) -> Keys<'_, K, V>

    Gets an iterator over the keys of the map, in sorted order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<_> = a.keys().cloned().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.0.0 · source

    pub fn values(&self) -> Values<'_, K, V>

    Gets an iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.values().cloned().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    1.10.0 · source

    pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

    Gets a mutable iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, String::from(\"hello\"));\na.insert(2, String::from(\"goodbye\"));\n\nfor value in a.values_mut() {\n    value.push_str(\"!\");\n}\n\nlet values: Vec<String> = a.values().cloned().collect();\nassert_eq!(values, [String::from(\"hello!\"),\n                    String::from(\"goodbye!\")]);
    \n
    1.0.0 (const: unstable) · source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
    \n
    1.0.0 (const: unstable) · source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
    \n
    source

    pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.lower_bound(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &\"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &\"b\")));\n\nlet cursor = map.lower_bound(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.lower_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &\"a\")));
    \n
    source

    pub fn lower_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.lower_bound_mut(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &mut \"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &mut \"b\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &mut \"a\")));
    \n
    source

    pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.upper_bound(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &\"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &\"d\")));\n\nlet cursor = map.upper_bound(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.upper_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &\"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    source

    pub fn upper_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.upper_bound_mut(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &mut \"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &mut \"d\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &mut \"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    ",0,"massa_models::datastore::Datastore"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
    \n
    source

    pub const fn new_in(alloc: A) -> BTreeMap<K, V, A>

    🔬This is a nightly-only experimental API. (btreemap_alloc)

    Makes a new empty BTreeMap with a reasonable choice for B.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::alloc::Global;\n\nlet mut map = BTreeMap::new_in(Global);\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"massa_models::datastore::Datastore"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn get<Q>(&self, key: &Q) -> Option<&V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
    \n
    1.40.0 · source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns the key-value pair corresponding to the supplied key.

    \n

    The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
    \n
    1.66.0 · source

    pub fn first_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.first_key_value(), None);\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.first_key_value(), Some((&1, &\"b\")));
    \n
    1.66.0 · source

    pub fn first_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.first_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"first\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"first\");\nassert_eq!(*map.get(&2).unwrap(), \"b\");
    \n
    1.66.0 · source

    pub fn pop_first(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in ascending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_first() {\n    assert!(map.iter().all(|(k, _v)| *k > key));\n}\nassert!(map.is_empty());
    \n
    1.66.0 · source

    pub fn last_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.last_key_value(), Some((&2, &\"a\")));
    \n
    1.66.0 · source

    pub fn last_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.last_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"last\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"a\");\nassert_eq!(*map.get(&2).unwrap(), \"last\");
    \n
    1.66.0 · source

    pub fn pop_last(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in descending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_last() {\n    assert!(map.iter().all(|(k, _v)| *k < key));\n}\nassert!(map.is_empty());
    \n
    1.0.0 · source

    pub fn contains_key<Q>(&self, key: &Q) -> bool
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
    \n
    1.0.0 · source

    pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
    \n
    1.0.0 · source

    pub fn insert(&mut self, key: K, value: V) -> Option<V>
    where\n K: Ord,

    Inserts a key-value pair into the map.

    \n

    If the map did not have this key present, None is returned.

    \n

    If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
    \n
    source

    pub fn try_insert(\n &mut self,\n key: K,\n value: V,\n) -> Result<&mut V, OccupiedError<'_, K, V, A>>
    where\n K: Ord,

    🔬This is a nightly-only experimental API. (map_try_insert)

    Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

    \n

    If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

    \n
    §Examples
    \n
    #![feature(map_try_insert)]\n\nuse std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
    \n
    1.45.0 · source

    pub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(K, V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove_entry(&1), None);
    \n
    1.53.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in ascending key order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\n// Keep only the elements with even-numbered keys.\nmap.retain(|&k, _| k % 2 == 0);\nassert!(map.into_iter().eq(vec![(0, 0), (2, 20), (4, 40), (6, 60)]));
    \n
    1.11.0 · source

    pub fn append(&mut self, other: &mut BTreeMap<K, V, A>)
    where\n K: Ord,\n A: Clone,

    Moves all elements from other into self, leaving other empty.

    \n

    If a key from other is already present in self, the respective\nvalue from self will be overwritten with the respective value from other.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\"); // Note: Key (3) also present in b.\n\nlet mut b = BTreeMap::new();\nb.insert(3, \"d\"); // Note: Key (3) also present in a.\nb.insert(4, \"e\");\nb.insert(5, \"f\");\n\na.append(&mut b);\n\nassert_eq!(a.len(), 5);\nassert_eq!(b.len(), 0);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\nassert_eq!(a[&3], \"d\"); // Note: \"c\" has been overwritten.\nassert_eq!(a[&4], \"e\");\nassert_eq!(a[&5], \"f\");
    \n
    1.17.0 · source

    pub fn range<T, R>(&self, range: R) -> Range<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::ops::Bound::Included;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"a\");\nmap.insert(5, \"b\");\nmap.insert(8, \"c\");\nfor (&key, &value) in map.range((Included(&4), Included(&8))) {\n    println!(\"{key}: {value}\");\n}\nassert_eq!(Some((&5, &\"b\")), map.range(4..).next());
    \n
    1.17.0 · source

    pub fn range_mut<T, R>(&mut self, range: R) -> RangeMut<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<&str, i32> =\n    [(\"Alice\", 0), (\"Bob\", 0), (\"Carol\", 0), (\"Cheryl\", 0)].into();\nfor (_, balance) in map.range_mut(\"B\"..\"Cheryl\") {\n    *balance += 100;\n}\nfor (name, balance) in &map {\n    println!(\"{name} => {balance}\");\n}
    \n
    1.0.0 · source

    pub fn entry(&mut self, key: K) -> Entry<'_, K, V, A>
    where\n K: Ord,

    Gets the given key’s corresponding entry in the map for in-place manipulation.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut count: BTreeMap<&str, usize> = BTreeMap::new();\n\n// count the number of occurrences of letters in the vec\nfor x in [\"a\", \"b\", \"a\", \"c\", \"a\", \"b\"] {\n    count.entry(x).and_modify(|curr| *curr += 1).or_insert(1);\n}\n\nassert_eq!(count[\"a\"], 3);\nassert_eq!(count[\"b\"], 2);\nassert_eq!(count[\"c\"], 1);
    \n
    1.11.0 · source

    pub fn split_off<Q>(&mut self, key: &Q) -> BTreeMap<K, V, A>
    where\n Q: Ord + ?Sized,\n K: Borrow<Q> + Ord,\n A: Clone,

    Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\");\na.insert(17, \"d\");\na.insert(41, \"e\");\n\nlet b = a.split_off(&3);\n\nassert_eq!(a.len(), 2);\nassert_eq!(b.len(), 3);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\n\nassert_eq!(b[&3], \"c\");\nassert_eq!(b[&17], \"d\");\nassert_eq!(b[&41], \"e\");
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F, A>
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    🔬This is a nightly-only experimental API. (btree_extract_if)

    Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns true, the element is removed from\nthe map and yielded. If the closure returns false, or panics, the\nelement remains in the map and will not be yielded.

    \n

    The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a map into even and odd keys, reusing the original map:

    \n\n
    #![feature(btree_extract_if)]\nuse std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet evens: BTreeMap<_, _> = map.extract_if(|k, _v| k % 2 == 0).collect();\nlet odds = map;\nassert_eq!(evens.keys().copied().collect::<Vec<_>>(), [0, 2, 4, 6]);\nassert_eq!(odds.keys().copied().collect::<Vec<_>>(), [1, 3, 5, 7]);
    \n
    1.54.0 · source

    pub fn into_keys(self) -> IntoKeys<K, V, A>

    Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<i32> = a.into_keys().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.54.0 · source

    pub fn into_values(self) -> IntoValues<K, V, A>

    Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is V.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.into_values().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    ",0,"massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> Clone for BTreeMap<K, V, A>
    where\n K: Clone,\n V: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> BTreeMap<K, V, A>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> Debug for BTreeMap<K, V, A>
    where\n K: Debug,\n V: Debug,\n A: Allocator + Clone,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V> Default for BTreeMap<K, V>

    source§

    fn default() -> BTreeMap<K, V>

    Creates an empty BTreeMap.

    \n
    ","Default","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, V> Deserialize<'de> for BTreeMap<K, V>
    where\n K: Deserialize<'de> + Ord,\n V: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs, const N: usize> DeserializeAs<'de, [(K, V); N]> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<[(K, V); N], <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, [(K, V); N]>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, V, KU, VU> DeserializeAs<'de, BTreeMap<K, V>> for BTreeMap<KU, VU>
    where\n KU: DeserializeAs<'de, K>,\n VU: DeserializeAs<'de, V>,\n K: Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BTreeMap>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BTreeSet<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<BTreeSet<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BTreeSet<(K, V)>>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BinaryHeap<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<BinaryHeap<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BinaryHeap<(K, V)>>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Box<[(K, V)]>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Box<[(K, V)]>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Box<[(K, V)]>>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs, S> DeserializeAs<'de, HashSet<(K, V), S>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<HashSet<(K, V), S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashSet<(K, V), S>>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, LinkedList<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<LinkedList<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, LinkedList<(K, V)>>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Option<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Option<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Option<(K, V)>>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Vec<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Vec<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Vec<(K, V)>>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, VecDeque<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<VecDeque<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, VecDeque<(K, V)>>","massa_models::datastore::Datastore"],["
    1.7.0 · source§

    impl<K, V, A> Drop for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","massa_models::datastore::Datastore"],["
    1.2.0 · source§

    impl<'a, K, V, A> Extend<(&'a K, &'a V)> for BTreeMap<K, V, A>
    where\n K: Ord + Copy,\n V: Copy,\n A: Allocator + Clone,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = (&'a K, &'a V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (&'a K, &'a V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(&'a K, &'a V)>","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> Extend<(K, V)> for BTreeMap<K, V, A>
    where\n K: Ord,\n A: Allocator + Clone,

    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (K, V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (K, V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(K, V)>","massa_models::datastore::Datastore"],["
    1.56.0 · source§

    impl<K, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V>
    where\n K: Ord,

    source§

    fn from(arr: [(K, V); N]) -> BTreeMap<K, V>

    Converts a [(K, V); N] into a BTreeMap<(K, V)>.

    \n\n
    use std::collections::BTreeMap;\n\nlet map1 = BTreeMap::from([(1, 2), (3, 4)]);\nlet map2: BTreeMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
    \n
    ","From<[(K, V); N]>","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V> FromIterator<(K, V)> for BTreeMap<K, V>
    where\n K: Ord,

    source§

    fn from_iter<T>(iter: T) -> BTreeMap<K, V>
    where\n T: IntoIterator<Item = (K, V)>,

    Creates a value from an iterator. Read more
    ","FromIterator<(K, V)>","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> Hash for BTreeMap<K, V, A>
    where\n K: Hash,\n V: Hash,\n A: Allocator + Clone,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, Q, V, A> Index<&Q> for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    source§

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n
    §Panics
    \n

    Panics if the key is not present in the BTreeMap.

    \n
    §

    type Output = V

    The returned type after indexing.
    ","Index<&Q>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V>
    where\n K: IntoDeserializer<'de, E> + Eq + Ord,\n V: IntoDeserializer<'de, E>,\n E: Error,

    §

    type Deserializer = MapDeserializer<'de, <BTreeMap<K, V> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self,\n) -> <BTreeMap<K, V> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> IntoIterator for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    source§

    fn into_iter(self) -> IntoIter<K, V, A>

    Gets an owning iterator over the entries of the map, sorted by key.

    \n
    §

    type Item = (K, V)

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<K, V, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> Ord for BTreeMap<K, V, A>
    where\n K: Ord,\n V: Ord,\n A: Allocator + Clone,

    source§

    fn cmp(&self, other: &BTreeMap<K, V, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> PartialEq for BTreeMap<K, V, A>
    where\n K: PartialEq,\n V: PartialEq,\n A: Allocator + Clone,

    source§

    fn eq(&self, other: &BTreeMap<K, V, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> PartialOrd for BTreeMap<K, V, A>
    where\n K: PartialOrd,\n V: PartialOrd,\n A: Allocator + Clone,

    source§

    fn partial_cmp(&self, other: &BTreeMap<K, V, A>) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd","massa_models::datastore::Datastore"],["
    source§

    impl<K, V> Serialize for BTreeMap<K, V>
    where\n K: Serialize,\n V: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<[(K, V)]> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &[(K, V)],\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs<[(K, V)]>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs, const N: usize> SerializeAs<[(K, V); N]> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &[(K, V); N],\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs<[(K, V); N]>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KU, V, VU> SerializeAs<BTreeMap<K, V>> for BTreeMap<KU, VU>
    where\n KU: SerializeAs<K>,\n VU: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BTreeMap<K, V>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<BTreeSet<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BTreeSet<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<BinaryHeap<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BinaryHeap<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Box<[(K, V)]>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Box<[(K, V)]>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs, H> SerializeAs<HashSet<(K, V), H>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &HashSet<(K, V), H>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<LinkedList<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &LinkedList<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Option<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Option<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Vec<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Vec<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<VecDeque<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &VecDeque<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> Eq for BTreeMap<K, V, A>
    where\n K: Eq,\n V: Eq,\n A: Allocator + Clone,

    ","Eq","massa_models::datastore::Datastore"],["
    1.64.0 · source§

    impl<K, V, A> UnwindSafe for BTreeMap<K, V, A>

    ","UnwindSafe","massa_models::datastore::Datastore"]] +"massa_db_exports":[["
    source§

    impl<K, V> BTreeMap<K, V>

    1.0.0 (const: 1.66.0) · source

    pub const fn new() -> BTreeMap<K, V>

    Makes a new, empty BTreeMap.

    \n

    Does not allocate anything on its own.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, K, V>

    Gets an iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"c\");\nmap.insert(2, \"b\");\nmap.insert(1, \"a\");\n\nfor (key, value) in map.iter() {\n    println!(\"{key}: {value}\");\n}\n\nlet (first_key, first_value) = map.iter().next().unwrap();\nassert_eq!((*first_key, *first_value), (1, \"a\"));
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

    Gets a mutable iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::from([\n   (\"a\", 1),\n   (\"b\", 2),\n   (\"c\", 3),\n]);\n\n// add 10 to the value if the key isn't \"a\"\nfor (key, value) in map.iter_mut() {\n    if key != &\"a\" {\n        *value += 10;\n    }\n}
    \n
    1.0.0 · source

    pub fn keys(&self) -> Keys<'_, K, V>

    Gets an iterator over the keys of the map, in sorted order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<_> = a.keys().cloned().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.0.0 · source

    pub fn values(&self) -> Values<'_, K, V>

    Gets an iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.values().cloned().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    1.10.0 · source

    pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

    Gets a mutable iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, String::from(\"hello\"));\na.insert(2, String::from(\"goodbye\"));\n\nfor value in a.values_mut() {\n    value.push_str(\"!\");\n}\n\nlet values: Vec<String> = a.values().cloned().collect();\nassert_eq!(values, [String::from(\"hello!\"),\n                    String::from(\"goodbye!\")]);
    \n
    1.0.0 (const: unstable) · source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
    \n
    1.0.0 (const: unstable) · source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
    \n
    source

    pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.lower_bound(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &\"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &\"b\")));\n\nlet cursor = map.lower_bound(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.lower_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &\"a\")));
    \n
    source

    pub fn lower_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.lower_bound_mut(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &mut \"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &mut \"b\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &mut \"a\")));
    \n
    source

    pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.upper_bound(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &\"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &\"d\")));\n\nlet cursor = map.upper_bound(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.upper_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &\"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    source

    pub fn upper_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.upper_bound_mut(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &mut \"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &mut \"d\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &mut \"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    ",0,"massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
    \n
    source

    pub const fn new_in(alloc: A) -> BTreeMap<K, V, A>

    🔬This is a nightly-only experimental API. (btreemap_alloc)

    Makes a new empty BTreeMap with a reasonable choice for B.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::alloc::Global;\n\nlet mut map = BTreeMap::new_in(Global);\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn get<Q>(&self, key: &Q) -> Option<&V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
    \n
    1.40.0 · source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns the key-value pair corresponding to the supplied key.

    \n

    The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
    \n
    1.66.0 · source

    pub fn first_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.first_key_value(), None);\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.first_key_value(), Some((&1, &\"b\")));
    \n
    1.66.0 · source

    pub fn first_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.first_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"first\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"first\");\nassert_eq!(*map.get(&2).unwrap(), \"b\");
    \n
    1.66.0 · source

    pub fn pop_first(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in ascending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_first() {\n    assert!(map.iter().all(|(k, _v)| *k > key));\n}\nassert!(map.is_empty());
    \n
    1.66.0 · source

    pub fn last_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.last_key_value(), Some((&2, &\"a\")));
    \n
    1.66.0 · source

    pub fn last_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.last_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"last\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"a\");\nassert_eq!(*map.get(&2).unwrap(), \"last\");
    \n
    1.66.0 · source

    pub fn pop_last(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in descending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_last() {\n    assert!(map.iter().all(|(k, _v)| *k < key));\n}\nassert!(map.is_empty());
    \n
    1.0.0 · source

    pub fn contains_key<Q>(&self, key: &Q) -> bool
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
    \n
    1.0.0 · source

    pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
    \n
    1.0.0 · source

    pub fn insert(&mut self, key: K, value: V) -> Option<V>
    where\n K: Ord,

    Inserts a key-value pair into the map.

    \n

    If the map did not have this key present, None is returned.

    \n

    If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
    \n
    source

    pub fn try_insert(\n &mut self,\n key: K,\n value: V,\n) -> Result<&mut V, OccupiedError<'_, K, V, A>>
    where\n K: Ord,

    🔬This is a nightly-only experimental API. (map_try_insert)

    Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

    \n

    If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

    \n
    §Examples
    \n
    #![feature(map_try_insert)]\n\nuse std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
    \n
    1.45.0 · source

    pub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(K, V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove_entry(&1), None);
    \n
    1.53.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in ascending key order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\n// Keep only the elements with even-numbered keys.\nmap.retain(|&k, _| k % 2 == 0);\nassert!(map.into_iter().eq(vec![(0, 0), (2, 20), (4, 40), (6, 60)]));
    \n
    1.11.0 · source

    pub fn append(&mut self, other: &mut BTreeMap<K, V, A>)
    where\n K: Ord,\n A: Clone,

    Moves all elements from other into self, leaving other empty.

    \n

    If a key from other is already present in self, the respective\nvalue from self will be overwritten with the respective value from other.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\"); // Note: Key (3) also present in b.\n\nlet mut b = BTreeMap::new();\nb.insert(3, \"d\"); // Note: Key (3) also present in a.\nb.insert(4, \"e\");\nb.insert(5, \"f\");\n\na.append(&mut b);\n\nassert_eq!(a.len(), 5);\nassert_eq!(b.len(), 0);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\nassert_eq!(a[&3], \"d\"); // Note: \"c\" has been overwritten.\nassert_eq!(a[&4], \"e\");\nassert_eq!(a[&5], \"f\");
    \n
    1.17.0 · source

    pub fn range<T, R>(&self, range: R) -> Range<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::ops::Bound::Included;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"a\");\nmap.insert(5, \"b\");\nmap.insert(8, \"c\");\nfor (&key, &value) in map.range((Included(&4), Included(&8))) {\n    println!(\"{key}: {value}\");\n}\nassert_eq!(Some((&5, &\"b\")), map.range(4..).next());
    \n
    1.17.0 · source

    pub fn range_mut<T, R>(&mut self, range: R) -> RangeMut<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<&str, i32> =\n    [(\"Alice\", 0), (\"Bob\", 0), (\"Carol\", 0), (\"Cheryl\", 0)].into();\nfor (_, balance) in map.range_mut(\"B\"..\"Cheryl\") {\n    *balance += 100;\n}\nfor (name, balance) in &map {\n    println!(\"{name} => {balance}\");\n}
    \n
    1.0.0 · source

    pub fn entry(&mut self, key: K) -> Entry<'_, K, V, A>
    where\n K: Ord,

    Gets the given key’s corresponding entry in the map for in-place manipulation.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut count: BTreeMap<&str, usize> = BTreeMap::new();\n\n// count the number of occurrences of letters in the vec\nfor x in [\"a\", \"b\", \"a\", \"c\", \"a\", \"b\"] {\n    count.entry(x).and_modify(|curr| *curr += 1).or_insert(1);\n}\n\nassert_eq!(count[\"a\"], 3);\nassert_eq!(count[\"b\"], 2);\nassert_eq!(count[\"c\"], 1);
    \n
    1.11.0 · source

    pub fn split_off<Q>(&mut self, key: &Q) -> BTreeMap<K, V, A>
    where\n Q: Ord + ?Sized,\n K: Borrow<Q> + Ord,\n A: Clone,

    Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\");\na.insert(17, \"d\");\na.insert(41, \"e\");\n\nlet b = a.split_off(&3);\n\nassert_eq!(a.len(), 2);\nassert_eq!(b.len(), 3);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\n\nassert_eq!(b[&3], \"c\");\nassert_eq!(b[&17], \"d\");\nassert_eq!(b[&41], \"e\");
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F, A>
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    🔬This is a nightly-only experimental API. (btree_extract_if)

    Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns true, the element is removed from\nthe map and yielded. If the closure returns false, or panics, the\nelement remains in the map and will not be yielded.

    \n

    The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a map into even and odd keys, reusing the original map:

    \n\n
    #![feature(btree_extract_if)]\nuse std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet evens: BTreeMap<_, _> = map.extract_if(|k, _v| k % 2 == 0).collect();\nlet odds = map;\nassert_eq!(evens.keys().copied().collect::<Vec<_>>(), [0, 2, 4, 6]);\nassert_eq!(odds.keys().copied().collect::<Vec<_>>(), [1, 3, 5, 7]);
    \n
    1.54.0 · source

    pub fn into_keys(self) -> IntoKeys<K, V, A>

    Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<i32> = a.into_keys().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.54.0 · source

    pub fn into_values(self) -> IntoValues<K, V, A>

    Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is V.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.into_values().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    ",0,"massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> Clone for BTreeMap<K, V, A>
    where\n K: Clone,\n V: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> BTreeMap<K, V, A>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> Debug for BTreeMap<K, V, A>
    where\n K: Debug,\n V: Debug,\n A: Allocator + Clone,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V> Default for BTreeMap<K, V>

    source§

    fn default() -> BTreeMap<K, V>

    Creates an empty BTreeMap.

    \n
    ","Default","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, V> Deserialize<'de> for BTreeMap<K, V>
    where\n K: Deserialize<'de> + Ord,\n V: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs, const N: usize> DeserializeAs<'de, [(K, V); N]> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<[(K, V); N], <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, [(K, V); N]>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, V, KU, VU> DeserializeAs<'de, BTreeMap<K, V>> for BTreeMap<KU, VU>
    where\n KU: DeserializeAs<'de, K>,\n VU: DeserializeAs<'de, V>,\n K: Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BTreeMap>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BTreeSet<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<BTreeSet<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BTreeSet<(K, V)>>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BinaryHeap<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<BinaryHeap<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BinaryHeap<(K, V)>>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Box<[(K, V)]>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Box<[(K, V)]>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Box<[(K, V)]>>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs, S> DeserializeAs<'de, HashSet<(K, V), S>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<HashSet<(K, V), S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashSet<(K, V), S>>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, LinkedList<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<LinkedList<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, LinkedList<(K, V)>>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Option<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Option<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Option<(K, V)>>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Vec<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Vec<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Vec<(K, V)>>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, VecDeque<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<VecDeque<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, VecDeque<(K, V)>>","massa_db_exports::db_batch::DBBatch"],["
    1.7.0 · source§

    impl<K, V, A> Drop for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","massa_db_exports::db_batch::DBBatch"],["
    1.2.0 · source§

    impl<'a, K, V, A> Extend<(&'a K, &'a V)> for BTreeMap<K, V, A>
    where\n K: Ord + Copy,\n V: Copy,\n A: Allocator + Clone,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = (&'a K, &'a V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (&'a K, &'a V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(&'a K, &'a V)>","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> Extend<(K, V)> for BTreeMap<K, V, A>
    where\n K: Ord,\n A: Allocator + Clone,

    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (K, V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (K, V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(K, V)>","massa_db_exports::db_batch::DBBatch"],["
    1.56.0 · source§

    impl<K, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V>
    where\n K: Ord,

    source§

    fn from(arr: [(K, V); N]) -> BTreeMap<K, V>

    Converts a [(K, V); N] into a BTreeMap<(K, V)>.

    \n\n
    use std::collections::BTreeMap;\n\nlet map1 = BTreeMap::from([(1, 2), (3, 4)]);\nlet map2: BTreeMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
    \n
    ","From<[(K, V); N]>","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V> FromIterator<(K, V)> for BTreeMap<K, V>
    where\n K: Ord,

    source§

    fn from_iter<T>(iter: T) -> BTreeMap<K, V>
    where\n T: IntoIterator<Item = (K, V)>,

    Creates a value from an iterator. Read more
    ","FromIterator<(K, V)>","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> Hash for BTreeMap<K, V, A>
    where\n K: Hash,\n V: Hash,\n A: Allocator + Clone,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, Q, V, A> Index<&Q> for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    source§

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n
    §Panics
    \n

    Panics if the key is not present in the BTreeMap.

    \n
    §

    type Output = V

    The returned type after indexing.
    ","Index<&Q>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V>
    where\n K: IntoDeserializer<'de, E> + Eq + Ord,\n V: IntoDeserializer<'de, E>,\n E: Error,

    §

    type Deserializer = MapDeserializer<'de, <BTreeMap<K, V> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self,\n) -> <BTreeMap<K, V> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> IntoIterator for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    source§

    fn into_iter(self) -> IntoIter<K, V, A>

    Gets an owning iterator over the entries of the map, sorted by key.

    \n
    §

    type Item = (K, V)

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<K, V, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> Ord for BTreeMap<K, V, A>
    where\n K: Ord,\n V: Ord,\n A: Allocator + Clone,

    source§

    fn cmp(&self, other: &BTreeMap<K, V, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> PartialEq for BTreeMap<K, V, A>
    where\n K: PartialEq,\n V: PartialEq,\n A: Allocator + Clone,

    source§

    fn eq(&self, other: &BTreeMap<K, V, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> PartialOrd for BTreeMap<K, V, A>
    where\n K: PartialOrd,\n V: PartialOrd,\n A: Allocator + Clone,

    source§

    fn partial_cmp(&self, other: &BTreeMap<K, V, A>) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, V> Serialize for BTreeMap<K, V>
    where\n K: Serialize,\n V: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<[(K, V)]> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &[(K, V)],\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs<[(K, V)]>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs, const N: usize> SerializeAs<[(K, V); N]> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &[(K, V); N],\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs<[(K, V); N]>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KU, V, VU> SerializeAs<BTreeMap<K, V>> for BTreeMap<KU, VU>
    where\n KU: SerializeAs<K>,\n VU: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BTreeMap<K, V>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<BTreeSet<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BTreeSet<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<BinaryHeap<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BinaryHeap<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Box<[(K, V)]>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Box<[(K, V)]>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs, H> SerializeAs<HashSet<(K, V), H>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &HashSet<(K, V), H>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<LinkedList<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &LinkedList<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Option<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Option<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Vec<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Vec<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<VecDeque<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &VecDeque<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::DBBatch"],["
    1.0.0 · source§

    impl<K, V, A> Eq for BTreeMap<K, V, A>
    where\n K: Eq,\n V: Eq,\n A: Allocator + Clone,

    ","Eq","massa_db_exports::db_batch::DBBatch"],["
    1.64.0 · source§

    impl<K, V, A> UnwindSafe for BTreeMap<K, V, A>

    ","UnwindSafe","massa_db_exports::db_batch::DBBatch"]], +"massa_models":[["
    source§

    impl<K, V> BTreeMap<K, V>

    1.0.0 (const: 1.66.0) · source

    pub const fn new() -> BTreeMap<K, V>

    Makes a new, empty BTreeMap.

    \n

    Does not allocate anything on its own.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"massa_models::datastore::Datastore"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, K, V>

    Gets an iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"c\");\nmap.insert(2, \"b\");\nmap.insert(1, \"a\");\n\nfor (key, value) in map.iter() {\n    println!(\"{key}: {value}\");\n}\n\nlet (first_key, first_value) = map.iter().next().unwrap();\nassert_eq!((*first_key, *first_value), (1, \"a\"));
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

    Gets a mutable iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::from([\n   (\"a\", 1),\n   (\"b\", 2),\n   (\"c\", 3),\n]);\n\n// add 10 to the value if the key isn't \"a\"\nfor (key, value) in map.iter_mut() {\n    if key != &\"a\" {\n        *value += 10;\n    }\n}
    \n
    1.0.0 · source

    pub fn keys(&self) -> Keys<'_, K, V>

    Gets an iterator over the keys of the map, in sorted order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<_> = a.keys().cloned().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.0.0 · source

    pub fn values(&self) -> Values<'_, K, V>

    Gets an iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.values().cloned().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    1.10.0 · source

    pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

    Gets a mutable iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, String::from(\"hello\"));\na.insert(2, String::from(\"goodbye\"));\n\nfor value in a.values_mut() {\n    value.push_str(\"!\");\n}\n\nlet values: Vec<String> = a.values().cloned().collect();\nassert_eq!(values, [String::from(\"hello!\"),\n                    String::from(\"goodbye!\")]);
    \n
    1.0.0 (const: unstable) · source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
    \n
    1.0.0 (const: unstable) · source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
    \n
    source

    pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.lower_bound(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &\"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &\"b\")));\n\nlet cursor = map.lower_bound(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.lower_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &\"a\")));
    \n
    source

    pub fn lower_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.lower_bound_mut(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &mut \"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &mut \"b\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &mut \"a\")));
    \n
    source

    pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.upper_bound(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &\"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &\"d\")));\n\nlet cursor = map.upper_bound(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.upper_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &\"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    source

    pub fn upper_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.upper_bound_mut(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &mut \"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &mut \"d\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &mut \"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    ",0,"massa_models::datastore::Datastore"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
    \n
    source

    pub const fn new_in(alloc: A) -> BTreeMap<K, V, A>

    🔬This is a nightly-only experimental API. (btreemap_alloc)

    Makes a new empty BTreeMap with a reasonable choice for B.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::alloc::Global;\n\nlet mut map = BTreeMap::new_in(Global);\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"massa_models::datastore::Datastore"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn get<Q>(&self, key: &Q) -> Option<&V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
    \n
    1.40.0 · source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns the key-value pair corresponding to the supplied key.

    \n

    The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
    \n
    1.66.0 · source

    pub fn first_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.first_key_value(), None);\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.first_key_value(), Some((&1, &\"b\")));
    \n
    1.66.0 · source

    pub fn first_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.first_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"first\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"first\");\nassert_eq!(*map.get(&2).unwrap(), \"b\");
    \n
    1.66.0 · source

    pub fn pop_first(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in ascending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_first() {\n    assert!(map.iter().all(|(k, _v)| *k > key));\n}\nassert!(map.is_empty());
    \n
    1.66.0 · source

    pub fn last_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.last_key_value(), Some((&2, &\"a\")));
    \n
    1.66.0 · source

    pub fn last_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.last_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"last\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"a\");\nassert_eq!(*map.get(&2).unwrap(), \"last\");
    \n
    1.66.0 · source

    pub fn pop_last(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in descending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_last() {\n    assert!(map.iter().all(|(k, _v)| *k < key));\n}\nassert!(map.is_empty());
    \n
    1.0.0 · source

    pub fn contains_key<Q>(&self, key: &Q) -> bool
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
    \n
    1.0.0 · source

    pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
    \n
    1.0.0 · source

    pub fn insert(&mut self, key: K, value: V) -> Option<V>
    where\n K: Ord,

    Inserts a key-value pair into the map.

    \n

    If the map did not have this key present, None is returned.

    \n

    If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
    \n
    source

    pub fn try_insert(\n &mut self,\n key: K,\n value: V,\n) -> Result<&mut V, OccupiedError<'_, K, V, A>>
    where\n K: Ord,

    🔬This is a nightly-only experimental API. (map_try_insert)

    Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

    \n

    If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

    \n
    §Examples
    \n
    #![feature(map_try_insert)]\n\nuse std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
    \n
    1.45.0 · source

    pub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(K, V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove_entry(&1), None);
    \n
    1.53.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in ascending key order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\n// Keep only the elements with even-numbered keys.\nmap.retain(|&k, _| k % 2 == 0);\nassert!(map.into_iter().eq(vec![(0, 0), (2, 20), (4, 40), (6, 60)]));
    \n
    1.11.0 · source

    pub fn append(&mut self, other: &mut BTreeMap<K, V, A>)
    where\n K: Ord,\n A: Clone,

    Moves all elements from other into self, leaving other empty.

    \n

    If a key from other is already present in self, the respective\nvalue from self will be overwritten with the respective value from other.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\"); // Note: Key (3) also present in b.\n\nlet mut b = BTreeMap::new();\nb.insert(3, \"d\"); // Note: Key (3) also present in a.\nb.insert(4, \"e\");\nb.insert(5, \"f\");\n\na.append(&mut b);\n\nassert_eq!(a.len(), 5);\nassert_eq!(b.len(), 0);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\nassert_eq!(a[&3], \"d\"); // Note: \"c\" has been overwritten.\nassert_eq!(a[&4], \"e\");\nassert_eq!(a[&5], \"f\");
    \n
    1.17.0 · source

    pub fn range<T, R>(&self, range: R) -> Range<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::ops::Bound::Included;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"a\");\nmap.insert(5, \"b\");\nmap.insert(8, \"c\");\nfor (&key, &value) in map.range((Included(&4), Included(&8))) {\n    println!(\"{key}: {value}\");\n}\nassert_eq!(Some((&5, &\"b\")), map.range(4..).next());
    \n
    1.17.0 · source

    pub fn range_mut<T, R>(&mut self, range: R) -> RangeMut<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<&str, i32> =\n    [(\"Alice\", 0), (\"Bob\", 0), (\"Carol\", 0), (\"Cheryl\", 0)].into();\nfor (_, balance) in map.range_mut(\"B\"..\"Cheryl\") {\n    *balance += 100;\n}\nfor (name, balance) in &map {\n    println!(\"{name} => {balance}\");\n}
    \n
    1.0.0 · source

    pub fn entry(&mut self, key: K) -> Entry<'_, K, V, A>
    where\n K: Ord,

    Gets the given key’s corresponding entry in the map for in-place manipulation.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut count: BTreeMap<&str, usize> = BTreeMap::new();\n\n// count the number of occurrences of letters in the vec\nfor x in [\"a\", \"b\", \"a\", \"c\", \"a\", \"b\"] {\n    count.entry(x).and_modify(|curr| *curr += 1).or_insert(1);\n}\n\nassert_eq!(count[\"a\"], 3);\nassert_eq!(count[\"b\"], 2);\nassert_eq!(count[\"c\"], 1);
    \n
    1.11.0 · source

    pub fn split_off<Q>(&mut self, key: &Q) -> BTreeMap<K, V, A>
    where\n Q: Ord + ?Sized,\n K: Borrow<Q> + Ord,\n A: Clone,

    Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\");\na.insert(17, \"d\");\na.insert(41, \"e\");\n\nlet b = a.split_off(&3);\n\nassert_eq!(a.len(), 2);\nassert_eq!(b.len(), 3);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\n\nassert_eq!(b[&3], \"c\");\nassert_eq!(b[&17], \"d\");\nassert_eq!(b[&41], \"e\");
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F, A>
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    🔬This is a nightly-only experimental API. (btree_extract_if)

    Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns true, the element is removed from\nthe map and yielded. If the closure returns false, or panics, the\nelement remains in the map and will not be yielded.

    \n

    The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a map into even and odd keys, reusing the original map:

    \n\n
    #![feature(btree_extract_if)]\nuse std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet evens: BTreeMap<_, _> = map.extract_if(|k, _v| k % 2 == 0).collect();\nlet odds = map;\nassert_eq!(evens.keys().copied().collect::<Vec<_>>(), [0, 2, 4, 6]);\nassert_eq!(odds.keys().copied().collect::<Vec<_>>(), [1, 3, 5, 7]);
    \n
    1.54.0 · source

    pub fn into_keys(self) -> IntoKeys<K, V, A>

    Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<i32> = a.into_keys().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.54.0 · source

    pub fn into_values(self) -> IntoValues<K, V, A>

    Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is V.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.into_values().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    ",0,"massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> Clone for BTreeMap<K, V, A>
    where\n K: Clone,\n V: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> BTreeMap<K, V, A>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> Debug for BTreeMap<K, V, A>
    where\n K: Debug,\n V: Debug,\n A: Allocator + Clone,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V> Default for BTreeMap<K, V>

    source§

    fn default() -> BTreeMap<K, V>

    Creates an empty BTreeMap.

    \n
    ","Default","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, V> Deserialize<'de> for BTreeMap<K, V>
    where\n K: Deserialize<'de> + Ord,\n V: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs, const N: usize> DeserializeAs<'de, [(K, V); N]> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<[(K, V); N], <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, [(K, V); N]>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, V, KU, VU> DeserializeAs<'de, BTreeMap<K, V>> for BTreeMap<KU, VU>
    where\n KU: DeserializeAs<'de, K>,\n VU: DeserializeAs<'de, V>,\n K: Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BTreeMap>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BTreeSet<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<BTreeSet<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BTreeSet<(K, V)>>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BinaryHeap<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<BinaryHeap<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BinaryHeap<(K, V)>>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Box<[(K, V)]>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Box<[(K, V)]>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Box<[(K, V)]>>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs, S> DeserializeAs<'de, HashSet<(K, V), S>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<HashSet<(K, V), S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashSet<(K, V), S>>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, LinkedList<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<LinkedList<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, LinkedList<(K, V)>>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Option<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Option<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Option<(K, V)>>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Vec<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Vec<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Vec<(K, V)>>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, VecDeque<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<VecDeque<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, VecDeque<(K, V)>>","massa_models::datastore::Datastore"],["
    1.7.0 · source§

    impl<K, V, A> Drop for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","massa_models::datastore::Datastore"],["
    1.2.0 · source§

    impl<'a, K, V, A> Extend<(&'a K, &'a V)> for BTreeMap<K, V, A>
    where\n K: Ord + Copy,\n V: Copy,\n A: Allocator + Clone,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = (&'a K, &'a V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (&'a K, &'a V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(&'a K, &'a V)>","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> Extend<(K, V)> for BTreeMap<K, V, A>
    where\n K: Ord,\n A: Allocator + Clone,

    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (K, V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (K, V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(K, V)>","massa_models::datastore::Datastore"],["
    1.56.0 · source§

    impl<K, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V>
    where\n K: Ord,

    source§

    fn from(arr: [(K, V); N]) -> BTreeMap<K, V>

    Converts a [(K, V); N] into a BTreeMap<(K, V)>.

    \n\n
    use std::collections::BTreeMap;\n\nlet map1 = BTreeMap::from([(1, 2), (3, 4)]);\nlet map2: BTreeMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
    \n
    ","From<[(K, V); N]>","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V> FromIterator<(K, V)> for BTreeMap<K, V>
    where\n K: Ord,

    source§

    fn from_iter<T>(iter: T) -> BTreeMap<K, V>
    where\n T: IntoIterator<Item = (K, V)>,

    Creates a value from an iterator. Read more
    ","FromIterator<(K, V)>","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> Hash for BTreeMap<K, V, A>
    where\n K: Hash,\n V: Hash,\n A: Allocator + Clone,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, Q, V, A> Index<&Q> for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    source§

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n
    §Panics
    \n

    Panics if the key is not present in the BTreeMap.

    \n
    §

    type Output = V

    The returned type after indexing.
    ","Index<&Q>","massa_models::datastore::Datastore"],["
    source§

    impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V>
    where\n K: IntoDeserializer<'de, E> + Eq + Ord,\n V: IntoDeserializer<'de, E>,\n E: Error,

    §

    type Deserializer = MapDeserializer<'de, <BTreeMap<K, V> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self,\n) -> <BTreeMap<K, V> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> IntoIterator for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    source§

    fn into_iter(self) -> IntoIter<K, V, A>

    Gets an owning iterator over the entries of the map, sorted by key.

    \n
    §

    type Item = (K, V)

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<K, V, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> Ord for BTreeMap<K, V, A>
    where\n K: Ord,\n V: Ord,\n A: Allocator + Clone,

    source§

    fn cmp(&self, other: &BTreeMap<K, V, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> PartialEq for BTreeMap<K, V, A>
    where\n K: PartialEq,\n V: PartialEq,\n A: Allocator + Clone,

    source§

    fn eq(&self, other: &BTreeMap<K, V, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> PartialOrd for BTreeMap<K, V, A>
    where\n K: PartialOrd,\n V: PartialOrd,\n A: Allocator + Clone,

    source§

    fn partial_cmp(&self, other: &BTreeMap<K, V, A>) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd","massa_models::datastore::Datastore"],["
    source§

    impl<K, V> Serialize for BTreeMap<K, V>
    where\n K: Serialize,\n V: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<[(K, V)]> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &[(K, V)],\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs<[(K, V)]>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs, const N: usize> SerializeAs<[(K, V); N]> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &[(K, V); N],\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs<[(K, V); N]>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KU, V, VU> SerializeAs<BTreeMap<K, V>> for BTreeMap<KU, VU>
    where\n KU: SerializeAs<K>,\n VU: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BTreeMap<K, V>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<BTreeSet<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BTreeSet<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<BinaryHeap<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BinaryHeap<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Box<[(K, V)]>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Box<[(K, V)]>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs, H> SerializeAs<HashSet<(K, V), H>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &HashSet<(K, V), H>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<LinkedList<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &LinkedList<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Option<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Option<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Vec<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Vec<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<VecDeque<(K, V)>> for BTreeMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &VecDeque<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::datastore::Datastore"],["
    1.0.0 · source§

    impl<K, V, A> Eq for BTreeMap<K, V, A>
    where\n K: Eq,\n V: Eq,\n A: Allocator + Clone,

    ","Eq","massa_models::datastore::Datastore"],["
    1.64.0 · source§

    impl<K, V, A> UnwindSafe for BTreeMap<K, V, A>

    ","UnwindSafe","massa_models::datastore::Datastore"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/alloc/sync/struct.Arc.js b/type.impl/alloc/sync/struct.Arc.js index 4a9d7146628..94163a353b6 100644 --- a/type.impl/alloc/sync/struct.Arc.js +++ b/type.impl/alloc/sync/struct.Arc.js @@ -1,5 +1,5 @@ (function() {var type_impls = { -"massa_db_exports":[["
    source§

    impl<T> Arc<T>
    where\n T: ?Sized,

    1.17.0 · source

    pub unsafe fn from_raw(ptr: *const T) -> Arc<T>

    Constructs an Arc<T> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to\nArc<U>::into_raw with the following requirements:

    \n
      \n
    • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
    • \n
    • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Arc<U> was constructed\nthrough Arc<T> and then converted to Arc<U> through an unsized\ncoercion.
    • \n
    \n

    Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

    \n

    The user of from_raw has to make sure a specific value of T is only\ndropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Arc<T> is never accessed.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet x_ptr = Arc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Arc` to prevent leak.\n    let x = Arc::from_raw(x_ptr);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Arc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
    \n

    Convert a slice back into its original array:

    \n\n
    use std::sync::Arc;\n\nlet x: Arc<[u32]> = Arc::new([1, 2, 3]);\nlet x_ptr: *const [u32] = Arc::into_raw(x);\n\nunsafe {\n    let x: Arc<[u32; 3]> = Arc::from_raw(x_ptr.cast::<[u32; 3]>());\n    assert_eq!(&*x, &[1, 2, 3]);\n}
    \n
    1.51.0 · source

    pub unsafe fn increment_strong_count(ptr: *const T)

    Increments the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count(ptr);\n\n    // This assertion is deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw(ptr);\n    assert_eq!(2, Arc::strong_count(&five));\n}
    \n
    1.51.0 · source

    pub unsafe fn decrement_strong_count(ptr: *const T)

    Decrements the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method. This method can be used to release the final\nArc and backing storage, but should not be called after the final Arc has been\nreleased.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count(ptr);\n\n    // Those assertions are deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw(ptr);\n    assert_eq!(2, Arc::strong_count(&five));\n    Arc::decrement_strong_count(ptr);\n    assert_eq!(1, Arc::strong_count(&five));\n}
    \n
    ",0,"massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T> Arc<T>

    1.0.0 · source

    pub fn new(data: T) -> Arc<T>

    Constructs a new Arc<T>.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);
    \n
    1.60.0 · source

    pub fn new_cyclic<F>(data_fn: F) -> Arc<T>
    where\n F: FnOnce(&Weak<T>) -> T,

    Constructs a new Arc<T> while giving you a Weak<T> to the allocation,\nto allow you to construct a T which holds a weak pointer to itself.

    \n

    Generally, a structure circularly referencing itself, either directly or\nindirectly, should not hold a strong reference to itself to prevent a memory leak.\nUsing this function, you get access to the weak pointer during the\ninitialization of T, before the Arc<T> is created, such that you can\nclone and store it inside the T.

    \n

    new_cyclic first allocates the managed allocation for the Arc<T>,\nthen calls your closure, giving it a Weak<T> to this allocation,\nand only afterwards completes the construction of the Arc<T> by placing\nthe T returned from your closure into the allocation.

    \n

    Since the new Arc<T> is not fully-constructed until Arc<T>::new_cyclic\nreturns, calling upgrade on the weak reference inside your closure will\nfail and result in a None value.

    \n
    §Panics
    \n

    If data_fn panics, the panic is propagated to the caller, and the\ntemporary Weak<T> is dropped normally.

    \n
    §Example
    \n
    use std::sync::{Arc, Weak};\n\nstruct Gadget {\n    me: Weak<Gadget>,\n}\n\nimpl Gadget {\n    /// Construct a reference counted Gadget.\n    fn new() -> Arc<Self> {\n        // `me` is a `Weak<Gadget>` pointing at the new allocation of the\n        // `Arc` we're constructing.\n        Arc::new_cyclic(|me| {\n            // Create the actual struct here.\n            Gadget { me: me.clone() }\n        })\n    }\n\n    /// Return a reference counted pointer to Self.\n    fn me(&self) -> Arc<Self> {\n        self.me.upgrade().unwrap()\n    }\n}
    \n
    source

    pub fn new_uninit() -> Arc<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Arc with uninitialized contents.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut five = Arc::<u32>::new_uninit();\n\n// Deferred initialization:\nArc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Arc<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nuse std::sync::Arc;\n\nlet zero = Arc::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(data: T) -> Pin<Arc<T>>

    Constructs a new Pin<Arc<T>>. If T does not implement Unpin, then\ndata will be pinned in memory and unable to be moved.

    \n
    source

    pub fn try_pin(data: T) -> Result<Pin<Arc<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T>>, return an error if allocation fails.

    \n
    source

    pub fn try_new(data: T) -> Result<Arc<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T>, returning an error if allocation fails.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\nuse std::sync::Arc;\n\nlet five = Arc::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Arc<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, returning an error\nif allocation fails.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut five = Arc::<u32>::try_new_uninit()?;\n\n// Deferred initialization:\nArc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Arc<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, returning an error if allocation fails.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n\nuse std::sync::Arc;\n\nlet zero = Arc::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source

    pub fn allocator(this: &Arc<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Arc::allocator(&a) instead of a.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.17.0 · source

    pub fn into_raw(this: Arc<T, A>) -> *const T

    Consumes the Arc, returning the wrapped pointer.

    \n

    To avoid a memory leak the pointer must be converted back to an Arc using\nArc::from_raw.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet x_ptr = Arc::into_raw(x);\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
    \n
    source

    pub fn into_raw_with_allocator(this: Arc<T, A>) -> (*const T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Arc, returning the wrapped pointer and allocator.

    \n

    To avoid a memory leak the pointer must be converted back to an Arc using\nArc::from_raw_in.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x = Arc::new_in(\"hello\".to_owned(), System);\nlet (ptr, alloc) = Arc::into_raw_with_allocator(x);\nassert_eq!(unsafe { &*ptr }, \"hello\");\nlet x = unsafe { Arc::from_raw_in(ptr, alloc) };\nassert_eq!(&*x, \"hello\");
    \n
    1.45.0 · source

    pub fn as_ptr(this: &Arc<T, A>) -> *const T

    Provides a raw pointer to the data.

    \n

    The counts are not affected in any way and the Arc is not consumed. The pointer is valid for\nas long as there are strong counts in the Arc.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet y = Arc::clone(&x);\nlet x_ptr = Arc::as_ptr(&x);\nassert_eq!(x_ptr, Arc::as_ptr(&y));\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
    \n
    source

    pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Arc<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs an Arc<T, A> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to Arc<U, A>::into_raw with the following requirements:

    \n
      \n
    • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
    • \n
    • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Arc<U> was constructed\nthrough Arc<T> and then converted to Arc<U> through an unsized\ncoercion.
    • \n
    \n

    Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

    \n

    The raw pointer must point to a block of memory allocated by alloc

    \n

    The user of from_raw has to make sure a specific value of T is only\ndropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Arc<T> is never accessed.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x = Arc::new_in(\"hello\".to_owned(), System);\nlet x_ptr = Arc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Arc` to prevent leak.\n    let x = Arc::from_raw_in(x_ptr, System);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Arc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
    \n

    Convert a slice back into its original array:

    \n\n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x: Arc<[u32], _> = Arc::new_in([1, 2, 3], System);\nlet x_ptr: *const [u32] = Arc::into_raw(x);\n\nunsafe {\n    let x: Arc<[u32; 3], _> = Arc::from_raw_in(x_ptr.cast::<[u32; 3]>(), System);\n    assert_eq!(&*x, &[1, 2, 3]);\n}
    \n
    1.4.0 · source

    pub fn downgrade(this: &Arc<T, A>) -> Weak<T, A>
    where\n A: Clone,

    Creates a new Weak pointer to this allocation.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nlet weak_five = Arc::downgrade(&five);
    \n
    1.15.0 · source

    pub fn weak_count(this: &Arc<T, A>) -> usize

    Gets the number of Weak pointers to this allocation.

    \n
    §Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\nAnother thread can change the weak count at any time,\nincluding potentially between calling this method and acting on the result.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet _weak_five = Arc::downgrade(&five);\n\n// This assertion is deterministic because we haven't shared\n// the `Arc` or `Weak` between threads.\nassert_eq!(1, Arc::weak_count(&five));
    \n
    1.15.0 · source

    pub fn strong_count(this: &Arc<T, A>) -> usize

    Gets the number of strong (Arc) pointers to this allocation.

    \n
    §Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\nAnother thread can change the strong count at any time,\nincluding potentially between calling this method and acting on the result.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet _also_five = Arc::clone(&five);\n\n// This assertion is deterministic because we haven't shared\n// the `Arc` between threads.\nassert_eq!(2, Arc::strong_count(&five));
    \n
    source

    pub unsafe fn increment_strong_count_in(ptr: *const T, alloc: A)
    where\n A: Clone,

    🔬This is a nightly-only experimental API. (allocator_api)

    Increments the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method,, and ptr must point to a block of memory\nallocated by alloc.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count_in(ptr, System);\n\n    // This assertion is deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw_in(ptr, System);\n    assert_eq!(2, Arc::strong_count(&five));\n}
    \n
    source

    pub unsafe fn decrement_strong_count_in(ptr: *const T, alloc: A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Decrements the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method, and ptr must point to a block of memory\nallocated by alloc. This method can be used to release the final\nArc and backing storage, but should not be called after the final Arc has been\nreleased.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count_in(ptr, System);\n\n    // Those assertions are deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw_in(ptr, System);\n    assert_eq!(2, Arc::strong_count(&five));\n    Arc::decrement_strong_count_in(ptr, System);\n    assert_eq!(1, Arc::strong_count(&five));\n}
    \n
    1.17.0 · source

    pub fn ptr_eq(this: &Arc<T, A>, other: &Arc<T, A>) -> bool

    Returns true if the two Arcs point to the same allocation in a vein similar to\nptr::eq. This function ignores the metadata of dyn Trait pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet same_five = Arc::clone(&five);\nlet other_five = Arc::new(5);\n\nassert!(Arc::ptr_eq(&five, &same_five));\nassert!(!Arc::ptr_eq(&five, &other_five));
    \n
    ",0,"massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, A> Arc<T, A>
    where\n T: CloneToUninit + ?Sized,\n A: Allocator + Clone,

    1.4.0 · source

    pub fn make_mut(this: &mut Arc<T, A>) -> &mut T

    Makes a mutable reference into the given Arc.

    \n

    If there are other Arc pointers to the same allocation, then make_mut will\nclone the inner value to a new allocation to ensure unique ownership. This is also\nreferred to as clone-on-write.

    \n

    However, if there are no other Arc pointers to this allocation, but some Weak\npointers, then the Weak pointers will be dissociated and the inner value will not\nbe cloned.

    \n

    See also get_mut, which will fail rather than cloning the inner value\nor dissociating Weak pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet mut data = Arc::new(5);\n\n*Arc::make_mut(&mut data) += 1;         // Won't clone anything\nlet mut other_data = Arc::clone(&data); // Won't clone inner data\n*Arc::make_mut(&mut data) += 1;         // Clones inner data\n*Arc::make_mut(&mut data) += 1;         // Won't clone anything\n*Arc::make_mut(&mut other_data) *= 2;   // Won't clone anything\n\n// Now `data` and `other_data` point to different allocations.\nassert_eq!(*data, 8);\nassert_eq!(*other_data, 12);
    \n

    Weak pointers will be dissociated:

    \n\n
    use std::sync::Arc;\n\nlet mut data = Arc::new(75);\nlet weak = Arc::downgrade(&data);\n\nassert!(75 == *data);\nassert!(75 == *weak.upgrade().unwrap());\n\n*Arc::make_mut(&mut data) += 1;\n\nassert!(76 == *data);\nassert!(weak.upgrade().is_none());
    \n
    ",0,"massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, A> Arc<T, A>
    where\n T: Clone,\n A: Allocator,

    1.76.0 · source

    pub fn unwrap_or_clone(this: Arc<T, A>) -> T

    If we have the only reference to T then unwrap it. Otherwise, clone T and return the\nclone.

    \n

    Assuming arc_t is of type Arc<T>, this function is functionally equivalent to\n(*arc_t).clone(), but will avoid cloning the inner value where possible.

    \n
    §Examples
    \n
    let inner = String::from(\"test\");\nlet ptr = inner.as_ptr();\n\nlet arc = Arc::new(inner);\nlet inner = Arc::unwrap_or_clone(arc);\n// The inner value was not cloned\nassert!(ptr::eq(ptr, inner.as_ptr()));\n\nlet arc = Arc::new(inner);\nlet arc2 = arc.clone();\nlet inner = Arc::unwrap_or_clone(arc);\n// Because there were 2 references, we had to clone the inner value.\nassert!(!ptr::eq(ptr, inner.as_ptr()));\n// `arc2` is the last reference, so when we unwrap it we get back\n// the original `String`.\nlet inner = Arc::unwrap_or_clone(arc2);\nassert!(ptr::eq(ptr, inner.as_ptr()));
    \n
    ",0,"massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    1.4.0 · source

    pub fn get_mut(this: &mut Arc<T, A>) -> Option<&mut T>

    Returns a mutable reference into the given Arc, if there are\nno other Arc or Weak pointers to the same allocation.

    \n

    Returns None otherwise, because it is not safe to\nmutate a shared value.

    \n

    See also make_mut, which will clone\nthe inner value when there are other Arc pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet mut x = Arc::new(3);\n*Arc::get_mut(&mut x).unwrap() = 4;\nassert_eq!(*x, 4);\n\nlet _y = Arc::clone(&x);\nassert!(Arc::get_mut(&mut x).is_none());
    \n
    source

    pub unsafe fn get_mut_unchecked(this: &mut Arc<T, A>) -> &mut T

    🔬This is a nightly-only experimental API. (get_mut_unchecked)

    Returns a mutable reference into the given Arc,\nwithout any check.

    \n

    See also get_mut, which is safe and does appropriate checks.

    \n
    §Safety
    \n

    If any other Arc or Weak pointers to the same allocation exist, then\nthey must not be dereferenced or have active borrows for the duration\nof the returned borrow, and their inner type must be exactly the same as the\ninner type of this Rc (including lifetimes). This is trivially the case if no\nsuch pointers exist, for example immediately after Arc::new.

    \n
    §Examples
    \n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut x = Arc::new(String::new());\nunsafe {\n    Arc::get_mut_unchecked(&mut x).push_str(\"foo\")\n}\nassert_eq!(*x, \"foo\");
    \n

    Other Arc pointers to the same allocation must be to the same type.

    \n\n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet x: Arc<str> = Arc::from(\"Hello, world!\");\nlet mut y: Arc<[u8]> = x.clone().into();\nunsafe {\n    // this is Undefined Behavior, because x's inner type is str, not [u8]\n    Arc::get_mut_unchecked(&mut y).fill(0xff); // 0xff is invalid in UTF-8\n}\nprintln!(\"{}\", &*x); // Invalid UTF-8 in a str
    \n

    Other Arc pointers to the same allocation must be to the exact same type, including lifetimes.

    \n\n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet x: Arc<&str> = Arc::new(\"Hello, world!\");\n{\n    let s = String::from(\"Oh, no!\");\n    let mut y: Arc<&str> = x.clone().into();\n    unsafe {\n        // this is Undefined Behavior, because x's inner type\n        // is &'long str, not &'short str\n        *Arc::get_mut_unchecked(&mut y) = &s;\n    }\n}\nprintln!(\"{}\", &*x); // Use-after-free
    \n
    ",0,"massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(data: T, alloc: A) -> Arc<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T> in the provided allocator.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents in the provided allocator.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(get_mut_unchecked)]\n#![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet mut five = Arc::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet zero = Arc::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn pin_in(data: T, alloc: A) -> Pin<Arc<T, A>>
    where\n A: 'static,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T, A>> in the provided allocator. If T does not implement Unpin,\nthen data will be pinned in memory and unable to be moved.

    \n
    source

    pub fn try_pin_in(data: T, alloc: A) -> Result<Pin<Arc<T, A>>, AllocError>
    where\n A: 'static,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T, A>> in the provided allocator, return an error if allocation\nfails.

    \n
    source

    pub fn try_new_in(data: T, alloc: A) -> Result<Arc<T, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T, A> in the provided allocator, returning an error if allocation fails.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::try_new_in(5, System)?;
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, in the provided allocator, returning an\nerror if allocation fails.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet mut five = Arc::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator, returning an error if allocation\nfails.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet zero = Arc::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    1.4.0 · source

    pub fn try_unwrap(this: Arc<T, A>) -> Result<T, Arc<T, A>>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n

    Otherwise, an Err is returned with the same Arc that was\npassed in.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    It is strongly recommended to use Arc::into_inner instead if you don’t\nkeep the Arc in the Err case.\nImmediately dropping the Err-value, as the expression\nArc::try_unwrap(this).ok() does, can cause the strong count to\ndrop to zero and the inner value of the Arc to be dropped.\nFor instance, if two threads execute such an expression in parallel,\nthere is a race condition without the possibility of unsafety:\nThe threads could first both check whether they own the last instance\nin Arc::try_unwrap, determine that they both do not, and then both\ndiscard and drop their instance in the call to ok.\nIn this scenario, the value inside the Arc is safely destroyed\nby exactly one of the threads, but neither thread will ever be able\nto use the value.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(3);\nassert_eq!(Arc::try_unwrap(x), Ok(3));\n\nlet x = Arc::new(4);\nlet _y = Arc::clone(&x);\nassert_eq!(*Arc::try_unwrap(x).unwrap_err(), 4);
    \n
    1.70.0 · source

    pub fn into_inner(this: Arc<T, A>) -> Option<T>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n

    Otherwise, None is returned and the Arc is dropped.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    If Arc::into_inner is called on every clone of this Arc,\nit is guaranteed that exactly one of the calls returns the inner value.\nThis means in particular that the inner value is not dropped.

    \n

    Arc::try_unwrap is conceptually similar to Arc::into_inner, but it\nis meant for different use-cases. If used as a direct replacement\nfor Arc::into_inner anyway, such as with the expression\nArc::try_unwrap(this).ok(), then it does\nnot give the same guarantee as described in the previous paragraph.\nFor more information, see the examples below and read the documentation\nof Arc::try_unwrap.

    \n
    §Examples
    \n

    Minimal example demonstrating the guarantee that Arc::into_inner gives.

    \n\n
    use std::sync::Arc;\n\nlet x = Arc::new(3);\nlet y = Arc::clone(&x);\n\n// Two threads calling `Arc::into_inner` on both clones of an `Arc`:\nlet x_thread = std::thread::spawn(|| Arc::into_inner(x));\nlet y_thread = std::thread::spawn(|| Arc::into_inner(y));\n\nlet x_inner_value = x_thread.join().unwrap();\nlet y_inner_value = y_thread.join().unwrap();\n\n// One of the threads is guaranteed to receive the inner value:\nassert!(matches!(\n    (x_inner_value, y_inner_value),\n    (None, Some(3)) | (Some(3), None)\n));\n// The result could also be `(None, None)` if the threads called\n// `Arc::try_unwrap(x).ok()` and `Arc::try_unwrap(y).ok()` instead.
    \n

    A more practical example demonstrating the need for Arc::into_inner:

    \n\n
    use std::sync::Arc;\n\n// Definition of a simple singly linked list using `Arc`:\n#[derive(Clone)]\nstruct LinkedList<T>(Option<Arc<Node<T>>>);\nstruct Node<T>(T, Option<Arc<Node<T>>>);\n\n// Dropping a long `LinkedList<T>` relying on the destructor of `Arc`\n// can cause a stack overflow. To prevent this, we can provide a\n// manual `Drop` implementation that does the destruction in a loop:\nimpl<T> Drop for LinkedList<T> {\n    fn drop(&mut self) {\n        let mut link = self.0.take();\n        while let Some(arc_node) = link.take() {\n            if let Some(Node(_value, next)) = Arc::into_inner(arc_node) {\n                link = next;\n            }\n        }\n    }\n}\n\n// Implementation of `new` and `push` omitted\nimpl<T> LinkedList<T> {\n    /* ... */\n}\n\n// The following code could have still caused a stack overflow\n// despite the manual `Drop` impl if that `Drop` impl had used\n// `Arc::try_unwrap(arc).ok()` instead of `Arc::into_inner(arc)`.\n\n// Create a long list and clone it\nlet mut x = LinkedList::new();\nlet size = 100000;\nfor i in 0..size {\n    x.push(i); // Adds i to the front of x\n}\nlet y = x.clone();\n\n// Drop the clones in parallel\nlet x_thread = std::thread::spawn(|| drop(x));\nlet y_thread = std::thread::spawn(|| drop(y));\nx_thread.join().unwrap();\ny_thread.join().unwrap();
    \n
    ",0,"massa_db_exports::controller::ShareableMassaDBController"],["
    1.64.0 · source§

    impl<T> AsFd for Arc<T>
    where\n T: AsFd + ?Sized,

    This impl allows implementing traits that require AsFd on Arc.

    \n\n
    use std::net::UdpSocket;\nuse std::sync::Arc;\n\ntrait MyTrait: AsFd {}\nimpl MyTrait for Arc<UdpSocket> {}\nimpl MyTrait for Box<UdpSocket> {}
    \n
    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","massa_db_exports::controller::ShareableMassaDBController"],["
    1.63.0 · source§

    impl<T> AsRawFd for Arc<T>
    where\n T: AsRawFd,

    This impl allows implementing traits that require AsRawFd on Arc.

    \n\n
    use std::net::UdpSocket;\nuse std::sync::Arc;\ntrait MyTrait: AsRawFd {\n}\nimpl MyTrait for Arc<UdpSocket> {}\nimpl MyTrait for Box<UdpSocket> {}
    \n
    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","massa_db_exports::controller::ShareableMassaDBController"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Borrow<T> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Clone for Arc<T, A>
    where\n A: Allocator + Clone,\n T: ?Sized,

    source§

    fn clone(&self) -> Arc<T, A>

    Makes a clone of the Arc pointer.

    \n

    This creates another pointer to the same allocation, increasing the\nstrong reference count.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nlet _ = Arc::clone(&five);
    \n
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Debug for Arc<T, A>
    where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T> Default for Arc<T>
    where\n T: Default,

    source§

    fn default() -> Arc<T>

    Creates a new Arc<T>, with the Default value for T.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x: Arc<i32> = Default::default();\nassert_eq!(*x, 0);
    \n
    ","Default","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Deref for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<'de, T, U> DeserializeAs<'de, Arc<T>> for Arc<U>
    where\n U: DeserializeAs<'de, T>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Arc<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Arc>","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Display for Arc<T, A>
    where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Drop for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Drops the Arc.

    \n

    This will decrement the strong reference count. If the strong reference\ncount reaches zero then the only other references (if any) are\nWeak, so we drop the inner value.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nstruct Foo;\n\nimpl Drop for Foo {\n    fn drop(&mut self) {\n        println!(\"dropped!\");\n    }\n}\n\nlet foo  = Arc::new(Foo);\nlet foo2 = Arc::clone(&foo);\n\ndrop(foo);    // Doesn't print anything\ndrop(foo2);   // Prints \"dropped!\"
    \n
    ","Drop","massa_db_exports::controller::ShareableMassaDBController"],["
    1.52.0 · source§

    impl<T> Error for Arc<T>
    where\n T: Error + ?Sized,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'a>(&'a self, req: &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
    ","Error","massa_db_exports::controller::ShareableMassaDBController"],["
    1.21.0 · source§

    impl<T, A> From<Box<T, A>> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn from(v: Box<T, A>) -> Arc<T, A>

    Move a boxed object to a new, reference-counted allocation.

    \n
    §Example
    \n
    let unique: Box<str> = Box::from(\"eggplant\");\nlet shared: Arc<str> = Arc::from(unique);\nassert_eq!(\"eggplant\", &shared[..]);
    \n
    ","From>","massa_db_exports::controller::ShareableMassaDBController"],["
    1.45.0 · source§

    impl<'a, B> From<Cow<'a, B>> for Arc<B>
    where\n B: ToOwned + ?Sized,\n Arc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,

    source§

    fn from(cow: Cow<'a, B>) -> Arc<B>

    Create an atomically reference-counted pointer from\na clone-on-write pointer by copying its content.

    \n
    §Example
    \n
    let cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\nlet shared: Arc<str> = Arc::from(cow);\nassert_eq!(\"eggplant\", &shared[..]);
    \n
    ","From>","massa_db_exports::controller::ShareableMassaDBController"],["
    1.6.0 · source§

    impl<T> From<T> for Arc<T>

    source§

    fn from(t: T) -> Arc<T>

    Converts a T into an Arc<T>

    \n

    The conversion moves the value into a\nnewly allocated Arc. It is equivalent to\ncalling Arc::new(t).

    \n
    §Example
    \n
    let x = 5;\nlet arc = Arc::new(5);\n\nassert_eq!(Arc::from(x), arc);
    \n
    ","From","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Hash for Arc<T, A>
    where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_db_exports::controller::ShareableMassaDBController"],["
    §

    impl<Sp> LocalSpawn for Arc<Sp>
    where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>,\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T> Log for Arc<T>
    where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records. Read more
    ","Log","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Ord for Arc<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Arc<T, A>) -> Ordering

    Comparison for two Arcs.

    \n

    The two are compared by calling cmp() on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\nuse std::cmp::Ordering;\n\nlet five = Arc::new(5);\n\nassert_eq!(Ordering::Less, five.cmp(&Arc::new(6)));
    \n
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Arc<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Arc<T, A>) -> bool

    Equality for two Arcs.

    \n

    Two Arcs are equal if their inner values are equal, even if they are\nstored in different allocation.

    \n

    If T also implements Eq (implying reflexivity of equality),\ntwo Arcs that point to the same allocation are always equal.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five == Arc::new(5));
    \n
    source§

    fn ne(&self, other: &Arc<T, A>) -> bool

    Inequality for two Arcs.

    \n

    Two Arcs are not equal if their inner values are not equal.

    \n

    If T also implements Eq (implying reflexivity of equality),\ntwo Arcs that point to the same value are always equal.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five != Arc::new(6));
    \n
    ","PartialEq","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Arc<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Arc<T, A>) -> Option<Ordering>

    Partial comparison for two Arcs.

    \n

    The two are compared by calling partial_cmp() on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\nuse std::cmp::Ordering;\n\nlet five = Arc::new(5);\n\nassert_eq!(Some(Ordering::Less), five.partial_cmp(&Arc::new(6)));
    \n
    source§

    fn lt(&self, other: &Arc<T, A>) -> bool

    Less-than comparison for two Arcs.

    \n

    The two are compared by calling < on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five < Arc::new(6));
    \n
    source§

    fn le(&self, other: &Arc<T, A>) -> bool

    ‘Less than or equal to’ comparison for two Arcs.

    \n

    The two are compared by calling <= on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five <= Arc::new(5));
    \n
    source§

    fn gt(&self, other: &Arc<T, A>) -> bool

    Greater-than comparison for two Arcs.

    \n

    The two are compared by calling > on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five > Arc::new(4));
    \n
    source§

    fn ge(&self, other: &Arc<T, A>) -> bool

    ‘Greater than or equal to’ comparison for two Arcs.

    \n

    The two are compared by calling >= on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five >= Arc::new(5));
    \n
    ","PartialOrd","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Pointer for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Pointer","massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, U> SerializeAs<Arc<T>> for Arc<U>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &Arc<T>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::controller::ShareableMassaDBController"],["
    §

    impl<Request, S> Service<Request> for Arc<S>
    where\n S: Service<Request> + ?Sized,

    §

    type Response = <S as Service<Request>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Request>>::Error

    Errors produced by the service. Read more
    §

    type Future = <S as Service<Request>>::Future

    The future response value.
    §

    fn call(&self, req: Request) -> <Arc<S> as Service<Request>>::Future

    Process the request and return the response asynchronously.\ncall takes &self instead of mut &self because: Read more
    ","Service","massa_db_exports::controller::ShareableMassaDBController"],["
    §

    impl<Sp> Spawn for Arc<Sp>
    where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","massa_db_exports::controller::ShareableMassaDBController"],["
    §

    impl<S> Subscriber for Arc<S>
    where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, U, A> CoerceUnsized<Arc<U, A>> for Arc<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, A> DerefPure for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","DerefPure","massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, U> DispatchFromDyn<Arc<U>> for Arc<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Eq for Arc<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Send for Arc<T, A>
    where\n T: Sync + Send + ?Sized,\n A: Allocator + Send,

    ","Send","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Sync for Arc<T, A>
    where\n T: Sync + Send + ?Sized,\n A: Allocator + Sync,

    ","Sync","massa_db_exports::controller::ShareableMassaDBController"],["
    1.33.0 · source§

    impl<T, A> Unpin for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","Unpin","massa_db_exports::controller::ShareableMassaDBController"],["
    1.9.0 · source§

    impl<T, A> UnwindSafe for Arc<T, A>
    where\n T: RefUnwindSafe + ?Sized,\n A: Allocator + UnwindSafe,

    ","UnwindSafe","massa_db_exports::controller::ShareableMassaDBController"]], -"massa_pos_worker":[["
    source§

    impl<T> Arc<T>
    where\n T: ?Sized,

    1.17.0 · source

    pub unsafe fn from_raw(ptr: *const T) -> Arc<T>

    Constructs an Arc<T> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to\nArc<U>::into_raw with the following requirements:

    \n
      \n
    • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
    • \n
    • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Arc<U> was constructed\nthrough Arc<T> and then converted to Arc<U> through an unsized\ncoercion.
    • \n
    \n

    Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

    \n

    The user of from_raw has to make sure a specific value of T is only\ndropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Arc<T> is never accessed.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet x_ptr = Arc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Arc` to prevent leak.\n    let x = Arc::from_raw(x_ptr);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Arc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
    \n

    Convert a slice back into its original array:

    \n\n
    use std::sync::Arc;\n\nlet x: Arc<[u32]> = Arc::new([1, 2, 3]);\nlet x_ptr: *const [u32] = Arc::into_raw(x);\n\nunsafe {\n    let x: Arc<[u32; 3]> = Arc::from_raw(x_ptr.cast::<[u32; 3]>());\n    assert_eq!(&*x, &[1, 2, 3]);\n}
    \n
    1.51.0 · source

    pub unsafe fn increment_strong_count(ptr: *const T)

    Increments the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count(ptr);\n\n    // This assertion is deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw(ptr);\n    assert_eq!(2, Arc::strong_count(&five));\n}
    \n
    1.51.0 · source

    pub unsafe fn decrement_strong_count(ptr: *const T)

    Decrements the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method. This method can be used to release the final\nArc and backing storage, but should not be called after the final Arc has been\nreleased.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count(ptr);\n\n    // Those assertions are deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw(ptr);\n    assert_eq!(2, Arc::strong_count(&five));\n    Arc::decrement_strong_count(ptr);\n    assert_eq!(1, Arc::strong_count(&five));\n}
    \n
    ",0,"massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T> Arc<T>

    1.0.0 · source

    pub fn new(data: T) -> Arc<T>

    Constructs a new Arc<T>.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);
    \n
    1.60.0 · source

    pub fn new_cyclic<F>(data_fn: F) -> Arc<T>
    where\n F: FnOnce(&Weak<T>) -> T,

    Constructs a new Arc<T> while giving you a Weak<T> to the allocation,\nto allow you to construct a T which holds a weak pointer to itself.

    \n

    Generally, a structure circularly referencing itself, either directly or\nindirectly, should not hold a strong reference to itself to prevent a memory leak.\nUsing this function, you get access to the weak pointer during the\ninitialization of T, before the Arc<T> is created, such that you can\nclone and store it inside the T.

    \n

    new_cyclic first allocates the managed allocation for the Arc<T>,\nthen calls your closure, giving it a Weak<T> to this allocation,\nand only afterwards completes the construction of the Arc<T> by placing\nthe T returned from your closure into the allocation.

    \n

    Since the new Arc<T> is not fully-constructed until Arc<T>::new_cyclic\nreturns, calling upgrade on the weak reference inside your closure will\nfail and result in a None value.

    \n
    §Panics
    \n

    If data_fn panics, the panic is propagated to the caller, and the\ntemporary Weak<T> is dropped normally.

    \n
    §Example
    \n
    use std::sync::{Arc, Weak};\n\nstruct Gadget {\n    me: Weak<Gadget>,\n}\n\nimpl Gadget {\n    /// Construct a reference counted Gadget.\n    fn new() -> Arc<Self> {\n        // `me` is a `Weak<Gadget>` pointing at the new allocation of the\n        // `Arc` we're constructing.\n        Arc::new_cyclic(|me| {\n            // Create the actual struct here.\n            Gadget { me: me.clone() }\n        })\n    }\n\n    /// Return a reference counted pointer to Self.\n    fn me(&self) -> Arc<Self> {\n        self.me.upgrade().unwrap()\n    }\n}
    \n
    source

    pub fn new_uninit() -> Arc<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Arc with uninitialized contents.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut five = Arc::<u32>::new_uninit();\n\n// Deferred initialization:\nArc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Arc<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nuse std::sync::Arc;\n\nlet zero = Arc::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(data: T) -> Pin<Arc<T>>

    Constructs a new Pin<Arc<T>>. If T does not implement Unpin, then\ndata will be pinned in memory and unable to be moved.

    \n
    source

    pub fn try_pin(data: T) -> Result<Pin<Arc<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T>>, return an error if allocation fails.

    \n
    source

    pub fn try_new(data: T) -> Result<Arc<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T>, returning an error if allocation fails.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\nuse std::sync::Arc;\n\nlet five = Arc::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Arc<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, returning an error\nif allocation fails.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut five = Arc::<u32>::try_new_uninit()?;\n\n// Deferred initialization:\nArc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Arc<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, returning an error if allocation fails.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n\nuse std::sync::Arc;\n\nlet zero = Arc::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source

    pub fn allocator(this: &Arc<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Arc::allocator(&a) instead of a.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.17.0 · source

    pub fn into_raw(this: Arc<T, A>) -> *const T

    Consumes the Arc, returning the wrapped pointer.

    \n

    To avoid a memory leak the pointer must be converted back to an Arc using\nArc::from_raw.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet x_ptr = Arc::into_raw(x);\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
    \n
    source

    pub fn into_raw_with_allocator(this: Arc<T, A>) -> (*const T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Arc, returning the wrapped pointer and allocator.

    \n

    To avoid a memory leak the pointer must be converted back to an Arc using\nArc::from_raw_in.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x = Arc::new_in(\"hello\".to_owned(), System);\nlet (ptr, alloc) = Arc::into_raw_with_allocator(x);\nassert_eq!(unsafe { &*ptr }, \"hello\");\nlet x = unsafe { Arc::from_raw_in(ptr, alloc) };\nassert_eq!(&*x, \"hello\");
    \n
    1.45.0 · source

    pub fn as_ptr(this: &Arc<T, A>) -> *const T

    Provides a raw pointer to the data.

    \n

    The counts are not affected in any way and the Arc is not consumed. The pointer is valid for\nas long as there are strong counts in the Arc.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet y = Arc::clone(&x);\nlet x_ptr = Arc::as_ptr(&x);\nassert_eq!(x_ptr, Arc::as_ptr(&y));\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
    \n
    source

    pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Arc<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs an Arc<T, A> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to Arc<U, A>::into_raw with the following requirements:

    \n
      \n
    • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
    • \n
    • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Arc<U> was constructed\nthrough Arc<T> and then converted to Arc<U> through an unsized\ncoercion.
    • \n
    \n

    Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

    \n

    The raw pointer must point to a block of memory allocated by alloc

    \n

    The user of from_raw has to make sure a specific value of T is only\ndropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Arc<T> is never accessed.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x = Arc::new_in(\"hello\".to_owned(), System);\nlet x_ptr = Arc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Arc` to prevent leak.\n    let x = Arc::from_raw_in(x_ptr, System);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Arc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
    \n

    Convert a slice back into its original array:

    \n\n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x: Arc<[u32], _> = Arc::new_in([1, 2, 3], System);\nlet x_ptr: *const [u32] = Arc::into_raw(x);\n\nunsafe {\n    let x: Arc<[u32; 3], _> = Arc::from_raw_in(x_ptr.cast::<[u32; 3]>(), System);\n    assert_eq!(&*x, &[1, 2, 3]);\n}
    \n
    1.4.0 · source

    pub fn downgrade(this: &Arc<T, A>) -> Weak<T, A>
    where\n A: Clone,

    Creates a new Weak pointer to this allocation.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nlet weak_five = Arc::downgrade(&five);
    \n
    1.15.0 · source

    pub fn weak_count(this: &Arc<T, A>) -> usize

    Gets the number of Weak pointers to this allocation.

    \n
    §Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\nAnother thread can change the weak count at any time,\nincluding potentially between calling this method and acting on the result.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet _weak_five = Arc::downgrade(&five);\n\n// This assertion is deterministic because we haven't shared\n// the `Arc` or `Weak` between threads.\nassert_eq!(1, Arc::weak_count(&five));
    \n
    1.15.0 · source

    pub fn strong_count(this: &Arc<T, A>) -> usize

    Gets the number of strong (Arc) pointers to this allocation.

    \n
    §Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\nAnother thread can change the strong count at any time,\nincluding potentially between calling this method and acting on the result.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet _also_five = Arc::clone(&five);\n\n// This assertion is deterministic because we haven't shared\n// the `Arc` between threads.\nassert_eq!(2, Arc::strong_count(&five));
    \n
    source

    pub unsafe fn increment_strong_count_in(ptr: *const T, alloc: A)
    where\n A: Clone,

    🔬This is a nightly-only experimental API. (allocator_api)

    Increments the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method,, and ptr must point to a block of memory\nallocated by alloc.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count_in(ptr, System);\n\n    // This assertion is deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw_in(ptr, System);\n    assert_eq!(2, Arc::strong_count(&five));\n}
    \n
    source

    pub unsafe fn decrement_strong_count_in(ptr: *const T, alloc: A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Decrements the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method, and ptr must point to a block of memory\nallocated by alloc. This method can be used to release the final\nArc and backing storage, but should not be called after the final Arc has been\nreleased.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count_in(ptr, System);\n\n    // Those assertions are deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw_in(ptr, System);\n    assert_eq!(2, Arc::strong_count(&five));\n    Arc::decrement_strong_count_in(ptr, System);\n    assert_eq!(1, Arc::strong_count(&five));\n}
    \n
    1.17.0 · source

    pub fn ptr_eq(this: &Arc<T, A>, other: &Arc<T, A>) -> bool

    Returns true if the two Arcs point to the same allocation in a vein similar to\nptr::eq. This function ignores the metadata of dyn Trait pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet same_five = Arc::clone(&five);\nlet other_five = Arc::new(5);\n\nassert!(Arc::ptr_eq(&five, &same_five));\nassert!(!Arc::ptr_eq(&five, &other_five));
    \n
    ",0,"massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, A> Arc<T, A>
    where\n T: CloneToUninit + ?Sized,\n A: Allocator + Clone,

    1.4.0 · source

    pub fn make_mut(this: &mut Arc<T, A>) -> &mut T

    Makes a mutable reference into the given Arc.

    \n

    If there are other Arc pointers to the same allocation, then make_mut will\nclone the inner value to a new allocation to ensure unique ownership. This is also\nreferred to as clone-on-write.

    \n

    However, if there are no other Arc pointers to this allocation, but some Weak\npointers, then the Weak pointers will be dissociated and the inner value will not\nbe cloned.

    \n

    See also get_mut, which will fail rather than cloning the inner value\nor dissociating Weak pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet mut data = Arc::new(5);\n\n*Arc::make_mut(&mut data) += 1;         // Won't clone anything\nlet mut other_data = Arc::clone(&data); // Won't clone inner data\n*Arc::make_mut(&mut data) += 1;         // Clones inner data\n*Arc::make_mut(&mut data) += 1;         // Won't clone anything\n*Arc::make_mut(&mut other_data) *= 2;   // Won't clone anything\n\n// Now `data` and `other_data` point to different allocations.\nassert_eq!(*data, 8);\nassert_eq!(*other_data, 12);
    \n

    Weak pointers will be dissociated:

    \n\n
    use std::sync::Arc;\n\nlet mut data = Arc::new(75);\nlet weak = Arc::downgrade(&data);\n\nassert!(75 == *data);\nassert!(75 == *weak.upgrade().unwrap());\n\n*Arc::make_mut(&mut data) += 1;\n\nassert!(76 == *data);\nassert!(weak.upgrade().is_none());
    \n
    ",0,"massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, A> Arc<T, A>
    where\n T: Clone,\n A: Allocator,

    1.76.0 · source

    pub fn unwrap_or_clone(this: Arc<T, A>) -> T

    If we have the only reference to T then unwrap it. Otherwise, clone T and return the\nclone.

    \n

    Assuming arc_t is of type Arc<T>, this function is functionally equivalent to\n(*arc_t).clone(), but will avoid cloning the inner value where possible.

    \n
    §Examples
    \n
    let inner = String::from(\"test\");\nlet ptr = inner.as_ptr();\n\nlet arc = Arc::new(inner);\nlet inner = Arc::unwrap_or_clone(arc);\n// The inner value was not cloned\nassert!(ptr::eq(ptr, inner.as_ptr()));\n\nlet arc = Arc::new(inner);\nlet arc2 = arc.clone();\nlet inner = Arc::unwrap_or_clone(arc);\n// Because there were 2 references, we had to clone the inner value.\nassert!(!ptr::eq(ptr, inner.as_ptr()));\n// `arc2` is the last reference, so when we unwrap it we get back\n// the original `String`.\nlet inner = Arc::unwrap_or_clone(arc2);\nassert!(ptr::eq(ptr, inner.as_ptr()));
    \n
    ",0,"massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    1.4.0 · source

    pub fn get_mut(this: &mut Arc<T, A>) -> Option<&mut T>

    Returns a mutable reference into the given Arc, if there are\nno other Arc or Weak pointers to the same allocation.

    \n

    Returns None otherwise, because it is not safe to\nmutate a shared value.

    \n

    See also make_mut, which will clone\nthe inner value when there are other Arc pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet mut x = Arc::new(3);\n*Arc::get_mut(&mut x).unwrap() = 4;\nassert_eq!(*x, 4);\n\nlet _y = Arc::clone(&x);\nassert!(Arc::get_mut(&mut x).is_none());
    \n
    source

    pub unsafe fn get_mut_unchecked(this: &mut Arc<T, A>) -> &mut T

    🔬This is a nightly-only experimental API. (get_mut_unchecked)

    Returns a mutable reference into the given Arc,\nwithout any check.

    \n

    See also get_mut, which is safe and does appropriate checks.

    \n
    §Safety
    \n

    If any other Arc or Weak pointers to the same allocation exist, then\nthey must not be dereferenced or have active borrows for the duration\nof the returned borrow, and their inner type must be exactly the same as the\ninner type of this Rc (including lifetimes). This is trivially the case if no\nsuch pointers exist, for example immediately after Arc::new.

    \n
    §Examples
    \n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut x = Arc::new(String::new());\nunsafe {\n    Arc::get_mut_unchecked(&mut x).push_str(\"foo\")\n}\nassert_eq!(*x, \"foo\");
    \n

    Other Arc pointers to the same allocation must be to the same type.

    \n\n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet x: Arc<str> = Arc::from(\"Hello, world!\");\nlet mut y: Arc<[u8]> = x.clone().into();\nunsafe {\n    // this is Undefined Behavior, because x's inner type is str, not [u8]\n    Arc::get_mut_unchecked(&mut y).fill(0xff); // 0xff is invalid in UTF-8\n}\nprintln!(\"{}\", &*x); // Invalid UTF-8 in a str
    \n

    Other Arc pointers to the same allocation must be to the exact same type, including lifetimes.

    \n\n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet x: Arc<&str> = Arc::new(\"Hello, world!\");\n{\n    let s = String::from(\"Oh, no!\");\n    let mut y: Arc<&str> = x.clone().into();\n    unsafe {\n        // this is Undefined Behavior, because x's inner type\n        // is &'long str, not &'short str\n        *Arc::get_mut_unchecked(&mut y) = &s;\n    }\n}\nprintln!(\"{}\", &*x); // Use-after-free
    \n
    ",0,"massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(data: T, alloc: A) -> Arc<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T> in the provided allocator.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents in the provided allocator.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(get_mut_unchecked)]\n#![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet mut five = Arc::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet zero = Arc::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn pin_in(data: T, alloc: A) -> Pin<Arc<T, A>>
    where\n A: 'static,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T, A>> in the provided allocator. If T does not implement Unpin,\nthen data will be pinned in memory and unable to be moved.

    \n
    source

    pub fn try_pin_in(data: T, alloc: A) -> Result<Pin<Arc<T, A>>, AllocError>
    where\n A: 'static,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T, A>> in the provided allocator, return an error if allocation\nfails.

    \n
    source

    pub fn try_new_in(data: T, alloc: A) -> Result<Arc<T, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T, A> in the provided allocator, returning an error if allocation fails.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::try_new_in(5, System)?;
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, in the provided allocator, returning an\nerror if allocation fails.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet mut five = Arc::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator, returning an error if allocation\nfails.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet zero = Arc::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    1.4.0 · source

    pub fn try_unwrap(this: Arc<T, A>) -> Result<T, Arc<T, A>>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n

    Otherwise, an Err is returned with the same Arc that was\npassed in.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    It is strongly recommended to use Arc::into_inner instead if you don’t\nkeep the Arc in the Err case.\nImmediately dropping the Err-value, as the expression\nArc::try_unwrap(this).ok() does, can cause the strong count to\ndrop to zero and the inner value of the Arc to be dropped.\nFor instance, if two threads execute such an expression in parallel,\nthere is a race condition without the possibility of unsafety:\nThe threads could first both check whether they own the last instance\nin Arc::try_unwrap, determine that they both do not, and then both\ndiscard and drop their instance in the call to ok.\nIn this scenario, the value inside the Arc is safely destroyed\nby exactly one of the threads, but neither thread will ever be able\nto use the value.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(3);\nassert_eq!(Arc::try_unwrap(x), Ok(3));\n\nlet x = Arc::new(4);\nlet _y = Arc::clone(&x);\nassert_eq!(*Arc::try_unwrap(x).unwrap_err(), 4);
    \n
    1.70.0 · source

    pub fn into_inner(this: Arc<T, A>) -> Option<T>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n

    Otherwise, None is returned and the Arc is dropped.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    If Arc::into_inner is called on every clone of this Arc,\nit is guaranteed that exactly one of the calls returns the inner value.\nThis means in particular that the inner value is not dropped.

    \n

    Arc::try_unwrap is conceptually similar to Arc::into_inner, but it\nis meant for different use-cases. If used as a direct replacement\nfor Arc::into_inner anyway, such as with the expression\nArc::try_unwrap(this).ok(), then it does\nnot give the same guarantee as described in the previous paragraph.\nFor more information, see the examples below and read the documentation\nof Arc::try_unwrap.

    \n
    §Examples
    \n

    Minimal example demonstrating the guarantee that Arc::into_inner gives.

    \n\n
    use std::sync::Arc;\n\nlet x = Arc::new(3);\nlet y = Arc::clone(&x);\n\n// Two threads calling `Arc::into_inner` on both clones of an `Arc`:\nlet x_thread = std::thread::spawn(|| Arc::into_inner(x));\nlet y_thread = std::thread::spawn(|| Arc::into_inner(y));\n\nlet x_inner_value = x_thread.join().unwrap();\nlet y_inner_value = y_thread.join().unwrap();\n\n// One of the threads is guaranteed to receive the inner value:\nassert!(matches!(\n    (x_inner_value, y_inner_value),\n    (None, Some(3)) | (Some(3), None)\n));\n// The result could also be `(None, None)` if the threads called\n// `Arc::try_unwrap(x).ok()` and `Arc::try_unwrap(y).ok()` instead.
    \n

    A more practical example demonstrating the need for Arc::into_inner:

    \n\n
    use std::sync::Arc;\n\n// Definition of a simple singly linked list using `Arc`:\n#[derive(Clone)]\nstruct LinkedList<T>(Option<Arc<Node<T>>>);\nstruct Node<T>(T, Option<Arc<Node<T>>>);\n\n// Dropping a long `LinkedList<T>` relying on the destructor of `Arc`\n// can cause a stack overflow. To prevent this, we can provide a\n// manual `Drop` implementation that does the destruction in a loop:\nimpl<T> Drop for LinkedList<T> {\n    fn drop(&mut self) {\n        let mut link = self.0.take();\n        while let Some(arc_node) = link.take() {\n            if let Some(Node(_value, next)) = Arc::into_inner(arc_node) {\n                link = next;\n            }\n        }\n    }\n}\n\n// Implementation of `new` and `push` omitted\nimpl<T> LinkedList<T> {\n    /* ... */\n}\n\n// The following code could have still caused a stack overflow\n// despite the manual `Drop` impl if that `Drop` impl had used\n// `Arc::try_unwrap(arc).ok()` instead of `Arc::into_inner(arc)`.\n\n// Create a long list and clone it\nlet mut x = LinkedList::new();\nlet size = 100000;\nfor i in 0..size {\n    x.push(i); // Adds i to the front of x\n}\nlet y = x.clone();\n\n// Drop the clones in parallel\nlet x_thread = std::thread::spawn(|| drop(x));\nlet y_thread = std::thread::spawn(|| drop(y));\nx_thread.join().unwrap();\ny_thread.join().unwrap();
    \n
    ",0,"massa_pos_worker::DrawCachePtr"],["
    1.64.0 · source§

    impl<T> AsFd for Arc<T>
    where\n T: AsFd + ?Sized,

    This impl allows implementing traits that require AsFd on Arc.

    \n\n
    use std::net::UdpSocket;\nuse std::sync::Arc;\n\ntrait MyTrait: AsFd {}\nimpl MyTrait for Arc<UdpSocket> {}\nimpl MyTrait for Box<UdpSocket> {}
    \n
    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","massa_pos_worker::DrawCachePtr"],["
    1.63.0 · source§

    impl<T> AsRawFd for Arc<T>
    where\n T: AsRawFd,

    This impl allows implementing traits that require AsRawFd on Arc.

    \n\n
    use std::net::UdpSocket;\nuse std::sync::Arc;\ntrait MyTrait: AsRawFd {\n}\nimpl MyTrait for Arc<UdpSocket> {}\nimpl MyTrait for Box<UdpSocket> {}
    \n
    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","massa_pos_worker::DrawCachePtr"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Borrow<T> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Clone for Arc<T, A>
    where\n A: Allocator + Clone,\n T: ?Sized,

    source§

    fn clone(&self) -> Arc<T, A>

    Makes a clone of the Arc pointer.

    \n

    This creates another pointer to the same allocation, increasing the\nstrong reference count.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nlet _ = Arc::clone(&five);
    \n
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Debug for Arc<T, A>
    where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T> Default for Arc<T>
    where\n T: Default,

    source§

    fn default() -> Arc<T>

    Creates a new Arc<T>, with the Default value for T.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x: Arc<i32> = Default::default();\nassert_eq!(*x, 0);
    \n
    ","Default","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Deref for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","massa_pos_worker::DrawCachePtr"],["
    source§

    impl<'de, T, U> DeserializeAs<'de, Arc<T>> for Arc<U>
    where\n U: DeserializeAs<'de, T>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Arc<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Arc>","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Display for Arc<T, A>
    where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Drop for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Drops the Arc.

    \n

    This will decrement the strong reference count. If the strong reference\ncount reaches zero then the only other references (if any) are\nWeak, so we drop the inner value.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nstruct Foo;\n\nimpl Drop for Foo {\n    fn drop(&mut self) {\n        println!(\"dropped!\");\n    }\n}\n\nlet foo  = Arc::new(Foo);\nlet foo2 = Arc::clone(&foo);\n\ndrop(foo);    // Doesn't print anything\ndrop(foo2);   // Prints \"dropped!\"
    \n
    ","Drop","massa_pos_worker::DrawCachePtr"],["
    1.52.0 · source§

    impl<T> Error for Arc<T>
    where\n T: Error + ?Sized,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'a>(&'a self, req: &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
    ","Error","massa_pos_worker::DrawCachePtr"],["
    1.21.0 · source§

    impl<T, A> From<Box<T, A>> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn from(v: Box<T, A>) -> Arc<T, A>

    Move a boxed object to a new, reference-counted allocation.

    \n
    §Example
    \n
    let unique: Box<str> = Box::from(\"eggplant\");\nlet shared: Arc<str> = Arc::from(unique);\nassert_eq!(\"eggplant\", &shared[..]);
    \n
    ","From>","massa_pos_worker::DrawCachePtr"],["
    1.45.0 · source§

    impl<'a, B> From<Cow<'a, B>> for Arc<B>
    where\n B: ToOwned + ?Sized,\n Arc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,

    source§

    fn from(cow: Cow<'a, B>) -> Arc<B>

    Create an atomically reference-counted pointer from\na clone-on-write pointer by copying its content.

    \n
    §Example
    \n
    let cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\nlet shared: Arc<str> = Arc::from(cow);\nassert_eq!(\"eggplant\", &shared[..]);
    \n
    ","From>","massa_pos_worker::DrawCachePtr"],["
    1.6.0 · source§

    impl<T> From<T> for Arc<T>

    source§

    fn from(t: T) -> Arc<T>

    Converts a T into an Arc<T>

    \n

    The conversion moves the value into a\nnewly allocated Arc. It is equivalent to\ncalling Arc::new(t).

    \n
    §Example
    \n
    let x = 5;\nlet arc = Arc::new(5);\n\nassert_eq!(Arc::from(x), arc);
    \n
    ","From","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Hash for Arc<T, A>
    where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_pos_worker::DrawCachePtr"],["
    §

    impl<Sp> LocalSpawn for Arc<Sp>
    where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>,\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T> Log for Arc<T>
    where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records. Read more
    ","Log","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Ord for Arc<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Arc<T, A>) -> Ordering

    Comparison for two Arcs.

    \n

    The two are compared by calling cmp() on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\nuse std::cmp::Ordering;\n\nlet five = Arc::new(5);\n\nassert_eq!(Ordering::Less, five.cmp(&Arc::new(6)));
    \n
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Arc<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Arc<T, A>) -> bool

    Equality for two Arcs.

    \n

    Two Arcs are equal if their inner values are equal, even if they are\nstored in different allocation.

    \n

    If T also implements Eq (implying reflexivity of equality),\ntwo Arcs that point to the same allocation are always equal.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five == Arc::new(5));
    \n
    source§

    fn ne(&self, other: &Arc<T, A>) -> bool

    Inequality for two Arcs.

    \n

    Two Arcs are not equal if their inner values are not equal.

    \n

    If T also implements Eq (implying reflexivity of equality),\ntwo Arcs that point to the same value are always equal.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five != Arc::new(6));
    \n
    ","PartialEq","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Arc<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Arc<T, A>) -> Option<Ordering>

    Partial comparison for two Arcs.

    \n

    The two are compared by calling partial_cmp() on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\nuse std::cmp::Ordering;\n\nlet five = Arc::new(5);\n\nassert_eq!(Some(Ordering::Less), five.partial_cmp(&Arc::new(6)));
    \n
    source§

    fn lt(&self, other: &Arc<T, A>) -> bool

    Less-than comparison for two Arcs.

    \n

    The two are compared by calling < on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five < Arc::new(6));
    \n
    source§

    fn le(&self, other: &Arc<T, A>) -> bool

    ‘Less than or equal to’ comparison for two Arcs.

    \n

    The two are compared by calling <= on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five <= Arc::new(5));
    \n
    source§

    fn gt(&self, other: &Arc<T, A>) -> bool

    Greater-than comparison for two Arcs.

    \n

    The two are compared by calling > on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five > Arc::new(4));
    \n
    source§

    fn ge(&self, other: &Arc<T, A>) -> bool

    ‘Greater than or equal to’ comparison for two Arcs.

    \n

    The two are compared by calling >= on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five >= Arc::new(5));
    \n
    ","PartialOrd","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Pointer for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Pointer","massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, U> SerializeAs<Arc<T>> for Arc<U>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &Arc<T>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_pos_worker::DrawCachePtr"],["
    §

    impl<Request, S> Service<Request> for Arc<S>
    where\n S: Service<Request> + ?Sized,

    §

    type Response = <S as Service<Request>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Request>>::Error

    Errors produced by the service. Read more
    §

    type Future = <S as Service<Request>>::Future

    The future response value.
    §

    fn call(&self, req: Request) -> <Arc<S> as Service<Request>>::Future

    Process the request and return the response asynchronously.\ncall takes &self instead of mut &self because: Read more
    ","Service","massa_pos_worker::DrawCachePtr"],["
    §

    impl<Sp> Spawn for Arc<Sp>
    where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","massa_pos_worker::DrawCachePtr"],["
    §

    impl<S> Subscriber for Arc<S>
    where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, U, A> CoerceUnsized<Arc<U, A>> for Arc<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, A> DerefPure for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","DerefPure","massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, U> DispatchFromDyn<Arc<U>> for Arc<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Eq for Arc<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Send for Arc<T, A>
    where\n T: Sync + Send + ?Sized,\n A: Allocator + Send,

    ","Send","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Sync for Arc<T, A>
    where\n T: Sync + Send + ?Sized,\n A: Allocator + Sync,

    ","Sync","massa_pos_worker::DrawCachePtr"],["
    1.33.0 · source§

    impl<T, A> Unpin for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","Unpin","massa_pos_worker::DrawCachePtr"],["
    1.9.0 · source§

    impl<T, A> UnwindSafe for Arc<T, A>
    where\n T: RefUnwindSafe + ?Sized,\n A: Allocator + UnwindSafe,

    ","UnwindSafe","massa_pos_worker::DrawCachePtr"]], -"massa_protocol_worker":[["
    §

    impl<T> AnyProvider for Arc<T>
    where\n T: AnyProvider + ?Sized,

    §

    fn load_any(\n &self,\n key: DataKey,\n req: DataRequest<'_>,\n) -> Result<AnyResponse, DataError>

    Loads an [AnyPayload] according to the key and request.
    ","AnyProvider","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T> Arc<T>
    where\n T: ?Sized,

    1.17.0 · source

    pub unsafe fn from_raw(ptr: *const T) -> Arc<T>

    Constructs an Arc<T> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to\nArc<U>::into_raw with the following requirements:

    \n
      \n
    • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
    • \n
    • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Arc<U> was constructed\nthrough Arc<T> and then converted to Arc<U> through an unsized\ncoercion.
    • \n
    \n

    Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

    \n

    The user of from_raw has to make sure a specific value of T is only\ndropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Arc<T> is never accessed.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet x_ptr = Arc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Arc` to prevent leak.\n    let x = Arc::from_raw(x_ptr);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Arc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
    \n

    Convert a slice back into its original array:

    \n\n
    use std::sync::Arc;\n\nlet x: Arc<[u32]> = Arc::new([1, 2, 3]);\nlet x_ptr: *const [u32] = Arc::into_raw(x);\n\nunsafe {\n    let x: Arc<[u32; 3]> = Arc::from_raw(x_ptr.cast::<[u32; 3]>());\n    assert_eq!(&*x, &[1, 2, 3]);\n}
    \n
    1.51.0 · source

    pub unsafe fn increment_strong_count(ptr: *const T)

    Increments the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count(ptr);\n\n    // This assertion is deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw(ptr);\n    assert_eq!(2, Arc::strong_count(&five));\n}
    \n
    1.51.0 · source

    pub unsafe fn decrement_strong_count(ptr: *const T)

    Decrements the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method. This method can be used to release the final\nArc and backing storage, but should not be called after the final Arc has been\nreleased.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count(ptr);\n\n    // Those assertions are deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw(ptr);\n    assert_eq!(2, Arc::strong_count(&five));\n    Arc::decrement_strong_count(ptr);\n    assert_eq!(1, Arc::strong_count(&five));\n}
    \n
    ",0,"massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T> Arc<T>

    1.0.0 · source

    pub fn new(data: T) -> Arc<T>

    Constructs a new Arc<T>.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);
    \n
    1.60.0 · source

    pub fn new_cyclic<F>(data_fn: F) -> Arc<T>
    where\n F: FnOnce(&Weak<T>) -> T,

    Constructs a new Arc<T> while giving you a Weak<T> to the allocation,\nto allow you to construct a T which holds a weak pointer to itself.

    \n

    Generally, a structure circularly referencing itself, either directly or\nindirectly, should not hold a strong reference to itself to prevent a memory leak.\nUsing this function, you get access to the weak pointer during the\ninitialization of T, before the Arc<T> is created, such that you can\nclone and store it inside the T.

    \n

    new_cyclic first allocates the managed allocation for the Arc<T>,\nthen calls your closure, giving it a Weak<T> to this allocation,\nand only afterwards completes the construction of the Arc<T> by placing\nthe T returned from your closure into the allocation.

    \n

    Since the new Arc<T> is not fully-constructed until Arc<T>::new_cyclic\nreturns, calling upgrade on the weak reference inside your closure will\nfail and result in a None value.

    \n
    §Panics
    \n

    If data_fn panics, the panic is propagated to the caller, and the\ntemporary Weak<T> is dropped normally.

    \n
    §Example
    \n
    use std::sync::{Arc, Weak};\n\nstruct Gadget {\n    me: Weak<Gadget>,\n}\n\nimpl Gadget {\n    /// Construct a reference counted Gadget.\n    fn new() -> Arc<Self> {\n        // `me` is a `Weak<Gadget>` pointing at the new allocation of the\n        // `Arc` we're constructing.\n        Arc::new_cyclic(|me| {\n            // Create the actual struct here.\n            Gadget { me: me.clone() }\n        })\n    }\n\n    /// Return a reference counted pointer to Self.\n    fn me(&self) -> Arc<Self> {\n        self.me.upgrade().unwrap()\n    }\n}
    \n
    source

    pub fn new_uninit() -> Arc<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Arc with uninitialized contents.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut five = Arc::<u32>::new_uninit();\n\n// Deferred initialization:\nArc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Arc<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nuse std::sync::Arc;\n\nlet zero = Arc::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(data: T) -> Pin<Arc<T>>

    Constructs a new Pin<Arc<T>>. If T does not implement Unpin, then\ndata will be pinned in memory and unable to be moved.

    \n
    source

    pub fn try_pin(data: T) -> Result<Pin<Arc<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T>>, return an error if allocation fails.

    \n
    source

    pub fn try_new(data: T) -> Result<Arc<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T>, returning an error if allocation fails.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\nuse std::sync::Arc;\n\nlet five = Arc::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Arc<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, returning an error\nif allocation fails.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut five = Arc::<u32>::try_new_uninit()?;\n\n// Deferred initialization:\nArc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Arc<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, returning an error if allocation fails.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n\nuse std::sync::Arc;\n\nlet zero = Arc::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source

    pub fn allocator(this: &Arc<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Arc::allocator(&a) instead of a.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.17.0 · source

    pub fn into_raw(this: Arc<T, A>) -> *const T

    Consumes the Arc, returning the wrapped pointer.

    \n

    To avoid a memory leak the pointer must be converted back to an Arc using\nArc::from_raw.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet x_ptr = Arc::into_raw(x);\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
    \n
    source

    pub fn into_raw_with_allocator(this: Arc<T, A>) -> (*const T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Arc, returning the wrapped pointer and allocator.

    \n

    To avoid a memory leak the pointer must be converted back to an Arc using\nArc::from_raw_in.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x = Arc::new_in(\"hello\".to_owned(), System);\nlet (ptr, alloc) = Arc::into_raw_with_allocator(x);\nassert_eq!(unsafe { &*ptr }, \"hello\");\nlet x = unsafe { Arc::from_raw_in(ptr, alloc) };\nassert_eq!(&*x, \"hello\");
    \n
    1.45.0 · source

    pub fn as_ptr(this: &Arc<T, A>) -> *const T

    Provides a raw pointer to the data.

    \n

    The counts are not affected in any way and the Arc is not consumed. The pointer is valid for\nas long as there are strong counts in the Arc.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet y = Arc::clone(&x);\nlet x_ptr = Arc::as_ptr(&x);\nassert_eq!(x_ptr, Arc::as_ptr(&y));\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
    \n
    source

    pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Arc<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs an Arc<T, A> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to Arc<U, A>::into_raw with the following requirements:

    \n
      \n
    • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
    • \n
    • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Arc<U> was constructed\nthrough Arc<T> and then converted to Arc<U> through an unsized\ncoercion.
    • \n
    \n

    Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

    \n

    The raw pointer must point to a block of memory allocated by alloc

    \n

    The user of from_raw has to make sure a specific value of T is only\ndropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Arc<T> is never accessed.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x = Arc::new_in(\"hello\".to_owned(), System);\nlet x_ptr = Arc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Arc` to prevent leak.\n    let x = Arc::from_raw_in(x_ptr, System);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Arc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
    \n

    Convert a slice back into its original array:

    \n\n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x: Arc<[u32], _> = Arc::new_in([1, 2, 3], System);\nlet x_ptr: *const [u32] = Arc::into_raw(x);\n\nunsafe {\n    let x: Arc<[u32; 3], _> = Arc::from_raw_in(x_ptr.cast::<[u32; 3]>(), System);\n    assert_eq!(&*x, &[1, 2, 3]);\n}
    \n
    1.4.0 · source

    pub fn downgrade(this: &Arc<T, A>) -> Weak<T, A>
    where\n A: Clone,

    Creates a new Weak pointer to this allocation.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nlet weak_five = Arc::downgrade(&five);
    \n
    1.15.0 · source

    pub fn weak_count(this: &Arc<T, A>) -> usize

    Gets the number of Weak pointers to this allocation.

    \n
    §Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\nAnother thread can change the weak count at any time,\nincluding potentially between calling this method and acting on the result.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet _weak_five = Arc::downgrade(&five);\n\n// This assertion is deterministic because we haven't shared\n// the `Arc` or `Weak` between threads.\nassert_eq!(1, Arc::weak_count(&five));
    \n
    1.15.0 · source

    pub fn strong_count(this: &Arc<T, A>) -> usize

    Gets the number of strong (Arc) pointers to this allocation.

    \n
    §Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\nAnother thread can change the strong count at any time,\nincluding potentially between calling this method and acting on the result.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet _also_five = Arc::clone(&five);\n\n// This assertion is deterministic because we haven't shared\n// the `Arc` between threads.\nassert_eq!(2, Arc::strong_count(&five));
    \n
    source

    pub unsafe fn increment_strong_count_in(ptr: *const T, alloc: A)
    where\n A: Clone,

    🔬This is a nightly-only experimental API. (allocator_api)

    Increments the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method,, and ptr must point to a block of memory\nallocated by alloc.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count_in(ptr, System);\n\n    // This assertion is deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw_in(ptr, System);\n    assert_eq!(2, Arc::strong_count(&five));\n}
    \n
    source

    pub unsafe fn decrement_strong_count_in(ptr: *const T, alloc: A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Decrements the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method, and ptr must point to a block of memory\nallocated by alloc. This method can be used to release the final\nArc and backing storage, but should not be called after the final Arc has been\nreleased.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count_in(ptr, System);\n\n    // Those assertions are deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw_in(ptr, System);\n    assert_eq!(2, Arc::strong_count(&five));\n    Arc::decrement_strong_count_in(ptr, System);\n    assert_eq!(1, Arc::strong_count(&five));\n}
    \n
    1.17.0 · source

    pub fn ptr_eq(this: &Arc<T, A>, other: &Arc<T, A>) -> bool

    Returns true if the two Arcs point to the same allocation in a vein similar to\nptr::eq. This function ignores the metadata of dyn Trait pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet same_five = Arc::clone(&five);\nlet other_five = Arc::new(5);\n\nassert!(Arc::ptr_eq(&five, &same_five));\nassert!(!Arc::ptr_eq(&five, &other_five));
    \n
    ",0,"massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, A> Arc<T, A>
    where\n T: CloneToUninit + ?Sized,\n A: Allocator + Clone,

    1.4.0 · source

    pub fn make_mut(this: &mut Arc<T, A>) -> &mut T

    Makes a mutable reference into the given Arc.

    \n

    If there are other Arc pointers to the same allocation, then make_mut will\nclone the inner value to a new allocation to ensure unique ownership. This is also\nreferred to as clone-on-write.

    \n

    However, if there are no other Arc pointers to this allocation, but some Weak\npointers, then the Weak pointers will be dissociated and the inner value will not\nbe cloned.

    \n

    See also get_mut, which will fail rather than cloning the inner value\nor dissociating Weak pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet mut data = Arc::new(5);\n\n*Arc::make_mut(&mut data) += 1;         // Won't clone anything\nlet mut other_data = Arc::clone(&data); // Won't clone inner data\n*Arc::make_mut(&mut data) += 1;         // Clones inner data\n*Arc::make_mut(&mut data) += 1;         // Won't clone anything\n*Arc::make_mut(&mut other_data) *= 2;   // Won't clone anything\n\n// Now `data` and `other_data` point to different allocations.\nassert_eq!(*data, 8);\nassert_eq!(*other_data, 12);
    \n

    Weak pointers will be dissociated:

    \n\n
    use std::sync::Arc;\n\nlet mut data = Arc::new(75);\nlet weak = Arc::downgrade(&data);\n\nassert!(75 == *data);\nassert!(75 == *weak.upgrade().unwrap());\n\n*Arc::make_mut(&mut data) += 1;\n\nassert!(76 == *data);\nassert!(weak.upgrade().is_none());
    \n
    ",0,"massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, A> Arc<T, A>
    where\n T: Clone,\n A: Allocator,

    1.76.0 · source

    pub fn unwrap_or_clone(this: Arc<T, A>) -> T

    If we have the only reference to T then unwrap it. Otherwise, clone T and return the\nclone.

    \n

    Assuming arc_t is of type Arc<T>, this function is functionally equivalent to\n(*arc_t).clone(), but will avoid cloning the inner value where possible.

    \n
    §Examples
    \n
    let inner = String::from(\"test\");\nlet ptr = inner.as_ptr();\n\nlet arc = Arc::new(inner);\nlet inner = Arc::unwrap_or_clone(arc);\n// The inner value was not cloned\nassert!(ptr::eq(ptr, inner.as_ptr()));\n\nlet arc = Arc::new(inner);\nlet arc2 = arc.clone();\nlet inner = Arc::unwrap_or_clone(arc);\n// Because there were 2 references, we had to clone the inner value.\nassert!(!ptr::eq(ptr, inner.as_ptr()));\n// `arc2` is the last reference, so when we unwrap it we get back\n// the original `String`.\nlet inner = Arc::unwrap_or_clone(arc2);\nassert!(ptr::eq(ptr, inner.as_ptr()));
    \n
    ",0,"massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    1.4.0 · source

    pub fn get_mut(this: &mut Arc<T, A>) -> Option<&mut T>

    Returns a mutable reference into the given Arc, if there are\nno other Arc or Weak pointers to the same allocation.

    \n

    Returns None otherwise, because it is not safe to\nmutate a shared value.

    \n

    See also make_mut, which will clone\nthe inner value when there are other Arc pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet mut x = Arc::new(3);\n*Arc::get_mut(&mut x).unwrap() = 4;\nassert_eq!(*x, 4);\n\nlet _y = Arc::clone(&x);\nassert!(Arc::get_mut(&mut x).is_none());
    \n
    source

    pub unsafe fn get_mut_unchecked(this: &mut Arc<T, A>) -> &mut T

    🔬This is a nightly-only experimental API. (get_mut_unchecked)

    Returns a mutable reference into the given Arc,\nwithout any check.

    \n

    See also get_mut, which is safe and does appropriate checks.

    \n
    §Safety
    \n

    If any other Arc or Weak pointers to the same allocation exist, then\nthey must not be dereferenced or have active borrows for the duration\nof the returned borrow, and their inner type must be exactly the same as the\ninner type of this Rc (including lifetimes). This is trivially the case if no\nsuch pointers exist, for example immediately after Arc::new.

    \n
    §Examples
    \n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut x = Arc::new(String::new());\nunsafe {\n    Arc::get_mut_unchecked(&mut x).push_str(\"foo\")\n}\nassert_eq!(*x, \"foo\");
    \n

    Other Arc pointers to the same allocation must be to the same type.

    \n\n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet x: Arc<str> = Arc::from(\"Hello, world!\");\nlet mut y: Arc<[u8]> = x.clone().into();\nunsafe {\n    // this is Undefined Behavior, because x's inner type is str, not [u8]\n    Arc::get_mut_unchecked(&mut y).fill(0xff); // 0xff is invalid in UTF-8\n}\nprintln!(\"{}\", &*x); // Invalid UTF-8 in a str
    \n

    Other Arc pointers to the same allocation must be to the exact same type, including lifetimes.

    \n\n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet x: Arc<&str> = Arc::new(\"Hello, world!\");\n{\n    let s = String::from(\"Oh, no!\");\n    let mut y: Arc<&str> = x.clone().into();\n    unsafe {\n        // this is Undefined Behavior, because x's inner type\n        // is &'long str, not &'short str\n        *Arc::get_mut_unchecked(&mut y) = &s;\n    }\n}\nprintln!(\"{}\", &*x); // Use-after-free
    \n
    ",0,"massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(data: T, alloc: A) -> Arc<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T> in the provided allocator.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents in the provided allocator.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(get_mut_unchecked)]\n#![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet mut five = Arc::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet zero = Arc::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn pin_in(data: T, alloc: A) -> Pin<Arc<T, A>>
    where\n A: 'static,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T, A>> in the provided allocator. If T does not implement Unpin,\nthen data will be pinned in memory and unable to be moved.

    \n
    source

    pub fn try_pin_in(data: T, alloc: A) -> Result<Pin<Arc<T, A>>, AllocError>
    where\n A: 'static,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T, A>> in the provided allocator, return an error if allocation\nfails.

    \n
    source

    pub fn try_new_in(data: T, alloc: A) -> Result<Arc<T, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T, A> in the provided allocator, returning an error if allocation fails.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::try_new_in(5, System)?;
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, in the provided allocator, returning an\nerror if allocation fails.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet mut five = Arc::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator, returning an error if allocation\nfails.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet zero = Arc::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    1.4.0 · source

    pub fn try_unwrap(this: Arc<T, A>) -> Result<T, Arc<T, A>>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n

    Otherwise, an Err is returned with the same Arc that was\npassed in.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    It is strongly recommended to use Arc::into_inner instead if you don’t\nkeep the Arc in the Err case.\nImmediately dropping the Err-value, as the expression\nArc::try_unwrap(this).ok() does, can cause the strong count to\ndrop to zero and the inner value of the Arc to be dropped.\nFor instance, if two threads execute such an expression in parallel,\nthere is a race condition without the possibility of unsafety:\nThe threads could first both check whether they own the last instance\nin Arc::try_unwrap, determine that they both do not, and then both\ndiscard and drop their instance in the call to ok.\nIn this scenario, the value inside the Arc is safely destroyed\nby exactly one of the threads, but neither thread will ever be able\nto use the value.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(3);\nassert_eq!(Arc::try_unwrap(x), Ok(3));\n\nlet x = Arc::new(4);\nlet _y = Arc::clone(&x);\nassert_eq!(*Arc::try_unwrap(x).unwrap_err(), 4);
    \n
    1.70.0 · source

    pub fn into_inner(this: Arc<T, A>) -> Option<T>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n

    Otherwise, None is returned and the Arc is dropped.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    If Arc::into_inner is called on every clone of this Arc,\nit is guaranteed that exactly one of the calls returns the inner value.\nThis means in particular that the inner value is not dropped.

    \n

    Arc::try_unwrap is conceptually similar to Arc::into_inner, but it\nis meant for different use-cases. If used as a direct replacement\nfor Arc::into_inner anyway, such as with the expression\nArc::try_unwrap(this).ok(), then it does\nnot give the same guarantee as described in the previous paragraph.\nFor more information, see the examples below and read the documentation\nof Arc::try_unwrap.

    \n
    §Examples
    \n

    Minimal example demonstrating the guarantee that Arc::into_inner gives.

    \n\n
    use std::sync::Arc;\n\nlet x = Arc::new(3);\nlet y = Arc::clone(&x);\n\n// Two threads calling `Arc::into_inner` on both clones of an `Arc`:\nlet x_thread = std::thread::spawn(|| Arc::into_inner(x));\nlet y_thread = std::thread::spawn(|| Arc::into_inner(y));\n\nlet x_inner_value = x_thread.join().unwrap();\nlet y_inner_value = y_thread.join().unwrap();\n\n// One of the threads is guaranteed to receive the inner value:\nassert!(matches!(\n    (x_inner_value, y_inner_value),\n    (None, Some(3)) | (Some(3), None)\n));\n// The result could also be `(None, None)` if the threads called\n// `Arc::try_unwrap(x).ok()` and `Arc::try_unwrap(y).ok()` instead.
    \n

    A more practical example demonstrating the need for Arc::into_inner:

    \n\n
    use std::sync::Arc;\n\n// Definition of a simple singly linked list using `Arc`:\n#[derive(Clone)]\nstruct LinkedList<T>(Option<Arc<Node<T>>>);\nstruct Node<T>(T, Option<Arc<Node<T>>>);\n\n// Dropping a long `LinkedList<T>` relying on the destructor of `Arc`\n// can cause a stack overflow. To prevent this, we can provide a\n// manual `Drop` implementation that does the destruction in a loop:\nimpl<T> Drop for LinkedList<T> {\n    fn drop(&mut self) {\n        let mut link = self.0.take();\n        while let Some(arc_node) = link.take() {\n            if let Some(Node(_value, next)) = Arc::into_inner(arc_node) {\n                link = next;\n            }\n        }\n    }\n}\n\n// Implementation of `new` and `push` omitted\nimpl<T> LinkedList<T> {\n    /* ... */\n}\n\n// The following code could have still caused a stack overflow\n// despite the manual `Drop` impl if that `Drop` impl had used\n// `Arc::try_unwrap(arc).ok()` instead of `Arc::into_inner(arc)`.\n\n// Create a long list and clone it\nlet mut x = LinkedList::new();\nlet size = 100000;\nfor i in 0..size {\n    x.push(i); // Adds i to the front of x\n}\nlet y = x.clone();\n\n// Drop the clones in parallel\nlet x_thread = std::thread::spawn(|| drop(x));\nlet y_thread = std::thread::spawn(|| drop(y));\nx_thread.join().unwrap();\ny_thread.join().unwrap();
    \n
    ",0,"massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> Archive for Arc<T>
    where\n T: ArchiveUnsized + ?Sized,

    §

    type Archived = ArchivedRc<<T as ArchiveUnsized>::Archived, ArcFlavor>

    The archived representation of this type. Read more
    §

    type Resolver = RcResolver<<T as ArchiveUnsized>::MetadataResolver>

    The resolver for this type. It must contain all the additional information from serializing\nneeded to make the archived type from the normal type.
    §

    unsafe fn resolve(\n &self,\n pos: usize,\n resolver: <Arc<T> as Archive>::Resolver,\n out: *mut <Arc<T> as Archive>::Archived,\n)

    Creates the archived version of this value at the given position and writes it to the given\noutput. Read more
    ","Archive","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.64.0 · source§

    impl<T> AsFd for Arc<T>
    where\n T: AsFd + ?Sized,

    This impl allows implementing traits that require AsFd on Arc.

    \n\n
    use std::net::UdpSocket;\nuse std::sync::Arc;\n\ntrait MyTrait: AsFd {}\nimpl MyTrait for Arc<UdpSocket> {}\nimpl MyTrait for Box<UdpSocket> {}
    \n
    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.63.0 · source§

    impl<T> AsRawFd for Arc<T>
    where\n T: AsRawFd,

    This impl allows implementing traits that require AsRawFd on Arc.

    \n\n
    use std::net::UdpSocket;\nuse std::sync::Arc;\ntrait MyTrait: AsRawFd {\n}\nimpl MyTrait for Arc<UdpSocket> {}\nimpl MyTrait for Box<UdpSocket> {}
    \n
    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Borrow<T> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<M, P> BoundDataProvider<M> for Arc<P>
    where\n M: DataMarker,\n P: BoundDataProvider<M> + ?Sized,

    §

    fn load_bound(&self, req: DataRequest<'_>) -> Result<DataResponse<M>, DataError>

    Query the provider for data, returning the result. Read more
    §

    fn bound_key(&self) -> DataKey

    Returns the [DataKey] that this provider uses for loading data.
    ","BoundDataProvider","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> BufferProvider for Arc<T>
    where\n T: BufferProvider + ?Sized,

    §

    fn load_buffer(\n &self,\n key: DataKey,\n req: DataRequest<'_>,\n) -> Result<DataResponse<BufferMarker>, DataError>

    Loads a [DataPayload]<[BufferMarker]> according to the key and request.
    ","BufferProvider","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Clone for Arc<T, A>
    where\n A: Allocator + Clone,\n T: ?Sized,

    source§

    fn clone(&self) -> Arc<T, A>

    Makes a clone of the Arc pointer.

    \n

    This creates another pointer to the same allocation, increasing the\nstrong reference count.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nlet _ = Arc::clone(&five);
    \n
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<M, P> DataProvider<M> for Arc<P>
    where\n M: KeyedDataMarker,\n P: DataProvider<M> + ?Sized,

    §

    fn load(&self, req: DataRequest<'_>) -> Result<DataResponse<M>, DataError>

    Query the provider for data, returning the result. Read more
    ","DataProvider","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Debug for Arc<T, A>
    where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T> Default for Arc<T>
    where\n T: Default,

    source§

    fn default() -> Arc<T>

    Creates a new Arc<T>, with the Default value for T.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x: Arc<i32> = Default::default();\nassert_eq!(*x, 0);
    \n
    ","Default","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Deref for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<'de, T, U> DeserializeAs<'de, Arc<T>> for Arc<U>
    where\n U: DeserializeAs<'de, T>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Arc<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Arc>","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Display for Arc<T, A>
    where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Drop for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Drops the Arc.

    \n

    This will decrement the strong reference count. If the strong reference\ncount reaches zero then the only other references (if any) are\nWeak, so we drop the inner value.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nstruct Foo;\n\nimpl Drop for Foo {\n    fn drop(&mut self) {\n        println!(\"dropped!\");\n    }\n}\n\nlet foo  = Arc::new(Foo);\nlet foo2 = Arc::clone(&foo);\n\ndrop(foo);    // Doesn't print anything\ndrop(foo2);   // Prints \"dropped!\"
    \n
    ","Drop","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<M, P> DynamicDataProvider<M> for Arc<P>
    where\n M: DataMarker,\n P: DynamicDataProvider<M> + ?Sized,

    §

    fn load_data(\n &self,\n key: DataKey,\n req: DataRequest<'_>,\n) -> Result<DataResponse<M>, DataError>

    Query the provider for data, returning the result. Read more
    ","DynamicDataProvider","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.52.0 · source§

    impl<T> Error for Arc<T>
    where\n T: Error + ?Sized,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'a>(&'a self, req: &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
    ","Error","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.21.0 · source§

    impl<T, A> From<Box<T, A>> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn from(v: Box<T, A>) -> Arc<T, A>

    Move a boxed object to a new, reference-counted allocation.

    \n
    §Example
    \n
    let unique: Box<str> = Box::from(\"eggplant\");\nlet shared: Arc<str> = Arc::from(unique);\nassert_eq!(\"eggplant\", &shared[..]);
    \n
    ","From>","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.45.0 · source§

    impl<'a, B> From<Cow<'a, B>> for Arc<B>
    where\n B: ToOwned + ?Sized,\n Arc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,

    source§

    fn from(cow: Cow<'a, B>) -> Arc<B>

    Create an atomically reference-counted pointer from\na clone-on-write pointer by copying its content.

    \n
    §Example
    \n
    let cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\nlet shared: Arc<str> = Arc::from(cow);\nassert_eq!(\"eggplant\", &shared[..]);
    \n
    ","From>","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.6.0 · source§

    impl<T> From<T> for Arc<T>

    source§

    fn from(t: T) -> Arc<T>

    Converts a T into an Arc<T>

    \n

    The conversion moves the value into a\nnewly allocated Arc. It is equivalent to\ncalling Arc::new(t).

    \n
    §Example
    \n
    let x = 5;\nlet arc = Arc::new(5);\n\nassert_eq!(Arc::from(x), arc);
    \n
    ","From","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Hash for Arc<T, A>
    where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> JsonSchema for Arc<T>
    where\n T: JsonSchema + ?Sized,

    §

    fn is_referenceable() -> bool

    Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
    §

    fn schema_name() -> String

    The name of the generated JSON Schema. Read more
    §

    fn schema_id() -> Cow<'static, str>

    Returns a string that uniquely identifies the schema produced by this type. Read more
    §

    fn json_schema(gen: &mut SchemaGenerator) -> Schema

    Generates a JSON Schema for this type. Read more
    ","JsonSchema","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<Sp> LocalSpawn for Arc<Sp>
    where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>,\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T> Log for Arc<T>
    where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records. Read more
    ","Log","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Ord for Arc<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Arc<T, A>) -> Ordering

    Comparison for two Arcs.

    \n

    The two are compared by calling cmp() on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\nuse std::cmp::Ordering;\n\nlet five = Arc::new(5);\n\nassert_eq!(Ordering::Less, five.cmp(&Arc::new(6)));
    \n
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Arc<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Arc<T, A>) -> bool

    Equality for two Arcs.

    \n

    Two Arcs are equal if their inner values are equal, even if they are\nstored in different allocation.

    \n

    If T also implements Eq (implying reflexivity of equality),\ntwo Arcs that point to the same allocation are always equal.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five == Arc::new(5));
    \n
    source§

    fn ne(&self, other: &Arc<T, A>) -> bool

    Inequality for two Arcs.

    \n

    Two Arcs are not equal if their inner values are not equal.

    \n

    If T also implements Eq (implying reflexivity of equality),\ntwo Arcs that point to the same value are always equal.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five != Arc::new(6));
    \n
    ","PartialEq","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Arc<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Arc<T, A>) -> Option<Ordering>

    Partial comparison for two Arcs.

    \n

    The two are compared by calling partial_cmp() on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\nuse std::cmp::Ordering;\n\nlet five = Arc::new(5);\n\nassert_eq!(Some(Ordering::Less), five.partial_cmp(&Arc::new(6)));
    \n
    source§

    fn lt(&self, other: &Arc<T, A>) -> bool

    Less-than comparison for two Arcs.

    \n

    The two are compared by calling < on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five < Arc::new(6));
    \n
    source§

    fn le(&self, other: &Arc<T, A>) -> bool

    ‘Less than or equal to’ comparison for two Arcs.

    \n

    The two are compared by calling <= on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five <= Arc::new(5));
    \n
    source§

    fn gt(&self, other: &Arc<T, A>) -> bool

    Greater-than comparison for two Arcs.

    \n

    The two are compared by calling > on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five > Arc::new(4));
    \n
    source§

    fn ge(&self, other: &Arc<T, A>) -> bool

    ‘Greater than or equal to’ comparison for two Arcs.

    \n

    The two are compared by calling >= on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five >= Arc::new(5));
    \n
    ","PartialOrd","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Pointer for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Pointer","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T, S> Serialize<S> for Arc<T>
    where\n T: SerializeUnsized<S> + 'static + ?Sized,\n S: Serializer + SharedSerializeRegistry + ?Sized,

    §

    fn serialize(\n &self,\n serializer: &mut S,\n) -> Result<<Arc<T> as Archive>::Resolver, <S as Fallible>::Error>

    Writes the dependencies for the object and returns a resolver that can create the archived\ntype.
    ","Serialize","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, U> SerializeAs<Arc<T>> for Arc<U>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &Arc<T>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<Request, S> Service<Request> for Arc<S>
    where\n S: Service<Request> + ?Sized,

    §

    type Response = <S as Service<Request>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Request>>::Error

    Errors produced by the service. Read more
    §

    type Future = <S as Service<Request>>::Future

    The future response value.
    §

    fn call(&self, req: Request) -> <Arc<S> as Service<Request>>::Future

    Process the request and return the response asynchronously.\ncall takes &self instead of mut &self because: Read more
    ","Service","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> SharedPointer for Arc<T>
    where\n T: ?Sized,

    §

    fn data_address(&self) -> *const ()

    Returns the data address for this shared pointer.
    ","SharedPointer","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<Sp> Spawn for Arc<Sp>
    where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<S> Subscriber for Arc<S>
    where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> ToPathSegments for Arc<T>
    where\n T: ToPathSegments + ?Sized,

    §

    fn to_path_segments(&self) -> Result<PathSegments, PathSegmentError>

    Convert to [PathSegments].
    ","ToPathSegments","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> WasmModuleResources for Arc<T>
    where\n T: WasmModuleResources,

    §

    fn table_at(&self, at: u32) -> Option<TableType>

    Returns the table at given index if any. Read more
    §

    fn memory_at(&self, at: u32) -> Option<MemoryType>

    Returns the linear memory at given index.
    §

    fn tag_at(&self, at: u32) -> Option<&FuncType>

    Returns the tag at given index. Read more
    §

    fn global_at(&self, at: u32) -> Option<GlobalType>

    Returns the global variable at given index. Read more
    §

    fn sub_type_at(&self, type_idx: u32) -> Option<&SubType>

    Returns the SubType associated with the given type index. Read more
    §

    fn type_id_of_function(&self, func_idx: u32) -> Option<CoreTypeId>

    Returns the type id associated with the given function\nindex.
    §

    fn type_of_function(&self, func_idx: u32) -> Option<&FuncType>

    Returns the FuncType associated with the given function index. Read more
    §

    fn check_heap_type(\n &self,\n t: &mut HeapType,\n offset: usize,\n) -> Result<(), BinaryReaderError>

    Checks that a HeapType is valid and then additionally place it in its\ncanonical form. Read more
    §

    fn top_type(&self, heap_type: &HeapType) -> HeapType

    Get the top type for the given heap type.
    §

    fn element_type_at(&self, at: u32) -> Option<RefType>

    Returns the element type at the given index. Read more
    §

    fn is_subtype(&self, a: ValType, b: ValType) -> bool

    Is a a subtype of b?
    §

    fn element_count(&self) -> u32

    Returns the number of elements.
    §

    fn data_count(&self) -> Option<u32>

    Returns the number of bytes in the Wasm data section.
    §

    fn is_function_referenced(&self, idx: u32) -> bool

    Returns whether the function index is referenced in the module anywhere\noutside of the start/function sections.
    §

    fn check_value_type(\n &self,\n t: &mut ValType,\n features: &WasmFeatures,\n offset: usize,\n) -> Result<(), BinaryReaderError>

    Check and canonicalize a value type. Read more
    §

    fn check_ref_type(\n &self,\n ref_type: &mut RefType,\n offset: usize,\n) -> Result<(), BinaryReaderError>

    Check and canonicalize a reference type.
    ","WasmModuleResources","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<'a, T> Writeable for Arc<T>
    where\n T: Writeable + ?Sized,

    §

    fn write_to<W>(&self, sink: &mut W) -> Result<(), Error>
    where\n W: Write + ?Sized,

    Writes a string to the given sink. Errors from the sink are bubbled up.\nThe default implementation delegates to write_to_parts, and discards any\nPart annotations.
    §

    fn write_to_parts<W>(&self, sink: &mut W) -> Result<(), Error>
    where\n W: PartsWrite + ?Sized,

    Write bytes and Part annotations to the given sink. Errors from the\nsink are bubbled up. The default implementation delegates to write_to,\nand doesn’t produce any Part annotations.
    §

    fn writeable_length_hint(&self) -> LengthHint

    Returns a hint for the number of UTF-8 bytes that will be written to the sink. Read more
    §

    fn write_to_string(&self) -> Cow<'_, str>

    Creates a new String with the data from this Writeable. Like ToString,\nbut smaller and faster. Read more
    §

    fn writeable_cmp_bytes(&self, other: &[u8]) -> Ordering

    Compares the contents of this Writeable to the given bytes\nwithout allocating a String to hold the Writeable contents. Read more
    ","Writeable","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> CartablePointerLike for Arc<T>

    ","CartablePointerLike","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> CloneStableDeref for Arc<T>
    where\n T: ?Sized,

    ","CloneStableDeref","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> CloneableCart for Arc<T>
    where\n T: ?Sized,

    ","CloneableCart","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> CloneableCartablePointerLike for Arc<T>

    ","CloneableCartablePointerLike","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, U, A> CoerceUnsized<Arc<U, A>> for Arc<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, A> DerefPure for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","DerefPure","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, U> DispatchFromDyn<Arc<U>> for Arc<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Eq for Arc<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Send for Arc<T, A>
    where\n T: Sync + Send + ?Sized,\n A: Allocator + Send,

    ","Send","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> StableDeref for Arc<T>
    where\n T: ?Sized,

    ","StableDeref","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Sync for Arc<T, A>
    where\n T: Sync + Send + ?Sized,\n A: Allocator + Sync,

    ","Sync","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.33.0 · source§

    impl<T, A> Unpin for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","Unpin","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.9.0 · source§

    impl<T, A> UnwindSafe for Arc<T, A>
    where\n T: RefUnwindSafe + ?Sized,\n A: Allocator + UnwindSafe,

    ","UnwindSafe","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"]] +"massa_db_exports":[["
    source§

    impl<T> Arc<T>
    where\n T: ?Sized,

    1.17.0 · source

    pub unsafe fn from_raw(ptr: *const T) -> Arc<T>

    Constructs an Arc<T> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to\nArc<U>::into_raw with the following requirements:

    \n
      \n
    • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
    • \n
    • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Arc<U> was constructed\nthrough Arc<T> and then converted to Arc<U> through an unsized\ncoercion.
    • \n
    \n

    Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

    \n

    The user of from_raw has to make sure a specific value of T is only\ndropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Arc<T> is never accessed.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet x_ptr = Arc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Arc` to prevent leak.\n    let x = Arc::from_raw(x_ptr);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Arc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
    \n

    Convert a slice back into its original array:

    \n\n
    use std::sync::Arc;\n\nlet x: Arc<[u32]> = Arc::new([1, 2, 3]);\nlet x_ptr: *const [u32] = Arc::into_raw(x);\n\nunsafe {\n    let x: Arc<[u32; 3]> = Arc::from_raw(x_ptr.cast::<[u32; 3]>());\n    assert_eq!(&*x, &[1, 2, 3]);\n}
    \n
    1.51.0 · source

    pub unsafe fn increment_strong_count(ptr: *const T)

    Increments the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count(ptr);\n\n    // This assertion is deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw(ptr);\n    assert_eq!(2, Arc::strong_count(&five));\n}
    \n
    1.51.0 · source

    pub unsafe fn decrement_strong_count(ptr: *const T)

    Decrements the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method. This method can be used to release the final\nArc and backing storage, but should not be called after the final Arc has been\nreleased.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count(ptr);\n\n    // Those assertions are deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw(ptr);\n    assert_eq!(2, Arc::strong_count(&five));\n    Arc::decrement_strong_count(ptr);\n    assert_eq!(1, Arc::strong_count(&five));\n}
    \n
    ",0,"massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T> Arc<T>

    1.0.0 · source

    pub fn new(data: T) -> Arc<T>

    Constructs a new Arc<T>.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);
    \n
    1.60.0 · source

    pub fn new_cyclic<F>(data_fn: F) -> Arc<T>
    where\n F: FnOnce(&Weak<T>) -> T,

    Constructs a new Arc<T> while giving you a Weak<T> to the allocation,\nto allow you to construct a T which holds a weak pointer to itself.

    \n

    Generally, a structure circularly referencing itself, either directly or\nindirectly, should not hold a strong reference to itself to prevent a memory leak.\nUsing this function, you get access to the weak pointer during the\ninitialization of T, before the Arc<T> is created, such that you can\nclone and store it inside the T.

    \n

    new_cyclic first allocates the managed allocation for the Arc<T>,\nthen calls your closure, giving it a Weak<T> to this allocation,\nand only afterwards completes the construction of the Arc<T> by placing\nthe T returned from your closure into the allocation.

    \n

    Since the new Arc<T> is not fully-constructed until Arc<T>::new_cyclic\nreturns, calling upgrade on the weak reference inside your closure will\nfail and result in a None value.

    \n
    §Panics
    \n

    If data_fn panics, the panic is propagated to the caller, and the\ntemporary Weak<T> is dropped normally.

    \n
    §Example
    \n
    use std::sync::{Arc, Weak};\n\nstruct Gadget {\n    me: Weak<Gadget>,\n}\n\nimpl Gadget {\n    /// Construct a reference counted Gadget.\n    fn new() -> Arc<Self> {\n        // `me` is a `Weak<Gadget>` pointing at the new allocation of the\n        // `Arc` we're constructing.\n        Arc::new_cyclic(|me| {\n            // Create the actual struct here.\n            Gadget { me: me.clone() }\n        })\n    }\n\n    /// Return a reference counted pointer to Self.\n    fn me(&self) -> Arc<Self> {\n        self.me.upgrade().unwrap()\n    }\n}
    \n
    source

    pub fn new_uninit() -> Arc<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Arc with uninitialized contents.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut five = Arc::<u32>::new_uninit();\n\n// Deferred initialization:\nArc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Arc<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nuse std::sync::Arc;\n\nlet zero = Arc::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(data: T) -> Pin<Arc<T>>

    Constructs a new Pin<Arc<T>>. If T does not implement Unpin, then\ndata will be pinned in memory and unable to be moved.

    \n
    source

    pub fn try_pin(data: T) -> Result<Pin<Arc<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T>>, return an error if allocation fails.

    \n
    source

    pub fn try_new(data: T) -> Result<Arc<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T>, returning an error if allocation fails.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\nuse std::sync::Arc;\n\nlet five = Arc::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Arc<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, returning an error\nif allocation fails.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut five = Arc::<u32>::try_new_uninit()?;\n\n// Deferred initialization:\nArc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Arc<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, returning an error if allocation fails.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n\nuse std::sync::Arc;\n\nlet zero = Arc::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source

    pub fn allocator(this: &Arc<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Arc::allocator(&a) instead of a.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.17.0 · source

    pub fn into_raw(this: Arc<T, A>) -> *const T

    Consumes the Arc, returning the wrapped pointer.

    \n

    To avoid a memory leak the pointer must be converted back to an Arc using\nArc::from_raw.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet x_ptr = Arc::into_raw(x);\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
    \n
    source

    pub fn into_raw_with_allocator(this: Arc<T, A>) -> (*const T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Arc, returning the wrapped pointer and allocator.

    \n

    To avoid a memory leak the pointer must be converted back to an Arc using\nArc::from_raw_in.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x = Arc::new_in(\"hello\".to_owned(), System);\nlet (ptr, alloc) = Arc::into_raw_with_allocator(x);\nassert_eq!(unsafe { &*ptr }, \"hello\");\nlet x = unsafe { Arc::from_raw_in(ptr, alloc) };\nassert_eq!(&*x, \"hello\");
    \n
    1.45.0 · source

    pub fn as_ptr(this: &Arc<T, A>) -> *const T

    Provides a raw pointer to the data.

    \n

    The counts are not affected in any way and the Arc is not consumed. The pointer is valid for\nas long as there are strong counts in the Arc.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet y = Arc::clone(&x);\nlet x_ptr = Arc::as_ptr(&x);\nassert_eq!(x_ptr, Arc::as_ptr(&y));\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
    \n
    source

    pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Arc<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs an Arc<T, A> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to Arc<U, A>::into_raw with the following requirements:

    \n
      \n
    • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
    • \n
    • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Arc<U> was constructed\nthrough Arc<T> and then converted to Arc<U> through an unsized\ncoercion.
    • \n
    \n

    Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

    \n

    The raw pointer must point to a block of memory allocated by alloc

    \n

    The user of from_raw has to make sure a specific value of T is only\ndropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Arc<T> is never accessed.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x = Arc::new_in(\"hello\".to_owned(), System);\nlet x_ptr = Arc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Arc` to prevent leak.\n    let x = Arc::from_raw_in(x_ptr, System);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Arc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
    \n

    Convert a slice back into its original array:

    \n\n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x: Arc<[u32], _> = Arc::new_in([1, 2, 3], System);\nlet x_ptr: *const [u32] = Arc::into_raw(x);\n\nunsafe {\n    let x: Arc<[u32; 3], _> = Arc::from_raw_in(x_ptr.cast::<[u32; 3]>(), System);\n    assert_eq!(&*x, &[1, 2, 3]);\n}
    \n
    1.4.0 · source

    pub fn downgrade(this: &Arc<T, A>) -> Weak<T, A>
    where\n A: Clone,

    Creates a new Weak pointer to this allocation.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nlet weak_five = Arc::downgrade(&five);
    \n
    1.15.0 · source

    pub fn weak_count(this: &Arc<T, A>) -> usize

    Gets the number of Weak pointers to this allocation.

    \n
    §Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\nAnother thread can change the weak count at any time,\nincluding potentially between calling this method and acting on the result.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet _weak_five = Arc::downgrade(&five);\n\n// This assertion is deterministic because we haven't shared\n// the `Arc` or `Weak` between threads.\nassert_eq!(1, Arc::weak_count(&five));
    \n
    1.15.0 · source

    pub fn strong_count(this: &Arc<T, A>) -> usize

    Gets the number of strong (Arc) pointers to this allocation.

    \n
    §Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\nAnother thread can change the strong count at any time,\nincluding potentially between calling this method and acting on the result.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet _also_five = Arc::clone(&five);\n\n// This assertion is deterministic because we haven't shared\n// the `Arc` between threads.\nassert_eq!(2, Arc::strong_count(&five));
    \n
    source

    pub unsafe fn increment_strong_count_in(ptr: *const T, alloc: A)
    where\n A: Clone,

    🔬This is a nightly-only experimental API. (allocator_api)

    Increments the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method,, and ptr must point to a block of memory\nallocated by alloc.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count_in(ptr, System);\n\n    // This assertion is deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw_in(ptr, System);\n    assert_eq!(2, Arc::strong_count(&five));\n}
    \n
    source

    pub unsafe fn decrement_strong_count_in(ptr: *const T, alloc: A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Decrements the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method, and ptr must point to a block of memory\nallocated by alloc. This method can be used to release the final\nArc and backing storage, but should not be called after the final Arc has been\nreleased.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count_in(ptr, System);\n\n    // Those assertions are deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw_in(ptr, System);\n    assert_eq!(2, Arc::strong_count(&five));\n    Arc::decrement_strong_count_in(ptr, System);\n    assert_eq!(1, Arc::strong_count(&five));\n}
    \n
    1.17.0 · source

    pub fn ptr_eq(this: &Arc<T, A>, other: &Arc<T, A>) -> bool

    Returns true if the two Arcs point to the same allocation in a vein similar to\nptr::eq. This function ignores the metadata of dyn Trait pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet same_five = Arc::clone(&five);\nlet other_five = Arc::new(5);\n\nassert!(Arc::ptr_eq(&five, &same_five));\nassert!(!Arc::ptr_eq(&five, &other_five));
    \n
    ",0,"massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, A> Arc<T, A>
    where\n T: CloneToUninit + ?Sized,\n A: Allocator + Clone,

    1.4.0 · source

    pub fn make_mut(this: &mut Arc<T, A>) -> &mut T

    Makes a mutable reference into the given Arc.

    \n

    If there are other Arc pointers to the same allocation, then make_mut will\nclone the inner value to a new allocation to ensure unique ownership. This is also\nreferred to as clone-on-write.

    \n

    However, if there are no other Arc pointers to this allocation, but some Weak\npointers, then the Weak pointers will be dissociated and the inner value will not\nbe cloned.

    \n

    See also get_mut, which will fail rather than cloning the inner value\nor dissociating Weak pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet mut data = Arc::new(5);\n\n*Arc::make_mut(&mut data) += 1;         // Won't clone anything\nlet mut other_data = Arc::clone(&data); // Won't clone inner data\n*Arc::make_mut(&mut data) += 1;         // Clones inner data\n*Arc::make_mut(&mut data) += 1;         // Won't clone anything\n*Arc::make_mut(&mut other_data) *= 2;   // Won't clone anything\n\n// Now `data` and `other_data` point to different allocations.\nassert_eq!(*data, 8);\nassert_eq!(*other_data, 12);
    \n

    Weak pointers will be dissociated:

    \n\n
    use std::sync::Arc;\n\nlet mut data = Arc::new(75);\nlet weak = Arc::downgrade(&data);\n\nassert!(75 == *data);\nassert!(75 == *weak.upgrade().unwrap());\n\n*Arc::make_mut(&mut data) += 1;\n\nassert!(76 == *data);\nassert!(weak.upgrade().is_none());
    \n
    ",0,"massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, A> Arc<T, A>
    where\n T: Clone,\n A: Allocator,

    1.76.0 · source

    pub fn unwrap_or_clone(this: Arc<T, A>) -> T

    If we have the only reference to T then unwrap it. Otherwise, clone T and return the\nclone.

    \n

    Assuming arc_t is of type Arc<T>, this function is functionally equivalent to\n(*arc_t).clone(), but will avoid cloning the inner value where possible.

    \n
    §Examples
    \n
    let inner = String::from(\"test\");\nlet ptr = inner.as_ptr();\n\nlet arc = Arc::new(inner);\nlet inner = Arc::unwrap_or_clone(arc);\n// The inner value was not cloned\nassert!(ptr::eq(ptr, inner.as_ptr()));\n\nlet arc = Arc::new(inner);\nlet arc2 = arc.clone();\nlet inner = Arc::unwrap_or_clone(arc);\n// Because there were 2 references, we had to clone the inner value.\nassert!(!ptr::eq(ptr, inner.as_ptr()));\n// `arc2` is the last reference, so when we unwrap it we get back\n// the original `String`.\nlet inner = Arc::unwrap_or_clone(arc2);\nassert!(ptr::eq(ptr, inner.as_ptr()));
    \n
    ",0,"massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    1.4.0 · source

    pub fn get_mut(this: &mut Arc<T, A>) -> Option<&mut T>

    Returns a mutable reference into the given Arc, if there are\nno other Arc or Weak pointers to the same allocation.

    \n

    Returns None otherwise, because it is not safe to\nmutate a shared value.

    \n

    See also make_mut, which will clone\nthe inner value when there are other Arc pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet mut x = Arc::new(3);\n*Arc::get_mut(&mut x).unwrap() = 4;\nassert_eq!(*x, 4);\n\nlet _y = Arc::clone(&x);\nassert!(Arc::get_mut(&mut x).is_none());
    \n
    source

    pub unsafe fn get_mut_unchecked(this: &mut Arc<T, A>) -> &mut T

    🔬This is a nightly-only experimental API. (get_mut_unchecked)

    Returns a mutable reference into the given Arc,\nwithout any check.

    \n

    See also get_mut, which is safe and does appropriate checks.

    \n
    §Safety
    \n

    If any other Arc or Weak pointers to the same allocation exist, then\nthey must not be dereferenced or have active borrows for the duration\nof the returned borrow, and their inner type must be exactly the same as the\ninner type of this Rc (including lifetimes). This is trivially the case if no\nsuch pointers exist, for example immediately after Arc::new.

    \n
    §Examples
    \n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut x = Arc::new(String::new());\nunsafe {\n    Arc::get_mut_unchecked(&mut x).push_str(\"foo\")\n}\nassert_eq!(*x, \"foo\");
    \n

    Other Arc pointers to the same allocation must be to the same type.

    \n\n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet x: Arc<str> = Arc::from(\"Hello, world!\");\nlet mut y: Arc<[u8]> = x.clone().into();\nunsafe {\n    // this is Undefined Behavior, because x's inner type is str, not [u8]\n    Arc::get_mut_unchecked(&mut y).fill(0xff); // 0xff is invalid in UTF-8\n}\nprintln!(\"{}\", &*x); // Invalid UTF-8 in a str
    \n

    Other Arc pointers to the same allocation must be to the exact same type, including lifetimes.

    \n\n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet x: Arc<&str> = Arc::new(\"Hello, world!\");\n{\n    let s = String::from(\"Oh, no!\");\n    let mut y: Arc<&str> = x.clone().into();\n    unsafe {\n        // this is Undefined Behavior, because x's inner type\n        // is &'long str, not &'short str\n        *Arc::get_mut_unchecked(&mut y) = &s;\n    }\n}\nprintln!(\"{}\", &*x); // Use-after-free
    \n
    ",0,"massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(data: T, alloc: A) -> Arc<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T> in the provided allocator.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents in the provided allocator.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(get_mut_unchecked)]\n#![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet mut five = Arc::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet zero = Arc::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn pin_in(data: T, alloc: A) -> Pin<Arc<T, A>>
    where\n A: 'static,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T, A>> in the provided allocator. If T does not implement Unpin,\nthen data will be pinned in memory and unable to be moved.

    \n
    source

    pub fn try_pin_in(data: T, alloc: A) -> Result<Pin<Arc<T, A>>, AllocError>
    where\n A: 'static,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T, A>> in the provided allocator, return an error if allocation\nfails.

    \n
    source

    pub fn try_new_in(data: T, alloc: A) -> Result<Arc<T, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T, A> in the provided allocator, returning an error if allocation fails.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::try_new_in(5, System)?;
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, in the provided allocator, returning an\nerror if allocation fails.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet mut five = Arc::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator, returning an error if allocation\nfails.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet zero = Arc::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    1.4.0 · source

    pub fn try_unwrap(this: Arc<T, A>) -> Result<T, Arc<T, A>>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n

    Otherwise, an Err is returned with the same Arc that was\npassed in.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    It is strongly recommended to use Arc::into_inner instead if you don’t\nkeep the Arc in the Err case.\nImmediately dropping the Err-value, as the expression\nArc::try_unwrap(this).ok() does, can cause the strong count to\ndrop to zero and the inner value of the Arc to be dropped.\nFor instance, if two threads execute such an expression in parallel,\nthere is a race condition without the possibility of unsafety:\nThe threads could first both check whether they own the last instance\nin Arc::try_unwrap, determine that they both do not, and then both\ndiscard and drop their instance in the call to ok.\nIn this scenario, the value inside the Arc is safely destroyed\nby exactly one of the threads, but neither thread will ever be able\nto use the value.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(3);\nassert_eq!(Arc::try_unwrap(x), Ok(3));\n\nlet x = Arc::new(4);\nlet _y = Arc::clone(&x);\nassert_eq!(*Arc::try_unwrap(x).unwrap_err(), 4);
    \n
    1.70.0 · source

    pub fn into_inner(this: Arc<T, A>) -> Option<T>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n

    Otherwise, None is returned and the Arc is dropped.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    If Arc::into_inner is called on every clone of this Arc,\nit is guaranteed that exactly one of the calls returns the inner value.\nThis means in particular that the inner value is not dropped.

    \n

    Arc::try_unwrap is conceptually similar to Arc::into_inner, but it\nis meant for different use-cases. If used as a direct replacement\nfor Arc::into_inner anyway, such as with the expression\nArc::try_unwrap(this).ok(), then it does\nnot give the same guarantee as described in the previous paragraph.\nFor more information, see the examples below and read the documentation\nof Arc::try_unwrap.

    \n
    §Examples
    \n

    Minimal example demonstrating the guarantee that Arc::into_inner gives.

    \n\n
    use std::sync::Arc;\n\nlet x = Arc::new(3);\nlet y = Arc::clone(&x);\n\n// Two threads calling `Arc::into_inner` on both clones of an `Arc`:\nlet x_thread = std::thread::spawn(|| Arc::into_inner(x));\nlet y_thread = std::thread::spawn(|| Arc::into_inner(y));\n\nlet x_inner_value = x_thread.join().unwrap();\nlet y_inner_value = y_thread.join().unwrap();\n\n// One of the threads is guaranteed to receive the inner value:\nassert!(matches!(\n    (x_inner_value, y_inner_value),\n    (None, Some(3)) | (Some(3), None)\n));\n// The result could also be `(None, None)` if the threads called\n// `Arc::try_unwrap(x).ok()` and `Arc::try_unwrap(y).ok()` instead.
    \n

    A more practical example demonstrating the need for Arc::into_inner:

    \n\n
    use std::sync::Arc;\n\n// Definition of a simple singly linked list using `Arc`:\n#[derive(Clone)]\nstruct LinkedList<T>(Option<Arc<Node<T>>>);\nstruct Node<T>(T, Option<Arc<Node<T>>>);\n\n// Dropping a long `LinkedList<T>` relying on the destructor of `Arc`\n// can cause a stack overflow. To prevent this, we can provide a\n// manual `Drop` implementation that does the destruction in a loop:\nimpl<T> Drop for LinkedList<T> {\n    fn drop(&mut self) {\n        let mut link = self.0.take();\n        while let Some(arc_node) = link.take() {\n            if let Some(Node(_value, next)) = Arc::into_inner(arc_node) {\n                link = next;\n            }\n        }\n    }\n}\n\n// Implementation of `new` and `push` omitted\nimpl<T> LinkedList<T> {\n    /* ... */\n}\n\n// The following code could have still caused a stack overflow\n// despite the manual `Drop` impl if that `Drop` impl had used\n// `Arc::try_unwrap(arc).ok()` instead of `Arc::into_inner(arc)`.\n\n// Create a long list and clone it\nlet mut x = LinkedList::new();\nlet size = 100000;\nfor i in 0..size {\n    x.push(i); // Adds i to the front of x\n}\nlet y = x.clone();\n\n// Drop the clones in parallel\nlet x_thread = std::thread::spawn(|| drop(x));\nlet y_thread = std::thread::spawn(|| drop(y));\nx_thread.join().unwrap();\ny_thread.join().unwrap();
    \n
    ",0,"massa_db_exports::controller::ShareableMassaDBController"],["
    1.64.0 · source§

    impl<T> AsFd for Arc<T>
    where\n T: AsFd + ?Sized,

    This impl allows implementing traits that require AsFd on Arc.

    \n\n
    use std::net::UdpSocket;\nuse std::sync::Arc;\n\ntrait MyTrait: AsFd {}\nimpl MyTrait for Arc<UdpSocket> {}\nimpl MyTrait for Box<UdpSocket> {}
    \n
    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","massa_db_exports::controller::ShareableMassaDBController"],["
    1.63.0 · source§

    impl<T> AsRawFd for Arc<T>
    where\n T: AsRawFd,

    This impl allows implementing traits that require AsRawFd on Arc.

    \n\n
    use std::net::UdpSocket;\nuse std::sync::Arc;\ntrait MyTrait: AsRawFd {\n}\nimpl MyTrait for Arc<UdpSocket> {}\nimpl MyTrait for Box<UdpSocket> {}
    \n
    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","massa_db_exports::controller::ShareableMassaDBController"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Borrow<T> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Clone for Arc<T, A>
    where\n A: Allocator + Clone,\n T: ?Sized,

    source§

    fn clone(&self) -> Arc<T, A>

    Makes a clone of the Arc pointer.

    \n

    This creates another pointer to the same allocation, increasing the\nstrong reference count.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nlet _ = Arc::clone(&five);
    \n
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Debug for Arc<T, A>
    where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T> Default for Arc<T>
    where\n T: Default,

    source§

    fn default() -> Arc<T>

    Creates a new Arc<T>, with the Default value for T.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x: Arc<i32> = Default::default();\nassert_eq!(*x, 0);
    \n
    ","Default","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Deref for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<'de, T, U> DeserializeAs<'de, Arc<T>> for Arc<U>
    where\n U: DeserializeAs<'de, T>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Arc<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Arc>","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Display for Arc<T, A>
    where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Drop for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Drops the Arc.

    \n

    This will decrement the strong reference count. If the strong reference\ncount reaches zero then the only other references (if any) are\nWeak, so we drop the inner value.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nstruct Foo;\n\nimpl Drop for Foo {\n    fn drop(&mut self) {\n        println!(\"dropped!\");\n    }\n}\n\nlet foo  = Arc::new(Foo);\nlet foo2 = Arc::clone(&foo);\n\ndrop(foo);    // Doesn't print anything\ndrop(foo2);   // Prints \"dropped!\"
    \n
    ","Drop","massa_db_exports::controller::ShareableMassaDBController"],["
    1.52.0 · source§

    impl<T> Error for Arc<T>
    where\n T: Error + ?Sized,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'a>(&'a self, req: &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
    ","Error","massa_db_exports::controller::ShareableMassaDBController"],["
    1.21.0 · source§

    impl<T, A> From<Box<T, A>> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn from(v: Box<T, A>) -> Arc<T, A>

    Move a boxed object to a new, reference-counted allocation.

    \n
    §Example
    \n
    let unique: Box<str> = Box::from(\"eggplant\");\nlet shared: Arc<str> = Arc::from(unique);\nassert_eq!(\"eggplant\", &shared[..]);
    \n
    ","From>","massa_db_exports::controller::ShareableMassaDBController"],["
    1.45.0 · source§

    impl<'a, B> From<Cow<'a, B>> for Arc<B>
    where\n B: ToOwned + ?Sized,\n Arc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,

    source§

    fn from(cow: Cow<'a, B>) -> Arc<B>

    Create an atomically reference-counted pointer from\na clone-on-write pointer by copying its content.

    \n
    §Example
    \n
    let cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\nlet shared: Arc<str> = Arc::from(cow);\nassert_eq!(\"eggplant\", &shared[..]);
    \n
    ","From>","massa_db_exports::controller::ShareableMassaDBController"],["
    1.6.0 · source§

    impl<T> From<T> for Arc<T>

    source§

    fn from(t: T) -> Arc<T>

    Converts a T into an Arc<T>

    \n

    The conversion moves the value into a\nnewly allocated Arc. It is equivalent to\ncalling Arc::new(t).

    \n
    §Example
    \n
    let x = 5;\nlet arc = Arc::new(5);\n\nassert_eq!(Arc::from(x), arc);
    \n
    ","From","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Hash for Arc<T, A>
    where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_db_exports::controller::ShareableMassaDBController"],["
    §

    impl<Sp> LocalSpawn for Arc<Sp>
    where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>,\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T> Log for Arc<T>
    where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records. Read more
    ","Log","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Ord for Arc<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Arc<T, A>) -> Ordering

    Comparison for two Arcs.

    \n

    The two are compared by calling cmp() on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\nuse std::cmp::Ordering;\n\nlet five = Arc::new(5);\n\nassert_eq!(Ordering::Less, five.cmp(&Arc::new(6)));
    \n
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Arc<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Arc<T, A>) -> bool

    Equality for two Arcs.

    \n

    Two Arcs are equal if their inner values are equal, even if they are\nstored in different allocation.

    \n

    If T also implements Eq (implying reflexivity of equality),\ntwo Arcs that point to the same allocation are always equal.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five == Arc::new(5));
    \n
    source§

    fn ne(&self, other: &Arc<T, A>) -> bool

    Inequality for two Arcs.

    \n

    Two Arcs are not equal if their inner values are not equal.

    \n

    If T also implements Eq (implying reflexivity of equality),\ntwo Arcs that point to the same value are always equal.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five != Arc::new(6));
    \n
    ","PartialEq","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Arc<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Arc<T, A>) -> Option<Ordering>

    Partial comparison for two Arcs.

    \n

    The two are compared by calling partial_cmp() on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\nuse std::cmp::Ordering;\n\nlet five = Arc::new(5);\n\nassert_eq!(Some(Ordering::Less), five.partial_cmp(&Arc::new(6)));
    \n
    source§

    fn lt(&self, other: &Arc<T, A>) -> bool

    Less-than comparison for two Arcs.

    \n

    The two are compared by calling < on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five < Arc::new(6));
    \n
    source§

    fn le(&self, other: &Arc<T, A>) -> bool

    ‘Less than or equal to’ comparison for two Arcs.

    \n

    The two are compared by calling <= on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five <= Arc::new(5));
    \n
    source§

    fn gt(&self, other: &Arc<T, A>) -> bool

    Greater-than comparison for two Arcs.

    \n

    The two are compared by calling > on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five > Arc::new(4));
    \n
    source§

    fn ge(&self, other: &Arc<T, A>) -> bool

    ‘Greater than or equal to’ comparison for two Arcs.

    \n

    The two are compared by calling >= on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five >= Arc::new(5));
    \n
    ","PartialOrd","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Pointer for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Pointer","massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, U> SerializeAs<Arc<T>> for Arc<U>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &Arc<T>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::controller::ShareableMassaDBController"],["
    §

    impl<Request, S> Service<Request> for Arc<S>
    where\n S: Service<Request> + ?Sized,

    §

    type Response = <S as Service<Request>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Request>>::Error

    Errors produced by the service. Read more
    §

    type Future = <S as Service<Request>>::Future

    The future response value.
    §

    fn call(&self, req: Request) -> <Arc<S> as Service<Request>>::Future

    Process the request and return the response asynchronously.\ncall takes &self instead of mut &self because: Read more
    ","Service","massa_db_exports::controller::ShareableMassaDBController"],["
    §

    impl<Sp> Spawn for Arc<Sp>
    where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","massa_db_exports::controller::ShareableMassaDBController"],["
    §

    impl<S> Subscriber for Arc<S>
    where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, U, A> CoerceUnsized<Arc<U, A>> for Arc<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, A> DerefPure for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","DerefPure","massa_db_exports::controller::ShareableMassaDBController"],["
    source§

    impl<T, U> DispatchFromDyn<Arc<U>> for Arc<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Eq for Arc<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Send for Arc<T, A>
    where\n T: Sync + Send + ?Sized,\n A: Allocator + Send,

    ","Send","massa_db_exports::controller::ShareableMassaDBController"],["
    1.0.0 · source§

    impl<T, A> Sync for Arc<T, A>
    where\n T: Sync + Send + ?Sized,\n A: Allocator + Sync,

    ","Sync","massa_db_exports::controller::ShareableMassaDBController"],["
    1.33.0 · source§

    impl<T, A> Unpin for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","Unpin","massa_db_exports::controller::ShareableMassaDBController"],["
    1.9.0 · source§

    impl<T, A> UnwindSafe for Arc<T, A>
    where\n T: RefUnwindSafe + ?Sized,\n A: Allocator + UnwindSafe,

    ","UnwindSafe","massa_db_exports::controller::ShareableMassaDBController"]], +"massa_pos_worker":[["
    source§

    impl<T> Arc<T>
    where\n T: ?Sized,

    1.17.0 · source

    pub unsafe fn from_raw(ptr: *const T) -> Arc<T>

    Constructs an Arc<T> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to\nArc<U>::into_raw with the following requirements:

    \n
      \n
    • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
    • \n
    • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Arc<U> was constructed\nthrough Arc<T> and then converted to Arc<U> through an unsized\ncoercion.
    • \n
    \n

    Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

    \n

    The user of from_raw has to make sure a specific value of T is only\ndropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Arc<T> is never accessed.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet x_ptr = Arc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Arc` to prevent leak.\n    let x = Arc::from_raw(x_ptr);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Arc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
    \n

    Convert a slice back into its original array:

    \n\n
    use std::sync::Arc;\n\nlet x: Arc<[u32]> = Arc::new([1, 2, 3]);\nlet x_ptr: *const [u32] = Arc::into_raw(x);\n\nunsafe {\n    let x: Arc<[u32; 3]> = Arc::from_raw(x_ptr.cast::<[u32; 3]>());\n    assert_eq!(&*x, &[1, 2, 3]);\n}
    \n
    1.51.0 · source

    pub unsafe fn increment_strong_count(ptr: *const T)

    Increments the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count(ptr);\n\n    // This assertion is deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw(ptr);\n    assert_eq!(2, Arc::strong_count(&five));\n}
    \n
    1.51.0 · source

    pub unsafe fn decrement_strong_count(ptr: *const T)

    Decrements the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method. This method can be used to release the final\nArc and backing storage, but should not be called after the final Arc has been\nreleased.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count(ptr);\n\n    // Those assertions are deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw(ptr);\n    assert_eq!(2, Arc::strong_count(&five));\n    Arc::decrement_strong_count(ptr);\n    assert_eq!(1, Arc::strong_count(&five));\n}
    \n
    ",0,"massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T> Arc<T>

    1.0.0 · source

    pub fn new(data: T) -> Arc<T>

    Constructs a new Arc<T>.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);
    \n
    1.60.0 · source

    pub fn new_cyclic<F>(data_fn: F) -> Arc<T>
    where\n F: FnOnce(&Weak<T>) -> T,

    Constructs a new Arc<T> while giving you a Weak<T> to the allocation,\nto allow you to construct a T which holds a weak pointer to itself.

    \n

    Generally, a structure circularly referencing itself, either directly or\nindirectly, should not hold a strong reference to itself to prevent a memory leak.\nUsing this function, you get access to the weak pointer during the\ninitialization of T, before the Arc<T> is created, such that you can\nclone and store it inside the T.

    \n

    new_cyclic first allocates the managed allocation for the Arc<T>,\nthen calls your closure, giving it a Weak<T> to this allocation,\nand only afterwards completes the construction of the Arc<T> by placing\nthe T returned from your closure into the allocation.

    \n

    Since the new Arc<T> is not fully-constructed until Arc<T>::new_cyclic\nreturns, calling upgrade on the weak reference inside your closure will\nfail and result in a None value.

    \n
    §Panics
    \n

    If data_fn panics, the panic is propagated to the caller, and the\ntemporary Weak<T> is dropped normally.

    \n
    §Example
    \n
    use std::sync::{Arc, Weak};\n\nstruct Gadget {\n    me: Weak<Gadget>,\n}\n\nimpl Gadget {\n    /// Construct a reference counted Gadget.\n    fn new() -> Arc<Self> {\n        // `me` is a `Weak<Gadget>` pointing at the new allocation of the\n        // `Arc` we're constructing.\n        Arc::new_cyclic(|me| {\n            // Create the actual struct here.\n            Gadget { me: me.clone() }\n        })\n    }\n\n    /// Return a reference counted pointer to Self.\n    fn me(&self) -> Arc<Self> {\n        self.me.upgrade().unwrap()\n    }\n}
    \n
    source

    pub fn new_uninit() -> Arc<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Arc with uninitialized contents.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut five = Arc::<u32>::new_uninit();\n\n// Deferred initialization:\nArc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Arc<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nuse std::sync::Arc;\n\nlet zero = Arc::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(data: T) -> Pin<Arc<T>>

    Constructs a new Pin<Arc<T>>. If T does not implement Unpin, then\ndata will be pinned in memory and unable to be moved.

    \n
    source

    pub fn try_pin(data: T) -> Result<Pin<Arc<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T>>, return an error if allocation fails.

    \n
    source

    pub fn try_new(data: T) -> Result<Arc<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T>, returning an error if allocation fails.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\nuse std::sync::Arc;\n\nlet five = Arc::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Arc<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, returning an error\nif allocation fails.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut five = Arc::<u32>::try_new_uninit()?;\n\n// Deferred initialization:\nArc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Arc<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, returning an error if allocation fails.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n\nuse std::sync::Arc;\n\nlet zero = Arc::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source

    pub fn allocator(this: &Arc<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Arc::allocator(&a) instead of a.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.17.0 · source

    pub fn into_raw(this: Arc<T, A>) -> *const T

    Consumes the Arc, returning the wrapped pointer.

    \n

    To avoid a memory leak the pointer must be converted back to an Arc using\nArc::from_raw.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet x_ptr = Arc::into_raw(x);\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
    \n
    source

    pub fn into_raw_with_allocator(this: Arc<T, A>) -> (*const T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Arc, returning the wrapped pointer and allocator.

    \n

    To avoid a memory leak the pointer must be converted back to an Arc using\nArc::from_raw_in.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x = Arc::new_in(\"hello\".to_owned(), System);\nlet (ptr, alloc) = Arc::into_raw_with_allocator(x);\nassert_eq!(unsafe { &*ptr }, \"hello\");\nlet x = unsafe { Arc::from_raw_in(ptr, alloc) };\nassert_eq!(&*x, \"hello\");
    \n
    1.45.0 · source

    pub fn as_ptr(this: &Arc<T, A>) -> *const T

    Provides a raw pointer to the data.

    \n

    The counts are not affected in any way and the Arc is not consumed. The pointer is valid for\nas long as there are strong counts in the Arc.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet y = Arc::clone(&x);\nlet x_ptr = Arc::as_ptr(&x);\nassert_eq!(x_ptr, Arc::as_ptr(&y));\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
    \n
    source

    pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Arc<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs an Arc<T, A> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to Arc<U, A>::into_raw with the following requirements:

    \n
      \n
    • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
    • \n
    • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Arc<U> was constructed\nthrough Arc<T> and then converted to Arc<U> through an unsized\ncoercion.
    • \n
    \n

    Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

    \n

    The raw pointer must point to a block of memory allocated by alloc

    \n

    The user of from_raw has to make sure a specific value of T is only\ndropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Arc<T> is never accessed.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x = Arc::new_in(\"hello\".to_owned(), System);\nlet x_ptr = Arc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Arc` to prevent leak.\n    let x = Arc::from_raw_in(x_ptr, System);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Arc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
    \n

    Convert a slice back into its original array:

    \n\n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x: Arc<[u32], _> = Arc::new_in([1, 2, 3], System);\nlet x_ptr: *const [u32] = Arc::into_raw(x);\n\nunsafe {\n    let x: Arc<[u32; 3], _> = Arc::from_raw_in(x_ptr.cast::<[u32; 3]>(), System);\n    assert_eq!(&*x, &[1, 2, 3]);\n}
    \n
    1.4.0 · source

    pub fn downgrade(this: &Arc<T, A>) -> Weak<T, A>
    where\n A: Clone,

    Creates a new Weak pointer to this allocation.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nlet weak_five = Arc::downgrade(&five);
    \n
    1.15.0 · source

    pub fn weak_count(this: &Arc<T, A>) -> usize

    Gets the number of Weak pointers to this allocation.

    \n
    §Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\nAnother thread can change the weak count at any time,\nincluding potentially between calling this method and acting on the result.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet _weak_five = Arc::downgrade(&five);\n\n// This assertion is deterministic because we haven't shared\n// the `Arc` or `Weak` between threads.\nassert_eq!(1, Arc::weak_count(&five));
    \n
    1.15.0 · source

    pub fn strong_count(this: &Arc<T, A>) -> usize

    Gets the number of strong (Arc) pointers to this allocation.

    \n
    §Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\nAnother thread can change the strong count at any time,\nincluding potentially between calling this method and acting on the result.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet _also_five = Arc::clone(&five);\n\n// This assertion is deterministic because we haven't shared\n// the `Arc` between threads.\nassert_eq!(2, Arc::strong_count(&five));
    \n
    source

    pub unsafe fn increment_strong_count_in(ptr: *const T, alloc: A)
    where\n A: Clone,

    🔬This is a nightly-only experimental API. (allocator_api)

    Increments the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method,, and ptr must point to a block of memory\nallocated by alloc.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count_in(ptr, System);\n\n    // This assertion is deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw_in(ptr, System);\n    assert_eq!(2, Arc::strong_count(&five));\n}
    \n
    source

    pub unsafe fn decrement_strong_count_in(ptr: *const T, alloc: A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Decrements the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method, and ptr must point to a block of memory\nallocated by alloc. This method can be used to release the final\nArc and backing storage, but should not be called after the final Arc has been\nreleased.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count_in(ptr, System);\n\n    // Those assertions are deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw_in(ptr, System);\n    assert_eq!(2, Arc::strong_count(&five));\n    Arc::decrement_strong_count_in(ptr, System);\n    assert_eq!(1, Arc::strong_count(&five));\n}
    \n
    1.17.0 · source

    pub fn ptr_eq(this: &Arc<T, A>, other: &Arc<T, A>) -> bool

    Returns true if the two Arcs point to the same allocation in a vein similar to\nptr::eq. This function ignores the metadata of dyn Trait pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet same_five = Arc::clone(&five);\nlet other_five = Arc::new(5);\n\nassert!(Arc::ptr_eq(&five, &same_five));\nassert!(!Arc::ptr_eq(&five, &other_five));
    \n
    ",0,"massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, A> Arc<T, A>
    where\n T: CloneToUninit + ?Sized,\n A: Allocator + Clone,

    1.4.0 · source

    pub fn make_mut(this: &mut Arc<T, A>) -> &mut T

    Makes a mutable reference into the given Arc.

    \n

    If there are other Arc pointers to the same allocation, then make_mut will\nclone the inner value to a new allocation to ensure unique ownership. This is also\nreferred to as clone-on-write.

    \n

    However, if there are no other Arc pointers to this allocation, but some Weak\npointers, then the Weak pointers will be dissociated and the inner value will not\nbe cloned.

    \n

    See also get_mut, which will fail rather than cloning the inner value\nor dissociating Weak pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet mut data = Arc::new(5);\n\n*Arc::make_mut(&mut data) += 1;         // Won't clone anything\nlet mut other_data = Arc::clone(&data); // Won't clone inner data\n*Arc::make_mut(&mut data) += 1;         // Clones inner data\n*Arc::make_mut(&mut data) += 1;         // Won't clone anything\n*Arc::make_mut(&mut other_data) *= 2;   // Won't clone anything\n\n// Now `data` and `other_data` point to different allocations.\nassert_eq!(*data, 8);\nassert_eq!(*other_data, 12);
    \n

    Weak pointers will be dissociated:

    \n\n
    use std::sync::Arc;\n\nlet mut data = Arc::new(75);\nlet weak = Arc::downgrade(&data);\n\nassert!(75 == *data);\nassert!(75 == *weak.upgrade().unwrap());\n\n*Arc::make_mut(&mut data) += 1;\n\nassert!(76 == *data);\nassert!(weak.upgrade().is_none());
    \n
    ",0,"massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, A> Arc<T, A>
    where\n T: Clone,\n A: Allocator,

    1.76.0 · source

    pub fn unwrap_or_clone(this: Arc<T, A>) -> T

    If we have the only reference to T then unwrap it. Otherwise, clone T and return the\nclone.

    \n

    Assuming arc_t is of type Arc<T>, this function is functionally equivalent to\n(*arc_t).clone(), but will avoid cloning the inner value where possible.

    \n
    §Examples
    \n
    let inner = String::from(\"test\");\nlet ptr = inner.as_ptr();\n\nlet arc = Arc::new(inner);\nlet inner = Arc::unwrap_or_clone(arc);\n// The inner value was not cloned\nassert!(ptr::eq(ptr, inner.as_ptr()));\n\nlet arc = Arc::new(inner);\nlet arc2 = arc.clone();\nlet inner = Arc::unwrap_or_clone(arc);\n// Because there were 2 references, we had to clone the inner value.\nassert!(!ptr::eq(ptr, inner.as_ptr()));\n// `arc2` is the last reference, so when we unwrap it we get back\n// the original `String`.\nlet inner = Arc::unwrap_or_clone(arc2);\nassert!(ptr::eq(ptr, inner.as_ptr()));
    \n
    ",0,"massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    1.4.0 · source

    pub fn get_mut(this: &mut Arc<T, A>) -> Option<&mut T>

    Returns a mutable reference into the given Arc, if there are\nno other Arc or Weak pointers to the same allocation.

    \n

    Returns None otherwise, because it is not safe to\nmutate a shared value.

    \n

    See also make_mut, which will clone\nthe inner value when there are other Arc pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet mut x = Arc::new(3);\n*Arc::get_mut(&mut x).unwrap() = 4;\nassert_eq!(*x, 4);\n\nlet _y = Arc::clone(&x);\nassert!(Arc::get_mut(&mut x).is_none());
    \n
    source

    pub unsafe fn get_mut_unchecked(this: &mut Arc<T, A>) -> &mut T

    🔬This is a nightly-only experimental API. (get_mut_unchecked)

    Returns a mutable reference into the given Arc,\nwithout any check.

    \n

    See also get_mut, which is safe and does appropriate checks.

    \n
    §Safety
    \n

    If any other Arc or Weak pointers to the same allocation exist, then\nthey must not be dereferenced or have active borrows for the duration\nof the returned borrow, and their inner type must be exactly the same as the\ninner type of this Rc (including lifetimes). This is trivially the case if no\nsuch pointers exist, for example immediately after Arc::new.

    \n
    §Examples
    \n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut x = Arc::new(String::new());\nunsafe {\n    Arc::get_mut_unchecked(&mut x).push_str(\"foo\")\n}\nassert_eq!(*x, \"foo\");
    \n

    Other Arc pointers to the same allocation must be to the same type.

    \n\n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet x: Arc<str> = Arc::from(\"Hello, world!\");\nlet mut y: Arc<[u8]> = x.clone().into();\nunsafe {\n    // this is Undefined Behavior, because x's inner type is str, not [u8]\n    Arc::get_mut_unchecked(&mut y).fill(0xff); // 0xff is invalid in UTF-8\n}\nprintln!(\"{}\", &*x); // Invalid UTF-8 in a str
    \n

    Other Arc pointers to the same allocation must be to the exact same type, including lifetimes.

    \n\n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet x: Arc<&str> = Arc::new(\"Hello, world!\");\n{\n    let s = String::from(\"Oh, no!\");\n    let mut y: Arc<&str> = x.clone().into();\n    unsafe {\n        // this is Undefined Behavior, because x's inner type\n        // is &'long str, not &'short str\n        *Arc::get_mut_unchecked(&mut y) = &s;\n    }\n}\nprintln!(\"{}\", &*x); // Use-after-free
    \n
    ",0,"massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(data: T, alloc: A) -> Arc<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T> in the provided allocator.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents in the provided allocator.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(get_mut_unchecked)]\n#![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet mut five = Arc::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet zero = Arc::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn pin_in(data: T, alloc: A) -> Pin<Arc<T, A>>
    where\n A: 'static,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T, A>> in the provided allocator. If T does not implement Unpin,\nthen data will be pinned in memory and unable to be moved.

    \n
    source

    pub fn try_pin_in(data: T, alloc: A) -> Result<Pin<Arc<T, A>>, AllocError>
    where\n A: 'static,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T, A>> in the provided allocator, return an error if allocation\nfails.

    \n
    source

    pub fn try_new_in(data: T, alloc: A) -> Result<Arc<T, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T, A> in the provided allocator, returning an error if allocation fails.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::try_new_in(5, System)?;
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, in the provided allocator, returning an\nerror if allocation fails.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet mut five = Arc::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator, returning an error if allocation\nfails.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet zero = Arc::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    1.4.0 · source

    pub fn try_unwrap(this: Arc<T, A>) -> Result<T, Arc<T, A>>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n

    Otherwise, an Err is returned with the same Arc that was\npassed in.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    It is strongly recommended to use Arc::into_inner instead if you don’t\nkeep the Arc in the Err case.\nImmediately dropping the Err-value, as the expression\nArc::try_unwrap(this).ok() does, can cause the strong count to\ndrop to zero and the inner value of the Arc to be dropped.\nFor instance, if two threads execute such an expression in parallel,\nthere is a race condition without the possibility of unsafety:\nThe threads could first both check whether they own the last instance\nin Arc::try_unwrap, determine that they both do not, and then both\ndiscard and drop their instance in the call to ok.\nIn this scenario, the value inside the Arc is safely destroyed\nby exactly one of the threads, but neither thread will ever be able\nto use the value.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(3);\nassert_eq!(Arc::try_unwrap(x), Ok(3));\n\nlet x = Arc::new(4);\nlet _y = Arc::clone(&x);\nassert_eq!(*Arc::try_unwrap(x).unwrap_err(), 4);
    \n
    1.70.0 · source

    pub fn into_inner(this: Arc<T, A>) -> Option<T>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n

    Otherwise, None is returned and the Arc is dropped.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    If Arc::into_inner is called on every clone of this Arc,\nit is guaranteed that exactly one of the calls returns the inner value.\nThis means in particular that the inner value is not dropped.

    \n

    Arc::try_unwrap is conceptually similar to Arc::into_inner, but it\nis meant for different use-cases. If used as a direct replacement\nfor Arc::into_inner anyway, such as with the expression\nArc::try_unwrap(this).ok(), then it does\nnot give the same guarantee as described in the previous paragraph.\nFor more information, see the examples below and read the documentation\nof Arc::try_unwrap.

    \n
    §Examples
    \n

    Minimal example demonstrating the guarantee that Arc::into_inner gives.

    \n\n
    use std::sync::Arc;\n\nlet x = Arc::new(3);\nlet y = Arc::clone(&x);\n\n// Two threads calling `Arc::into_inner` on both clones of an `Arc`:\nlet x_thread = std::thread::spawn(|| Arc::into_inner(x));\nlet y_thread = std::thread::spawn(|| Arc::into_inner(y));\n\nlet x_inner_value = x_thread.join().unwrap();\nlet y_inner_value = y_thread.join().unwrap();\n\n// One of the threads is guaranteed to receive the inner value:\nassert!(matches!(\n    (x_inner_value, y_inner_value),\n    (None, Some(3)) | (Some(3), None)\n));\n// The result could also be `(None, None)` if the threads called\n// `Arc::try_unwrap(x).ok()` and `Arc::try_unwrap(y).ok()` instead.
    \n

    A more practical example demonstrating the need for Arc::into_inner:

    \n\n
    use std::sync::Arc;\n\n// Definition of a simple singly linked list using `Arc`:\n#[derive(Clone)]\nstruct LinkedList<T>(Option<Arc<Node<T>>>);\nstruct Node<T>(T, Option<Arc<Node<T>>>);\n\n// Dropping a long `LinkedList<T>` relying on the destructor of `Arc`\n// can cause a stack overflow. To prevent this, we can provide a\n// manual `Drop` implementation that does the destruction in a loop:\nimpl<T> Drop for LinkedList<T> {\n    fn drop(&mut self) {\n        let mut link = self.0.take();\n        while let Some(arc_node) = link.take() {\n            if let Some(Node(_value, next)) = Arc::into_inner(arc_node) {\n                link = next;\n            }\n        }\n    }\n}\n\n// Implementation of `new` and `push` omitted\nimpl<T> LinkedList<T> {\n    /* ... */\n}\n\n// The following code could have still caused a stack overflow\n// despite the manual `Drop` impl if that `Drop` impl had used\n// `Arc::try_unwrap(arc).ok()` instead of `Arc::into_inner(arc)`.\n\n// Create a long list and clone it\nlet mut x = LinkedList::new();\nlet size = 100000;\nfor i in 0..size {\n    x.push(i); // Adds i to the front of x\n}\nlet y = x.clone();\n\n// Drop the clones in parallel\nlet x_thread = std::thread::spawn(|| drop(x));\nlet y_thread = std::thread::spawn(|| drop(y));\nx_thread.join().unwrap();\ny_thread.join().unwrap();
    \n
    ",0,"massa_pos_worker::DrawCachePtr"],["
    1.64.0 · source§

    impl<T> AsFd for Arc<T>
    where\n T: AsFd + ?Sized,

    This impl allows implementing traits that require AsFd on Arc.

    \n\n
    use std::net::UdpSocket;\nuse std::sync::Arc;\n\ntrait MyTrait: AsFd {}\nimpl MyTrait for Arc<UdpSocket> {}\nimpl MyTrait for Box<UdpSocket> {}
    \n
    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","massa_pos_worker::DrawCachePtr"],["
    1.63.0 · source§

    impl<T> AsRawFd for Arc<T>
    where\n T: AsRawFd,

    This impl allows implementing traits that require AsRawFd on Arc.

    \n\n
    use std::net::UdpSocket;\nuse std::sync::Arc;\ntrait MyTrait: AsRawFd {\n}\nimpl MyTrait for Arc<UdpSocket> {}\nimpl MyTrait for Box<UdpSocket> {}
    \n
    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","massa_pos_worker::DrawCachePtr"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Borrow<T> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Clone for Arc<T, A>
    where\n A: Allocator + Clone,\n T: ?Sized,

    source§

    fn clone(&self) -> Arc<T, A>

    Makes a clone of the Arc pointer.

    \n

    This creates another pointer to the same allocation, increasing the\nstrong reference count.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nlet _ = Arc::clone(&five);
    \n
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Debug for Arc<T, A>
    where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T> Default for Arc<T>
    where\n T: Default,

    source§

    fn default() -> Arc<T>

    Creates a new Arc<T>, with the Default value for T.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x: Arc<i32> = Default::default();\nassert_eq!(*x, 0);
    \n
    ","Default","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Deref for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","massa_pos_worker::DrawCachePtr"],["
    source§

    impl<'de, T, U> DeserializeAs<'de, Arc<T>> for Arc<U>
    where\n U: DeserializeAs<'de, T>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Arc<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Arc>","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Display for Arc<T, A>
    where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Drop for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Drops the Arc.

    \n

    This will decrement the strong reference count. If the strong reference\ncount reaches zero then the only other references (if any) are\nWeak, so we drop the inner value.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nstruct Foo;\n\nimpl Drop for Foo {\n    fn drop(&mut self) {\n        println!(\"dropped!\");\n    }\n}\n\nlet foo  = Arc::new(Foo);\nlet foo2 = Arc::clone(&foo);\n\ndrop(foo);    // Doesn't print anything\ndrop(foo2);   // Prints \"dropped!\"
    \n
    ","Drop","massa_pos_worker::DrawCachePtr"],["
    1.52.0 · source§

    impl<T> Error for Arc<T>
    where\n T: Error + ?Sized,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'a>(&'a self, req: &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
    ","Error","massa_pos_worker::DrawCachePtr"],["
    1.21.0 · source§

    impl<T, A> From<Box<T, A>> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn from(v: Box<T, A>) -> Arc<T, A>

    Move a boxed object to a new, reference-counted allocation.

    \n
    §Example
    \n
    let unique: Box<str> = Box::from(\"eggplant\");\nlet shared: Arc<str> = Arc::from(unique);\nassert_eq!(\"eggplant\", &shared[..]);
    \n
    ","From>","massa_pos_worker::DrawCachePtr"],["
    1.45.0 · source§

    impl<'a, B> From<Cow<'a, B>> for Arc<B>
    where\n B: ToOwned + ?Sized,\n Arc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,

    source§

    fn from(cow: Cow<'a, B>) -> Arc<B>

    Create an atomically reference-counted pointer from\na clone-on-write pointer by copying its content.

    \n
    §Example
    \n
    let cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\nlet shared: Arc<str> = Arc::from(cow);\nassert_eq!(\"eggplant\", &shared[..]);
    \n
    ","From>","massa_pos_worker::DrawCachePtr"],["
    1.6.0 · source§

    impl<T> From<T> for Arc<T>

    source§

    fn from(t: T) -> Arc<T>

    Converts a T into an Arc<T>

    \n

    The conversion moves the value into a\nnewly allocated Arc. It is equivalent to\ncalling Arc::new(t).

    \n
    §Example
    \n
    let x = 5;\nlet arc = Arc::new(5);\n\nassert_eq!(Arc::from(x), arc);
    \n
    ","From","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Hash for Arc<T, A>
    where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_pos_worker::DrawCachePtr"],["
    §

    impl<Sp> LocalSpawn for Arc<Sp>
    where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>,\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T> Log for Arc<T>
    where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records. Read more
    ","Log","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Ord for Arc<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Arc<T, A>) -> Ordering

    Comparison for two Arcs.

    \n

    The two are compared by calling cmp() on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\nuse std::cmp::Ordering;\n\nlet five = Arc::new(5);\n\nassert_eq!(Ordering::Less, five.cmp(&Arc::new(6)));
    \n
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Arc<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Arc<T, A>) -> bool

    Equality for two Arcs.

    \n

    Two Arcs are equal if their inner values are equal, even if they are\nstored in different allocation.

    \n

    If T also implements Eq (implying reflexivity of equality),\ntwo Arcs that point to the same allocation are always equal.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five == Arc::new(5));
    \n
    source§

    fn ne(&self, other: &Arc<T, A>) -> bool

    Inequality for two Arcs.

    \n

    Two Arcs are not equal if their inner values are not equal.

    \n

    If T also implements Eq (implying reflexivity of equality),\ntwo Arcs that point to the same value are always equal.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five != Arc::new(6));
    \n
    ","PartialEq","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Arc<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Arc<T, A>) -> Option<Ordering>

    Partial comparison for two Arcs.

    \n

    The two are compared by calling partial_cmp() on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\nuse std::cmp::Ordering;\n\nlet five = Arc::new(5);\n\nassert_eq!(Some(Ordering::Less), five.partial_cmp(&Arc::new(6)));
    \n
    source§

    fn lt(&self, other: &Arc<T, A>) -> bool

    Less-than comparison for two Arcs.

    \n

    The two are compared by calling < on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five < Arc::new(6));
    \n
    source§

    fn le(&self, other: &Arc<T, A>) -> bool

    ‘Less than or equal to’ comparison for two Arcs.

    \n

    The two are compared by calling <= on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five <= Arc::new(5));
    \n
    source§

    fn gt(&self, other: &Arc<T, A>) -> bool

    Greater-than comparison for two Arcs.

    \n

    The two are compared by calling > on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five > Arc::new(4));
    \n
    source§

    fn ge(&self, other: &Arc<T, A>) -> bool

    ‘Greater than or equal to’ comparison for two Arcs.

    \n

    The two are compared by calling >= on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five >= Arc::new(5));
    \n
    ","PartialOrd","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Pointer for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Pointer","massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, U> SerializeAs<Arc<T>> for Arc<U>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &Arc<T>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_pos_worker::DrawCachePtr"],["
    §

    impl<Request, S> Service<Request> for Arc<S>
    where\n S: Service<Request> + ?Sized,

    §

    type Response = <S as Service<Request>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Request>>::Error

    Errors produced by the service. Read more
    §

    type Future = <S as Service<Request>>::Future

    The future response value.
    §

    fn call(&self, req: Request) -> <Arc<S> as Service<Request>>::Future

    Process the request and return the response asynchronously.\ncall takes &self instead of mut &self because: Read more
    ","Service","massa_pos_worker::DrawCachePtr"],["
    §

    impl<Sp> Spawn for Arc<Sp>
    where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","massa_pos_worker::DrawCachePtr"],["
    §

    impl<S> Subscriber for Arc<S>
    where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, U, A> CoerceUnsized<Arc<U, A>> for Arc<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, A> DerefPure for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","DerefPure","massa_pos_worker::DrawCachePtr"],["
    source§

    impl<T, U> DispatchFromDyn<Arc<U>> for Arc<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Eq for Arc<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Send for Arc<T, A>
    where\n T: Sync + Send + ?Sized,\n A: Allocator + Send,

    ","Send","massa_pos_worker::DrawCachePtr"],["
    1.0.0 · source§

    impl<T, A> Sync for Arc<T, A>
    where\n T: Sync + Send + ?Sized,\n A: Allocator + Sync,

    ","Sync","massa_pos_worker::DrawCachePtr"],["
    1.33.0 · source§

    impl<T, A> Unpin for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","Unpin","massa_pos_worker::DrawCachePtr"],["
    1.9.0 · source§

    impl<T, A> UnwindSafe for Arc<T, A>
    where\n T: RefUnwindSafe + ?Sized,\n A: Allocator + UnwindSafe,

    ","UnwindSafe","massa_pos_worker::DrawCachePtr"]], +"massa_protocol_worker":[["
    §

    impl<T> AnyProvider for Arc<T>
    where\n T: AnyProvider + ?Sized,

    §

    fn load_any(\n &self,\n key: DataKey,\n req: DataRequest<'_>,\n) -> Result<AnyResponse, DataError>

    Loads an [AnyPayload] according to the key and request.
    ","AnyProvider","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T> Arc<T>
    where\n T: ?Sized,

    1.17.0 · source

    pub unsafe fn from_raw(ptr: *const T) -> Arc<T>

    Constructs an Arc<T> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to\nArc<U>::into_raw with the following requirements:

    \n
      \n
    • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
    • \n
    • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Arc<U> was constructed\nthrough Arc<T> and then converted to Arc<U> through an unsized\ncoercion.
    • \n
    \n

    Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

    \n

    The user of from_raw has to make sure a specific value of T is only\ndropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Arc<T> is never accessed.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet x_ptr = Arc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Arc` to prevent leak.\n    let x = Arc::from_raw(x_ptr);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Arc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
    \n

    Convert a slice back into its original array:

    \n\n
    use std::sync::Arc;\n\nlet x: Arc<[u32]> = Arc::new([1, 2, 3]);\nlet x_ptr: *const [u32] = Arc::into_raw(x);\n\nunsafe {\n    let x: Arc<[u32; 3]> = Arc::from_raw(x_ptr.cast::<[u32; 3]>());\n    assert_eq!(&*x, &[1, 2, 3]);\n}
    \n
    1.51.0 · source

    pub unsafe fn increment_strong_count(ptr: *const T)

    Increments the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count(ptr);\n\n    // This assertion is deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw(ptr);\n    assert_eq!(2, Arc::strong_count(&five));\n}
    \n
    1.51.0 · source

    pub unsafe fn decrement_strong_count(ptr: *const T)

    Decrements the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method. This method can be used to release the final\nArc and backing storage, but should not be called after the final Arc has been\nreleased.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count(ptr);\n\n    // Those assertions are deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw(ptr);\n    assert_eq!(2, Arc::strong_count(&five));\n    Arc::decrement_strong_count(ptr);\n    assert_eq!(1, Arc::strong_count(&five));\n}
    \n
    ",0,"massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T> Arc<T>

    1.0.0 · source

    pub fn new(data: T) -> Arc<T>

    Constructs a new Arc<T>.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);
    \n
    1.60.0 · source

    pub fn new_cyclic<F>(data_fn: F) -> Arc<T>
    where\n F: FnOnce(&Weak<T>) -> T,

    Constructs a new Arc<T> while giving you a Weak<T> to the allocation,\nto allow you to construct a T which holds a weak pointer to itself.

    \n

    Generally, a structure circularly referencing itself, either directly or\nindirectly, should not hold a strong reference to itself to prevent a memory leak.\nUsing this function, you get access to the weak pointer during the\ninitialization of T, before the Arc<T> is created, such that you can\nclone and store it inside the T.

    \n

    new_cyclic first allocates the managed allocation for the Arc<T>,\nthen calls your closure, giving it a Weak<T> to this allocation,\nand only afterwards completes the construction of the Arc<T> by placing\nthe T returned from your closure into the allocation.

    \n

    Since the new Arc<T> is not fully-constructed until Arc<T>::new_cyclic\nreturns, calling upgrade on the weak reference inside your closure will\nfail and result in a None value.

    \n
    §Panics
    \n

    If data_fn panics, the panic is propagated to the caller, and the\ntemporary Weak<T> is dropped normally.

    \n
    §Example
    \n
    use std::sync::{Arc, Weak};\n\nstruct Gadget {\n    me: Weak<Gadget>,\n}\n\nimpl Gadget {\n    /// Construct a reference counted Gadget.\n    fn new() -> Arc<Self> {\n        // `me` is a `Weak<Gadget>` pointing at the new allocation of the\n        // `Arc` we're constructing.\n        Arc::new_cyclic(|me| {\n            // Create the actual struct here.\n            Gadget { me: me.clone() }\n        })\n    }\n\n    /// Return a reference counted pointer to Self.\n    fn me(&self) -> Arc<Self> {\n        self.me.upgrade().unwrap()\n    }\n}
    \n
    source

    pub fn new_uninit() -> Arc<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Arc with uninitialized contents.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut five = Arc::<u32>::new_uninit();\n\n// Deferred initialization:\nArc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Arc<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nuse std::sync::Arc;\n\nlet zero = Arc::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(data: T) -> Pin<Arc<T>>

    Constructs a new Pin<Arc<T>>. If T does not implement Unpin, then\ndata will be pinned in memory and unable to be moved.

    \n
    source

    pub fn try_pin(data: T) -> Result<Pin<Arc<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T>>, return an error if allocation fails.

    \n
    source

    pub fn try_new(data: T) -> Result<Arc<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T>, returning an error if allocation fails.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\nuse std::sync::Arc;\n\nlet five = Arc::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Arc<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, returning an error\nif allocation fails.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut five = Arc::<u32>::try_new_uninit()?;\n\n// Deferred initialization:\nArc::get_mut(&mut five).unwrap().write(5);\n\nlet five = unsafe { five.assume_init() };\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Arc<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, returning an error if allocation fails.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n\nuse std::sync::Arc;\n\nlet zero = Arc::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source

    pub fn allocator(this: &Arc<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Arc::allocator(&a) instead of a.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.17.0 · source

    pub fn into_raw(this: Arc<T, A>) -> *const T

    Consumes the Arc, returning the wrapped pointer.

    \n

    To avoid a memory leak the pointer must be converted back to an Arc using\nArc::from_raw.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet x_ptr = Arc::into_raw(x);\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
    \n
    source

    pub fn into_raw_with_allocator(this: Arc<T, A>) -> (*const T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Arc, returning the wrapped pointer and allocator.

    \n

    To avoid a memory leak the pointer must be converted back to an Arc using\nArc::from_raw_in.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x = Arc::new_in(\"hello\".to_owned(), System);\nlet (ptr, alloc) = Arc::into_raw_with_allocator(x);\nassert_eq!(unsafe { &*ptr }, \"hello\");\nlet x = unsafe { Arc::from_raw_in(ptr, alloc) };\nassert_eq!(&*x, \"hello\");
    \n
    1.45.0 · source

    pub fn as_ptr(this: &Arc<T, A>) -> *const T

    Provides a raw pointer to the data.

    \n

    The counts are not affected in any way and the Arc is not consumed. The pointer is valid for\nas long as there are strong counts in the Arc.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(\"hello\".to_owned());\nlet y = Arc::clone(&x);\nlet x_ptr = Arc::as_ptr(&x);\nassert_eq!(x_ptr, Arc::as_ptr(&y));\nassert_eq!(unsafe { &*x_ptr }, \"hello\");
    \n
    source

    pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Arc<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs an Arc<T, A> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to Arc<U, A>::into_raw with the following requirements:

    \n
      \n
    • If U is sized, it must have the same size and alignment as T. This\nis trivially true if U is T.
    • \n
    • If U is unsized, its data pointer must have the same size and\nalignment as T. This is trivially true if Arc<U> was constructed\nthrough Arc<T> and then converted to Arc<U> through an unsized\ncoercion.
    • \n
    \n

    Note that if U or U’s data pointer is not T but has the same size\nand alignment, this is basically like transmuting references of\ndifferent types. See mem::transmute for more information\non what restrictions apply in this case.

    \n

    The raw pointer must point to a block of memory allocated by alloc

    \n

    The user of from_raw has to make sure a specific value of T is only\ndropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\neven if the returned Arc<T> is never accessed.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x = Arc::new_in(\"hello\".to_owned(), System);\nlet x_ptr = Arc::into_raw(x);\n\nunsafe {\n    // Convert back to an `Arc` to prevent leak.\n    let x = Arc::from_raw_in(x_ptr, System);\n    assert_eq!(&*x, \"hello\");\n\n    // Further calls to `Arc::from_raw(x_ptr)` would be memory-unsafe.\n}\n\n// The memory was freed when `x` went out of scope above, so `x_ptr` is now dangling!
    \n

    Convert a slice back into its original array:

    \n\n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet x: Arc<[u32], _> = Arc::new_in([1, 2, 3], System);\nlet x_ptr: *const [u32] = Arc::into_raw(x);\n\nunsafe {\n    let x: Arc<[u32; 3], _> = Arc::from_raw_in(x_ptr.cast::<[u32; 3]>(), System);\n    assert_eq!(&*x, &[1, 2, 3]);\n}
    \n
    1.4.0 · source

    pub fn downgrade(this: &Arc<T, A>) -> Weak<T, A>
    where\n A: Clone,

    Creates a new Weak pointer to this allocation.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nlet weak_five = Arc::downgrade(&five);
    \n
    1.15.0 · source

    pub fn weak_count(this: &Arc<T, A>) -> usize

    Gets the number of Weak pointers to this allocation.

    \n
    §Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\nAnother thread can change the weak count at any time,\nincluding potentially between calling this method and acting on the result.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet _weak_five = Arc::downgrade(&five);\n\n// This assertion is deterministic because we haven't shared\n// the `Arc` or `Weak` between threads.\nassert_eq!(1, Arc::weak_count(&five));
    \n
    1.15.0 · source

    pub fn strong_count(this: &Arc<T, A>) -> usize

    Gets the number of strong (Arc) pointers to this allocation.

    \n
    §Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\nAnother thread can change the strong count at any time,\nincluding potentially between calling this method and acting on the result.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet _also_five = Arc::clone(&five);\n\n// This assertion is deterministic because we haven't shared\n// the `Arc` between threads.\nassert_eq!(2, Arc::strong_count(&five));
    \n
    source

    pub unsafe fn increment_strong_count_in(ptr: *const T, alloc: A)
    where\n A: Clone,

    🔬This is a nightly-only experimental API. (allocator_api)

    Increments the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) for the duration of this method,, and ptr must point to a block of memory\nallocated by alloc.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count_in(ptr, System);\n\n    // This assertion is deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw_in(ptr, System);\n    assert_eq!(2, Arc::strong_count(&five));\n}
    \n
    source

    pub unsafe fn decrement_strong_count_in(ptr: *const T, alloc: A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Decrements the strong reference count on the Arc<T> associated with the\nprovided pointer by one.

    \n
    §Safety
    \n

    The pointer must have been obtained through Arc::into_raw, the\nassociated Arc instance must be valid (i.e. the strong count must be at\nleast 1) when invoking this method, and ptr must point to a block of memory\nallocated by alloc. This method can be used to release the final\nArc and backing storage, but should not be called after the final Arc has been\nreleased.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);\n\nunsafe {\n    let ptr = Arc::into_raw(five);\n    Arc::increment_strong_count_in(ptr, System);\n\n    // Those assertions are deterministic because we haven't shared\n    // the `Arc` between threads.\n    let five = Arc::from_raw_in(ptr, System);\n    assert_eq!(2, Arc::strong_count(&five));\n    Arc::decrement_strong_count_in(ptr, System);\n    assert_eq!(1, Arc::strong_count(&five));\n}
    \n
    1.17.0 · source

    pub fn ptr_eq(this: &Arc<T, A>, other: &Arc<T, A>) -> bool

    Returns true if the two Arcs point to the same allocation in a vein similar to\nptr::eq. This function ignores the metadata of dyn Trait pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\nlet same_five = Arc::clone(&five);\nlet other_five = Arc::new(5);\n\nassert!(Arc::ptr_eq(&five, &same_five));\nassert!(!Arc::ptr_eq(&five, &other_five));
    \n
    ",0,"massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, A> Arc<T, A>
    where\n T: CloneToUninit + ?Sized,\n A: Allocator + Clone,

    1.4.0 · source

    pub fn make_mut(this: &mut Arc<T, A>) -> &mut T

    Makes a mutable reference into the given Arc.

    \n

    If there are other Arc pointers to the same allocation, then make_mut will\nclone the inner value to a new allocation to ensure unique ownership. This is also\nreferred to as clone-on-write.

    \n

    However, if there are no other Arc pointers to this allocation, but some Weak\npointers, then the Weak pointers will be dissociated and the inner value will not\nbe cloned.

    \n

    See also get_mut, which will fail rather than cloning the inner value\nor dissociating Weak pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet mut data = Arc::new(5);\n\n*Arc::make_mut(&mut data) += 1;         // Won't clone anything\nlet mut other_data = Arc::clone(&data); // Won't clone inner data\n*Arc::make_mut(&mut data) += 1;         // Clones inner data\n*Arc::make_mut(&mut data) += 1;         // Won't clone anything\n*Arc::make_mut(&mut other_data) *= 2;   // Won't clone anything\n\n// Now `data` and `other_data` point to different allocations.\nassert_eq!(*data, 8);\nassert_eq!(*other_data, 12);
    \n

    Weak pointers will be dissociated:

    \n\n
    use std::sync::Arc;\n\nlet mut data = Arc::new(75);\nlet weak = Arc::downgrade(&data);\n\nassert!(75 == *data);\nassert!(75 == *weak.upgrade().unwrap());\n\n*Arc::make_mut(&mut data) += 1;\n\nassert!(76 == *data);\nassert!(weak.upgrade().is_none());
    \n
    ",0,"massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, A> Arc<T, A>
    where\n T: Clone,\n A: Allocator,

    1.76.0 · source

    pub fn unwrap_or_clone(this: Arc<T, A>) -> T

    If we have the only reference to T then unwrap it. Otherwise, clone T and return the\nclone.

    \n

    Assuming arc_t is of type Arc<T>, this function is functionally equivalent to\n(*arc_t).clone(), but will avoid cloning the inner value where possible.

    \n
    §Examples
    \n
    let inner = String::from(\"test\");\nlet ptr = inner.as_ptr();\n\nlet arc = Arc::new(inner);\nlet inner = Arc::unwrap_or_clone(arc);\n// The inner value was not cloned\nassert!(ptr::eq(ptr, inner.as_ptr()));\n\nlet arc = Arc::new(inner);\nlet arc2 = arc.clone();\nlet inner = Arc::unwrap_or_clone(arc);\n// Because there were 2 references, we had to clone the inner value.\nassert!(!ptr::eq(ptr, inner.as_ptr()));\n// `arc2` is the last reference, so when we unwrap it we get back\n// the original `String`.\nlet inner = Arc::unwrap_or_clone(arc2);\nassert!(ptr::eq(ptr, inner.as_ptr()));
    \n
    ",0,"massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    1.4.0 · source

    pub fn get_mut(this: &mut Arc<T, A>) -> Option<&mut T>

    Returns a mutable reference into the given Arc, if there are\nno other Arc or Weak pointers to the same allocation.

    \n

    Returns None otherwise, because it is not safe to\nmutate a shared value.

    \n

    See also make_mut, which will clone\nthe inner value when there are other Arc pointers.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet mut x = Arc::new(3);\n*Arc::get_mut(&mut x).unwrap() = 4;\nassert_eq!(*x, 4);\n\nlet _y = Arc::clone(&x);\nassert!(Arc::get_mut(&mut x).is_none());
    \n
    source

    pub unsafe fn get_mut_unchecked(this: &mut Arc<T, A>) -> &mut T

    🔬This is a nightly-only experimental API. (get_mut_unchecked)

    Returns a mutable reference into the given Arc,\nwithout any check.

    \n

    See also get_mut, which is safe and does appropriate checks.

    \n
    §Safety
    \n

    If any other Arc or Weak pointers to the same allocation exist, then\nthey must not be dereferenced or have active borrows for the duration\nof the returned borrow, and their inner type must be exactly the same as the\ninner type of this Rc (including lifetimes). This is trivially the case if no\nsuch pointers exist, for example immediately after Arc::new.

    \n
    §Examples
    \n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet mut x = Arc::new(String::new());\nunsafe {\n    Arc::get_mut_unchecked(&mut x).push_str(\"foo\")\n}\nassert_eq!(*x, \"foo\");
    \n

    Other Arc pointers to the same allocation must be to the same type.

    \n\n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet x: Arc<str> = Arc::from(\"Hello, world!\");\nlet mut y: Arc<[u8]> = x.clone().into();\nunsafe {\n    // this is Undefined Behavior, because x's inner type is str, not [u8]\n    Arc::get_mut_unchecked(&mut y).fill(0xff); // 0xff is invalid in UTF-8\n}\nprintln!(\"{}\", &*x); // Invalid UTF-8 in a str
    \n

    Other Arc pointers to the same allocation must be to the exact same type, including lifetimes.

    \n\n
    #![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\n\nlet x: Arc<&str> = Arc::new(\"Hello, world!\");\n{\n    let s = String::from(\"Oh, no!\");\n    let mut y: Arc<&str> = x.clone().into();\n    unsafe {\n        // this is Undefined Behavior, because x's inner type\n        // is &'long str, not &'short str\n        *Arc::get_mut_unchecked(&mut y) = &s;\n    }\n}\nprintln!(\"{}\", &*x); // Use-after-free
    \n
    ",0,"massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, A> Arc<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(data: T, alloc: A) -> Arc<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T> in the provided allocator.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::new_in(5, System);
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents in the provided allocator.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(get_mut_unchecked)]\n#![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet mut five = Arc::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n#![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet zero = Arc::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn pin_in(data: T, alloc: A) -> Pin<Arc<T, A>>
    where\n A: 'static,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T, A>> in the provided allocator. If T does not implement Unpin,\nthen data will be pinned in memory and unable to be moved.

    \n
    source

    pub fn try_pin_in(data: T, alloc: A) -> Result<Pin<Arc<T, A>>, AllocError>
    where\n A: 'static,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Arc<T, A>> in the provided allocator, return an error if allocation\nfails.

    \n
    source

    pub fn try_new_in(data: T, alloc: A) -> Result<Arc<T, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc<T, A> in the provided allocator, returning an error if allocation fails.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet five = Arc::try_new_in(5, System)?;
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, in the provided allocator, returning an\nerror if allocation fails.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n#![feature(get_mut_unchecked)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet mut five = Arc::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Arc with uninitialized contents, with the memory\nbeing filled with 0 bytes, in the provided allocator, returning an error if allocation\nfails.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit, allocator_api)]\n\nuse std::sync::Arc;\nuse std::alloc::System;\n\nlet zero = Arc::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    1.4.0 · source

    pub fn try_unwrap(this: Arc<T, A>) -> Result<T, Arc<T, A>>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n

    Otherwise, an Err is returned with the same Arc that was\npassed in.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    It is strongly recommended to use Arc::into_inner instead if you don’t\nkeep the Arc in the Err case.\nImmediately dropping the Err-value, as the expression\nArc::try_unwrap(this).ok() does, can cause the strong count to\ndrop to zero and the inner value of the Arc to be dropped.\nFor instance, if two threads execute such an expression in parallel,\nthere is a race condition without the possibility of unsafety:\nThe threads could first both check whether they own the last instance\nin Arc::try_unwrap, determine that they both do not, and then both\ndiscard and drop their instance in the call to ok.\nIn this scenario, the value inside the Arc is safely destroyed\nby exactly one of the threads, but neither thread will ever be able\nto use the value.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x = Arc::new(3);\nassert_eq!(Arc::try_unwrap(x), Ok(3));\n\nlet x = Arc::new(4);\nlet _y = Arc::clone(&x);\nassert_eq!(*Arc::try_unwrap(x).unwrap_err(), 4);
    \n
    1.70.0 · source

    pub fn into_inner(this: Arc<T, A>) -> Option<T>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n

    Otherwise, None is returned and the Arc is dropped.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    If Arc::into_inner is called on every clone of this Arc,\nit is guaranteed that exactly one of the calls returns the inner value.\nThis means in particular that the inner value is not dropped.

    \n

    Arc::try_unwrap is conceptually similar to Arc::into_inner, but it\nis meant for different use-cases. If used as a direct replacement\nfor Arc::into_inner anyway, such as with the expression\nArc::try_unwrap(this).ok(), then it does\nnot give the same guarantee as described in the previous paragraph.\nFor more information, see the examples below and read the documentation\nof Arc::try_unwrap.

    \n
    §Examples
    \n

    Minimal example demonstrating the guarantee that Arc::into_inner gives.

    \n\n
    use std::sync::Arc;\n\nlet x = Arc::new(3);\nlet y = Arc::clone(&x);\n\n// Two threads calling `Arc::into_inner` on both clones of an `Arc`:\nlet x_thread = std::thread::spawn(|| Arc::into_inner(x));\nlet y_thread = std::thread::spawn(|| Arc::into_inner(y));\n\nlet x_inner_value = x_thread.join().unwrap();\nlet y_inner_value = y_thread.join().unwrap();\n\n// One of the threads is guaranteed to receive the inner value:\nassert!(matches!(\n    (x_inner_value, y_inner_value),\n    (None, Some(3)) | (Some(3), None)\n));\n// The result could also be `(None, None)` if the threads called\n// `Arc::try_unwrap(x).ok()` and `Arc::try_unwrap(y).ok()` instead.
    \n

    A more practical example demonstrating the need for Arc::into_inner:

    \n\n
    use std::sync::Arc;\n\n// Definition of a simple singly linked list using `Arc`:\n#[derive(Clone)]\nstruct LinkedList<T>(Option<Arc<Node<T>>>);\nstruct Node<T>(T, Option<Arc<Node<T>>>);\n\n// Dropping a long `LinkedList<T>` relying on the destructor of `Arc`\n// can cause a stack overflow. To prevent this, we can provide a\n// manual `Drop` implementation that does the destruction in a loop:\nimpl<T> Drop for LinkedList<T> {\n    fn drop(&mut self) {\n        let mut link = self.0.take();\n        while let Some(arc_node) = link.take() {\n            if let Some(Node(_value, next)) = Arc::into_inner(arc_node) {\n                link = next;\n            }\n        }\n    }\n}\n\n// Implementation of `new` and `push` omitted\nimpl<T> LinkedList<T> {\n    /* ... */\n}\n\n// The following code could have still caused a stack overflow\n// despite the manual `Drop` impl if that `Drop` impl had used\n// `Arc::try_unwrap(arc).ok()` instead of `Arc::into_inner(arc)`.\n\n// Create a long list and clone it\nlet mut x = LinkedList::new();\nlet size = 100000;\nfor i in 0..size {\n    x.push(i); // Adds i to the front of x\n}\nlet y = x.clone();\n\n// Drop the clones in parallel\nlet x_thread = std::thread::spawn(|| drop(x));\nlet y_thread = std::thread::spawn(|| drop(y));\nx_thread.join().unwrap();\ny_thread.join().unwrap();
    \n
    ",0,"massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> Archive for Arc<T>
    where\n T: ArchiveUnsized + ?Sized,

    §

    type Archived = ArchivedRc<<T as ArchiveUnsized>::Archived, ArcFlavor>

    The archived representation of this type. Read more
    §

    type Resolver = RcResolver<<T as ArchiveUnsized>::MetadataResolver>

    The resolver for this type. It must contain all the additional information from serializing\nneeded to make the archived type from the normal type.
    §

    unsafe fn resolve(\n &self,\n pos: usize,\n resolver: <Arc<T> as Archive>::Resolver,\n out: *mut <Arc<T> as Archive>::Archived,\n)

    Creates the archived version of this value at the given position and writes it to the given\noutput. Read more
    ","Archive","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.64.0 · source§

    impl<T> AsFd for Arc<T>
    where\n T: AsFd + ?Sized,

    This impl allows implementing traits that require AsFd on Arc.

    \n\n
    use std::net::UdpSocket;\nuse std::sync::Arc;\n\ntrait MyTrait: AsFd {}\nimpl MyTrait for Arc<UdpSocket> {}\nimpl MyTrait for Box<UdpSocket> {}
    \n
    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.63.0 · source§

    impl<T> AsRawFd for Arc<T>
    where\n T: AsRawFd,

    This impl allows implementing traits that require AsRawFd on Arc.

    \n\n
    use std::net::UdpSocket;\nuse std::sync::Arc;\ntrait MyTrait: AsRawFd {\n}\nimpl MyTrait for Arc<UdpSocket> {}\nimpl MyTrait for Box<UdpSocket> {}
    \n
    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Borrow<T> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<M, P> BoundDataProvider<M> for Arc<P>
    where\n M: DataMarker,\n P: BoundDataProvider<M> + ?Sized,

    §

    fn load_bound(&self, req: DataRequest<'_>) -> Result<DataResponse<M>, DataError>

    Query the provider for data, returning the result. Read more
    §

    fn bound_key(&self) -> DataKey

    Returns the [DataKey] that this provider uses for loading data.
    ","BoundDataProvider","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> BufferProvider for Arc<T>
    where\n T: BufferProvider + ?Sized,

    §

    fn load_buffer(\n &self,\n key: DataKey,\n req: DataRequest<'_>,\n) -> Result<DataResponse<BufferMarker>, DataError>

    Loads a [DataPayload]<[BufferMarker]> according to the key and request.
    ","BufferProvider","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Clone for Arc<T, A>
    where\n A: Allocator + Clone,\n T: ?Sized,

    source§

    fn clone(&self) -> Arc<T, A>

    Makes a clone of the Arc pointer.

    \n

    This creates another pointer to the same allocation, increasing the\nstrong reference count.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nlet _ = Arc::clone(&five);
    \n
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<M, P> DataProvider<M> for Arc<P>
    where\n M: KeyedDataMarker,\n P: DataProvider<M> + ?Sized,

    §

    fn load(&self, req: DataRequest<'_>) -> Result<DataResponse<M>, DataError>

    Query the provider for data, returning the result. Read more
    ","DataProvider","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Debug for Arc<T, A>
    where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T> Default for Arc<T>
    where\n T: Default,

    source§

    fn default() -> Arc<T>

    Creates a new Arc<T>, with the Default value for T.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet x: Arc<i32> = Default::default();\nassert_eq!(*x, 0);
    \n
    ","Default","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Deref for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<'de, T, U> DeserializeAs<'de, Arc<T>> for Arc<U>
    where\n U: DeserializeAs<'de, T>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Arc<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Arc>","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Display for Arc<T, A>
    where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Drop for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Drops the Arc.

    \n

    This will decrement the strong reference count. If the strong reference\ncount reaches zero then the only other references (if any) are\nWeak, so we drop the inner value.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nstruct Foo;\n\nimpl Drop for Foo {\n    fn drop(&mut self) {\n        println!(\"dropped!\");\n    }\n}\n\nlet foo  = Arc::new(Foo);\nlet foo2 = Arc::clone(&foo);\n\ndrop(foo);    // Doesn't print anything\ndrop(foo2);   // Prints \"dropped!\"
    \n
    ","Drop","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<M, P> DynamicDataProvider<M> for Arc<P>
    where\n M: DataMarker,\n P: DynamicDataProvider<M> + ?Sized,

    §

    fn load_data(\n &self,\n key: DataKey,\n req: DataRequest<'_>,\n) -> Result<DataResponse<M>, DataError>

    Query the provider for data, returning the result. Read more
    ","DynamicDataProvider","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.52.0 · source§

    impl<T> Error for Arc<T>
    where\n T: Error + ?Sized,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'a>(&'a self, req: &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
    ","Error","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.21.0 · source§

    impl<T, A> From<Box<T, A>> for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn from(v: Box<T, A>) -> Arc<T, A>

    Move a boxed object to a new, reference-counted allocation.

    \n
    §Example
    \n
    let unique: Box<str> = Box::from(\"eggplant\");\nlet shared: Arc<str> = Arc::from(unique);\nassert_eq!(\"eggplant\", &shared[..]);
    \n
    ","From>","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.45.0 · source§

    impl<'a, B> From<Cow<'a, B>> for Arc<B>
    where\n B: ToOwned + ?Sized,\n Arc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,

    source§

    fn from(cow: Cow<'a, B>) -> Arc<B>

    Create an atomically reference-counted pointer from\na clone-on-write pointer by copying its content.

    \n
    §Example
    \n
    let cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\nlet shared: Arc<str> = Arc::from(cow);\nassert_eq!(\"eggplant\", &shared[..]);
    \n
    ","From>","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.6.0 · source§

    impl<T> From<T> for Arc<T>

    source§

    fn from(t: T) -> Arc<T>

    Converts a T into an Arc<T>

    \n

    The conversion moves the value into a\nnewly allocated Arc. It is equivalent to\ncalling Arc::new(t).

    \n
    §Example
    \n
    let x = 5;\nlet arc = Arc::new(5);\n\nassert_eq!(Arc::from(x), arc);
    \n
    ","From","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Hash for Arc<T, A>
    where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> JsonSchema for Arc<T>
    where\n T: JsonSchema + ?Sized,

    §

    fn is_referenceable() -> bool

    Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
    §

    fn schema_name() -> String

    The name of the generated JSON Schema. Read more
    §

    fn schema_id() -> Cow<'static, str>

    Returns a string that uniquely identifies the schema produced by this type. Read more
    §

    fn json_schema(gen: &mut SchemaGenerator) -> Schema

    Generates a JSON Schema for this type. Read more
    ","JsonSchema","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<Sp> LocalSpawn for Arc<Sp>
    where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>,\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T> Log for Arc<T>
    where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records. Read more
    ","Log","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Ord for Arc<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Arc<T, A>) -> Ordering

    Comparison for two Arcs.

    \n

    The two are compared by calling cmp() on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\nuse std::cmp::Ordering;\n\nlet five = Arc::new(5);\n\nassert_eq!(Ordering::Less, five.cmp(&Arc::new(6)));
    \n
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Arc<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Arc<T, A>) -> bool

    Equality for two Arcs.

    \n

    Two Arcs are equal if their inner values are equal, even if they are\nstored in different allocation.

    \n

    If T also implements Eq (implying reflexivity of equality),\ntwo Arcs that point to the same allocation are always equal.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five == Arc::new(5));
    \n
    source§

    fn ne(&self, other: &Arc<T, A>) -> bool

    Inequality for two Arcs.

    \n

    Two Arcs are not equal if their inner values are not equal.

    \n

    If T also implements Eq (implying reflexivity of equality),\ntwo Arcs that point to the same value are always equal.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five != Arc::new(6));
    \n
    ","PartialEq","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Arc<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Arc<T, A>) -> Option<Ordering>

    Partial comparison for two Arcs.

    \n

    The two are compared by calling partial_cmp() on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\nuse std::cmp::Ordering;\n\nlet five = Arc::new(5);\n\nassert_eq!(Some(Ordering::Less), five.partial_cmp(&Arc::new(6)));
    \n
    source§

    fn lt(&self, other: &Arc<T, A>) -> bool

    Less-than comparison for two Arcs.

    \n

    The two are compared by calling < on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five < Arc::new(6));
    \n
    source§

    fn le(&self, other: &Arc<T, A>) -> bool

    ‘Less than or equal to’ comparison for two Arcs.

    \n

    The two are compared by calling <= on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five <= Arc::new(5));
    \n
    source§

    fn gt(&self, other: &Arc<T, A>) -> bool

    Greater-than comparison for two Arcs.

    \n

    The two are compared by calling > on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five > Arc::new(4));
    \n
    source§

    fn ge(&self, other: &Arc<T, A>) -> bool

    ‘Greater than or equal to’ comparison for two Arcs.

    \n

    The two are compared by calling >= on their inner values.

    \n
    §Examples
    \n
    use std::sync::Arc;\n\nlet five = Arc::new(5);\n\nassert!(five >= Arc::new(5));
    \n
    ","PartialOrd","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Pointer for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Pointer","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T, S> Serialize<S> for Arc<T>
    where\n T: SerializeUnsized<S> + 'static + ?Sized,\n S: Serializer + SharedSerializeRegistry + ?Sized,

    §

    fn serialize(\n &self,\n serializer: &mut S,\n) -> Result<<Arc<T> as Archive>::Resolver, <S as Fallible>::Error>

    Writes the dependencies for the object and returns a resolver that can create the archived\ntype.
    ","Serialize","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, U> SerializeAs<Arc<T>> for Arc<U>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &Arc<T>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<Request, S> Service<Request> for Arc<S>
    where\n S: Service<Request> + ?Sized,

    §

    type Response = <S as Service<Request>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Request>>::Error

    Errors produced by the service. Read more
    §

    type Future = <S as Service<Request>>::Future

    The future response value.
    §

    fn call(&self, req: Request) -> <Arc<S> as Service<Request>>::Future

    Process the request and return the response asynchronously.\ncall takes &self instead of mut &self because: Read more
    ","Service","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> SharedPointer for Arc<T>
    where\n T: ?Sized,

    §

    fn data_address(&self) -> *const ()

    Returns the data address for this shared pointer.
    ","SharedPointer","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<Sp> Spawn for Arc<Sp>
    where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<S> Subscriber for Arc<S>
    where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> ToPathSegments for Arc<T>
    where\n T: ToPathSegments + ?Sized,

    §

    fn to_path_segments(&self) -> Result<PathSegments, PathSegmentError>

    Convert to [PathSegments].
    ","ToPathSegments","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> WasmModuleResources for Arc<T>
    where\n T: WasmModuleResources,

    §

    fn table_at(&self, at: u32) -> Option<TableType>

    Returns the table at given index if any. Read more
    §

    fn memory_at(&self, at: u32) -> Option<MemoryType>

    Returns the linear memory at given index.
    §

    fn tag_at(&self, at: u32) -> Option<&FuncType>

    Returns the tag at given index. Read more
    §

    fn global_at(&self, at: u32) -> Option<GlobalType>

    Returns the global variable at given index. Read more
    §

    fn sub_type_at(&self, type_idx: u32) -> Option<&SubType>

    Returns the SubType associated with the given type index. Read more
    §

    fn type_id_of_function(&self, func_idx: u32) -> Option<CoreTypeId>

    Returns the type id associated with the given function\nindex.
    §

    fn type_of_function(&self, func_idx: u32) -> Option<&FuncType>

    Returns the FuncType associated with the given function index. Read more
    §

    fn check_heap_type(\n &self,\n t: &mut HeapType,\n offset: usize,\n) -> Result<(), BinaryReaderError>

    Checks that a HeapType is valid and then additionally place it in its\ncanonical form. Read more
    §

    fn top_type(&self, heap_type: &HeapType) -> HeapType

    Get the top type for the given heap type.
    §

    fn element_type_at(&self, at: u32) -> Option<RefType>

    Returns the element type at the given index. Read more
    §

    fn is_subtype(&self, a: ValType, b: ValType) -> bool

    Is a a subtype of b?
    §

    fn element_count(&self) -> u32

    Returns the number of elements.
    §

    fn data_count(&self) -> Option<u32>

    Returns the number of bytes in the Wasm data section.
    §

    fn is_function_referenced(&self, idx: u32) -> bool

    Returns whether the function index is referenced in the module anywhere\noutside of the start/function sections.
    §

    fn check_value_type(\n &self,\n t: &mut ValType,\n features: &WasmFeatures,\n offset: usize,\n) -> Result<(), BinaryReaderError>

    Check and canonicalize a value type. Read more
    §

    fn check_ref_type(\n &self,\n ref_type: &mut RefType,\n offset: usize,\n) -> Result<(), BinaryReaderError>

    Check and canonicalize a reference type.
    ","WasmModuleResources","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<'a, T> Writeable for Arc<T>
    where\n T: Writeable + ?Sized,

    §

    fn write_to<W>(&self, sink: &mut W) -> Result<(), Error>
    where\n W: Write + ?Sized,

    Writes a string to the given sink. Errors from the sink are bubbled up.\nThe default implementation delegates to write_to_parts, and discards any\nPart annotations.
    §

    fn write_to_parts<W>(&self, sink: &mut W) -> Result<(), Error>
    where\n W: PartsWrite + ?Sized,

    Write bytes and Part annotations to the given sink. Errors from the\nsink are bubbled up. The default implementation delegates to write_to,\nand doesn’t produce any Part annotations.
    §

    fn writeable_length_hint(&self) -> LengthHint

    Returns a hint for the number of UTF-8 bytes that will be written to the sink. Read more
    §

    fn write_to_string(&self) -> Cow<'_, str>

    Creates a new String with the data from this Writeable. Like ToString,\nbut smaller and faster. Read more
    §

    fn writeable_cmp_bytes(&self, other: &[u8]) -> Ordering

    Compares the contents of this Writeable to the given bytes\nwithout allocating a String to hold the Writeable contents. Read more
    ","Writeable","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> CartablePointerLike for Arc<T>

    ","CartablePointerLike","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> CloneStableDeref for Arc<T>
    where\n T: ?Sized,

    ","CloneStableDeref","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> CloneableCart for Arc<T>
    where\n T: ?Sized,

    ","CloneableCart","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> CloneableCartablePointerLike for Arc<T>

    ","CloneableCartablePointerLike","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, U, A> CoerceUnsized<Arc<U, A>> for Arc<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, A> DerefPure for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","DerefPure","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    source§

    impl<T, U> DispatchFromDyn<Arc<U>> for Arc<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Eq for Arc<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Send for Arc<T, A>
    where\n T: Sync + Send + ?Sized,\n A: Allocator + Send,

    ","Send","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    §

    impl<T> StableDeref for Arc<T>
    where\n T: ?Sized,

    ","StableDeref","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.0.0 · source§

    impl<T, A> Sync for Arc<T, A>
    where\n T: Sync + Send + ?Sized,\n A: Allocator + Sync,

    ","Sync","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.33.0 · source§

    impl<T, A> Unpin for Arc<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","Unpin","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"],["
    1.9.0 · source§

    impl<T, A> UnwindSafe for Arc<T, A>
    where\n T: RefUnwindSafe + ?Sized,\n A: Allocator + UnwindSafe,

    ","UnwindSafe","massa_protocol_worker::handlers::block_handler::cache::SharedBlockCache","massa_protocol_worker::handlers::endorsement_handler::cache::SharedEndorsementCache","massa_protocol_worker::handlers::operation_handler::cache::SharedOperationCache","massa_protocol_worker::handlers::peer_handler::models::SharedPeerDB"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/alloc/vec/struct.Vec.js b/type.impl/alloc/vec/struct.Vec.js index d1c5612b85b..bcb04f33ea7 100644 --- a/type.impl/alloc/vec/struct.Vec.js +++ b/type.impl/alloc/vec/struct.Vec.js @@ -1,4 +1,4 @@ (function() {var type_impls = { -"massa_db_exports":[["
    §

    impl<T> ArrayLike for Vec<T>

    §

    type Item = T

    Type of the elements being stored.
    ","ArrayLike","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.5.0 · source§

    impl<T, A> AsMut<[T]> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn as_mut(&mut self) -> &mut [T]

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut<[T]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.5.0 · source§

    impl<T, A> AsMut<Vec<T, A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn as_mut(&mut self) -> &mut Vec<T, A>

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> AsRef<[T]> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn as_ref(&self) -> &[T]

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef<[T]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> AsRef<Vec<T, A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn as_ref(&self) -> &Vec<T, A>

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl AsyncWrite for Vec<u8>

    §

    fn poll_write(\n self: Pin<&mut Vec<u8>>,\n _: &mut Context<'_>,\n buf: &[u8],\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Vec<u8>>,\n _: &mut Context<'_>,\n bufs: &[IoSlice<'_>],\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Vec<u8>>,\n _: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Vec<u8>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl AsyncWrite for Vec<u8>

    §

    fn poll_write(\n self: Pin<&mut Vec<u8>>,\n _cx: &mut Context<'_>,\n buf: &[u8],\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Vec<u8>>,\n _: &mut Context<'_>,\n bufs: &[IoSlice<'_>],\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Vec<u8>>,\n _cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Vec<u8>>,\n _cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Borrow<[T]> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn borrow(&self) -> &[T]

    Immutably borrows from an owned value. Read more
    ","Borrow<[T]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> BorrowMut<[T]> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn borrow_mut(&mut self) -> &mut [T]

    Mutably borrows from an owned value. Read more
    ","BorrowMut<[T]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl BufMut for Vec<u8>

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    fn put<T>(&mut self, src: T)
    where\n T: Buf,\n Vec<u8>: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>
    where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>
    where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Clone for Vec<T, A>
    where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone_from(&mut self, source: &Vec<T, A>)

    Overwrites the contents of self with a clone of the contents of source.

    \n

    This method is preferred over simply assigning source.clone() to self,\nas it avoids reallocation if possible. Additionally, if the element type\nT overrides clone_from(), this will reuse the resources of self’s\nelements as well.

    \n
    §Examples
    \n
    let x = vec![5, 6, 7];\nlet mut y = vec![8, 9, 10];\nlet yp: *const i32 = y.as_ptr();\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no reallocation occurred\nassert_eq!(yp, y.as_ptr());
    \n
    source§

    fn clone(&self) -> Vec<T, A>

    Returns a copy of the value. Read more
    ","Clone","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Debug for Vec<T, A>
    where\n T: Debug,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl DecodeTarget for Vec<u8>

    §

    fn decode_with(\n &mut self,\n max_len: usize,\n f: impl for<'a> FnOnce(&'a mut [u8]) -> Result<usize, Error>,\n) -> Result<usize, Error>

    Decodes into this buffer, provides the maximum length for implementations that wish to\npreallocate space, along with a function that will write bytes into the buffer and return\nthe length written to it.
    ","DecodeTarget","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T> Default for Vec<T>

    source§

    fn default() -> Vec<T>

    Creates an empty Vec<T>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    ","Default","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Deref for Vec<T, A>
    where\n A: Allocator,

    §

    type Target = [T]

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &[T]

    Dereferences the value.
    ","Deref","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Vec<T, A>
    where\n A: Allocator,

    source§

    fn deref_mut(&mut self) -> &mut [T]

    Mutably dereferences the value.
    ","DerefMut","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<'de, T> Deserialize<'de> for Vec<T>
    where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<Vec<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<'de, T, U> DeserializeAs<'de, Vec<T>> for Vec<U>
    where\n U: DeserializeAs<'de, T>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Vec<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Vec>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Drop for Vec<T, A>
    where\n A: Allocator,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl EncodeTarget for Vec<u8>

    §

    fn encode_with(\n &mut self,\n max_len: usize,\n f: impl for<'a> FnOnce(&'a mut [u8]) -> Result<usize, Error>,\n) -> Result<usize, Error>

    Encodes into this buffer, provides the maximum length for implementations that wish to\npreallocate space, along with a function that will encode ASCII bytes into the buffer and\nreturn the length written to it.
    ","EncodeTarget","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.2.0 · source§

    impl<'a, T, A> Extend<&'a T> for Vec<T, A>
    where\n T: Copy + 'a,\n A: Allocator,

    Extend implementation that copies elements out of references before pushing them onto the Vec.

    \n

    This implementation is specialized for slice iterators, where it uses copy_from_slice to\nappend the entire slice at once.

    \n
    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = &'a T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: &'a T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<&'a T>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Extend<T> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, item: T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T> From<&[T]> for Vec<T>
    where\n T: Clone,

    source§

    fn from(s: &[T]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(&[1, 2, 3][..]), vec![1, 2, 3]);
    \n
    ","From<&[T]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.74.0 · source§

    impl<T, const N: usize> From<&[T; N]> for Vec<T>
    where\n T: Clone,

    source§

    fn from(s: &[T; N]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(&[1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<&[T; N]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl From<&OperationPrefixId> for Vec<u8>

    §

    fn from(prefix: &OperationPrefixId) -> Vec<u8>

    Converts to this type from the input type.
    ","From<&OperationPrefixId>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.19.0 · source§

    impl<T> From<&mut [T]> for Vec<T>
    where\n T: Clone,

    source§

    fn from(s: &mut [T]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(&mut [1, 2, 3][..]), vec![1, 2, 3]);
    \n
    ","From<&mut [T]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.74.0 · source§

    impl<T, const N: usize> From<&mut [T; N]> for Vec<T>
    where\n T: Clone,

    source§

    fn from(s: &mut [T; N]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(&mut [1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<&mut [T; N]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl From<&str> for Vec<u8>

    source§

    fn from(s: &str) -> Vec<u8>

    Allocate a Vec<u8> and fill it with a UTF-8 string.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(\"123\"), vec![b'1', b'2', b'3']);
    \n
    ","From<&str>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.44.0 · source§

    impl<T, const N: usize> From<[T; N]> for Vec<T>

    source§

    fn from(s: [T; N]) -> Vec<T>

    Allocate a Vec<T> and move s’s items into it.

    \n
    §Examples
    \n
    assert_eq!(Vec::from([1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<[T; N]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.5.0 · source§

    impl<T, A> From<BinaryHeap<T, A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn from(heap: BinaryHeap<T, A>) -> Vec<T, A>

    Converts a BinaryHeap<T> into a Vec<T>.

    \n

    This conversion requires no data movement or allocation, and has\nconstant time complexity.

    \n
    ","From>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl<T, O> From<BitVec<T, O>> for Vec<T>
    where\n T: BitStore,\n O: BitOrder,

    §

    fn from(bv: BitVec<T, O>) -> Vec<T>

    Converts to this type from the input type.
    ","From>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.18.0 · source§

    impl<T, A> From<Box<[T], A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn from(s: Box<[T], A>) -> Vec<T, A>

    Convert a boxed slice into a vector by transferring ownership of\nthe existing heap allocation.

    \n
    §Examples
    \n
    let b: Box<[i32]> = vec![1, 2, 3].into_boxed_slice();\nassert_eq!(Vec::from(b), vec![1, 2, 3]);
    \n
    ","From>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl From<Bytes> for Vec<u8>

    §

    fn from(bytes: Bytes) -> Vec<u8>

    Converts to this type from the input type.
    ","From","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl From<BytesMut> for Vec<u8>

    §

    fn from(bytes: BytesMut) -> Vec<u8>

    Converts to this type from the input type.
    ","From","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.7.0 · source§

    impl From<CString> for Vec<u8>

    source§

    fn from(s: CString) -> Vec<u8>

    Converts a CString into a Vec<u8>.

    \n

    The conversion consumes the CString, and removes the terminating NUL byte.

    \n
    ","From","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.14.0 · source§

    impl<'a, T> From<Cow<'a, [T]>> for Vec<T>
    where\n [T]: ToOwned<Owned = Vec<T>>,

    source§

    fn from(s: Cow<'a, [T]>) -> Vec<T>

    Convert a clone-on-write slice into a vector.

    \n

    If s already owns a Vec<T>, it will be returned directly.\nIf s is borrowing a slice, a new Vec<T> will be allocated and\nfilled by cloning s’s items into it.

    \n
    §Examples
    \n
    let o: Cow<'_, [i32]> = Cow::Owned(vec![1, 2, 3]);\nlet b: Cow<'_, [i32]> = Cow::Borrowed(&[1, 2, 3]);\nassert_eq!(Vec::from(o), Vec::from(b));
    \n
    ","From>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.14.0 · source§

    impl From<String> for Vec<u8>

    source§

    fn from(string: String) -> Vec<u8>

    Converts the given String to a vector Vec that holds values of type u8.

    \n
    §Examples
    \n
    let s1 = String::from(\"hello world\");\nlet v1 = Vec::from(s1);\n\nfor b in v1 {\n    println!(\"{b}\");\n}
    \n
    ","From","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.10.0 · source§

    impl<T, A> From<VecDeque<T, A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn from(other: VecDeque<T, A>) -> Vec<T, A>

    Turn a VecDeque<T> into a Vec<T>.

    \n

    This never needs to re-allocate, but does need to do O(n) data movement if\nthe circular buffer doesn’t happen to be at the beginning of the allocation.

    \n
    §Examples
    \n
    use std::collections::VecDeque;\n\n// This one is *O*(1).\nlet deque: VecDeque<_> = (1..5).collect();\nlet ptr = deque.as_slices().0.as_ptr();\nlet vec = Vec::from(deque);\nassert_eq!(vec, [1, 2, 3, 4]);\nassert_eq!(vec.as_ptr(), ptr);\n\n// This one needs data rearranging.\nlet mut deque: VecDeque<_> = (1..5).collect();\ndeque.push_front(9);\ndeque.push_front(8);\nlet ptr = deque.as_slices().1.as_ptr();\nlet vec = Vec::from(deque);\nassert_eq!(vec, [8, 9, 1, 2, 3, 4]);\nassert_eq!(vec.as_ptr(), ptr);
    \n
    ","From>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T> FromIterator<T> for Vec<T>

    Collects an iterator into a Vec, commonly called via Iterator::collect()

    \n

    §Allocation behavior

    \n

    In general Vec does not guarantee any particular growth or allocation strategy.\nThat also applies to this trait impl.

    \n

    Note: This section covers implementation details and is therefore exempt from\nstability guarantees.

    \n

    Vec may use any or none of the following strategies,\ndepending on the supplied iterator:

    \n
      \n
    • preallocate based on Iterator::size_hint()\n
        \n
      • and panic if the number of items is outside the provided lower/upper bounds
      • \n
      \n
    • \n
    • use an amortized growth strategy similar to pushing one item at a time
    • \n
    • perform the iteration in-place on the original allocation backing the iterator
    • \n
    \n

    The last case warrants some attention. It is an optimization that in many cases reduces peak memory\nconsumption and improves cache locality. But when big, short-lived allocations are created,\nonly a small fraction of their items get collected, no further use is made of the spare capacity\nand the resulting Vec is moved into a longer-lived structure, then this can lead to the large\nallocations having their lifetimes unnecessarily extended which can result in increased memory\nfootprint.

    \n

    In cases where this is an issue, the excess capacity can be discarded with Vec::shrink_to(),\nVec::shrink_to_fit() or by collecting into Box<[T]> instead, which additionally reduces\nthe size of the long-lived struct.

    \n\n
    static LONG_LIVED: Mutex<Vec<Vec<u16>>> = Mutex::new(Vec::new());\n\nfor i in 0..10 {\n    let big_temporary: Vec<u16> = (0..1024).collect();\n    // discard most items\n    let mut result: Vec<_> = big_temporary.into_iter().filter(|i| i % 100 == 0).collect();\n    // without this a lot of unused capacity might be moved into the global\n    result.shrink_to_fit();\n    LONG_LIVED.lock().unwrap().push(result);\n}
    \n
    source§

    fn from_iter<I>(iter: I) -> Vec<T>
    where\n I: IntoIterator<Item = T>,

    Creates a value from an iterator. Read more
    ","FromIterator","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Hash for Vec<T, A>
    where\n T: Hash,\n A: Allocator,

    The hash of a vector is the same as that of the corresponding slice,\nas required by the core::borrow::Borrow implementation.

    \n\n
    use std::hash::BuildHasher;\n\nlet b = std::hash::RandomState::new();\nlet v: Vec<u8> = vec![0xa8, 0x3c, 0x09];\nlet s: &[u8] = &[0xa8, 0x3c, 0x09];\nassert_eq!(b.hash_one(v), b.hash_one(s));
    \n
    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, I, A> Index<I> for Vec<T, A>
    where\n I: SliceIndex<[T]>,\n A: Allocator,

    §

    type Output = <I as SliceIndex<[T]>>::Output

    The returned type after indexing.
    source§

    fn index(&self, index: I) -> &<Vec<T, A> as Index<I>>::Output

    Performs the indexing (container[index]) operation. Read more
    ","Index","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, I, A> IndexMut<I> for Vec<T, A>
    where\n I: SliceIndex<[T]>,\n A: Allocator,

    source§

    fn index_mut(&mut self, index: I) -> &mut <Vec<T, A> as Index<I>>::Output

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<'de, T, E> IntoDeserializer<'de, E> for Vec<T>
    where\n T: IntoDeserializer<'de, E>,\n E: Error,

    §

    type Deserializer = SeqDeserializer<<Vec<T> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(self) -> <Vec<T> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> IntoIterator for Vec<T, A>
    where\n A: Allocator,

    source§

    fn into_iter(self) -> <Vec<T, A> as IntoIterator>::IntoIter

    Creates a consuming iterator, that is, one that moves each value out of\nthe vector (from start to end). The vector cannot be used after calling\nthis.

    \n
    §Examples
    \n
    let v = vec![\"a\".to_string(), \"b\".to_string()];\nlet mut v_iter = v.into_iter();\n\nlet first_element: Option<String> = v_iter.next();\n\nassert_eq!(first_element, Some(\"a\".to_string()));\nassert_eq!(v_iter.next(), Some(\"b\".to_string()));\nassert_eq!(v_iter.next(), None);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl IntoResponse for Vec<u8>

    §

    fn into_response(self) -> Response<Body>

    Create a response.
    ","IntoResponse","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl Message for Vec<u8>

    google.protobuf.BytesValue

    \n
    source§

    fn encoded_len(&self) -> usize

    Returns the encoded length of the message without a length delimiter.
    source§

    fn clear(&mut self)

    Clears the message, resetting all fields to their default.
    source§

    fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>
    where\n Self: Sized,

    Encodes the message to a buffer. Read more
    source§

    fn encode_to_vec(&self) -> Vec<u8>
    where\n Self: Sized,

    Encodes the message to a newly allocated buffer.
    source§

    fn encode_length_delimited(\n &self,\n buf: &mut impl BufMut,\n) -> Result<(), EncodeError>
    where\n Self: Sized,

    Encodes the message with a length-delimiter to a buffer. Read more
    source§

    fn encode_length_delimited_to_vec(&self) -> Vec<u8>
    where\n Self: Sized,

    Encodes the message with a length-delimiter to a newly allocated buffer.
    source§

    fn decode(buf: impl Buf) -> Result<Self, DecodeError>
    where\n Self: Default,

    Decodes an instance of the message from a buffer. Read more
    source§

    fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>
    where\n Self: Default,

    Decodes a length-delimited instance of the message from the buffer.
    source§

    fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>
    where\n Self: Sized,

    Decodes an instance of the message from a buffer, and merges it into self. Read more
    source§

    fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>
    where\n Self: Sized,

    Decodes a length-delimited instance of the message from buffer, and\nmerges it into self.
    ","Message","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl Name for Vec<u8>

    google.protobuf.BytesValue

    \n
    source§

    const NAME: &'static str = "BytesValue"

    Simple name for this Message.\nThis name is the same as it appears in the source .proto file, e.g. FooBar.
    source§

    const PACKAGE: &'static str = "google.protobuf"

    Package name this message type is contained in. They are domain-like\nand delimited by ., e.g. google.protobuf.
    source§

    fn type_url() -> String

    Type URL for this Message, which by default is the full name with a\nleading slash, but may also include a leading domain name, e.g.\ntype.googleapis.com/google.profile.Person.\nThis can be used when serializing into the google.protobuf.Any type.
    source§

    fn full_name() -> String

    Fully-qualified unique name for this Message.\nIt’s prefixed with the package name and names of any parent messages,\ne.g. google.rpc.BadRequest.FieldViolation.\nBy default, this is the package name followed by the message name.\nFully-qualified names must be unique within a domain of Type URLs.
    ","Name","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Ord for Vec<T, A>
    where\n T: Ord,\n A: Allocator,

    Implements ordering of vectors, lexicographically.

    \n
    source§

    fn cmp(&self, other: &Vec<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, U, A> PartialEq<&[U]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&[U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&[U]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<&[U; N]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&[U; N]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&[U; N]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, U, A> PartialEq<&mut [U]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&mut [U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&mut [U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&mut [U]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.48.0 · source§

    impl<T, U, A> PartialEq<[U]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &[U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<[U]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<[U; N]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &[U; N]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<[U; N]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl PartialEq<Bytes> for Vec<u8>

    §

    fn eq(&self, other: &Bytes) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl PartialEq<BytesMut> for Vec<u8>

    §

    fn eq(&self, other: &BytesMut) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, U, A1, A2> PartialEq<Vec<U, A2>> for Vec<T, A1>
    where\n A1: Allocator,\n A2: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &Vec<U, A2>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Vec<U, A2>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl PartialOrd<Bytes> for Vec<u8>

    §

    fn partial_cmp(&self, other: &Bytes) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl PartialOrd<BytesMut> for Vec<u8>

    §

    fn partial_cmp(&self, other: &BytesMut) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A1, A2> PartialOrd<Vec<T, A2>> for Vec<T, A1>
    where\n T: PartialOrd,\n A1: Allocator,\n A2: Allocator,

    Implements comparison of vectors, lexicographically.

    \n
    source§

    fn partial_cmp(&self, other: &Vec<T, A2>) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<T> Serialize for Vec<T>
    where\n T: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<T, U> SerializeAs<Vec<T>> for Vec<U>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &Vec<T>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl<T> Sink<T> for Vec<T>

    §

    type Error = Infallible

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Vec<T>>,\n _: &mut Context<'_>,\n) -> Poll<Result<(), <Vec<T> as Sink<T>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Vec<T>>,\n item: T,\n) -> Result<(), <Vec<T> as Sink<T>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Vec<T>>,\n _: &mut Context<'_>,\n) -> Poll<Result<(), <Vec<T> as Sink<T>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Vec<T>>,\n _: &mut Context<'_>,\n) -> Poll<Result<(), <Vec<T> as Sink<T>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl<T> Source for Vec<T>
    where\n T: Source + Sync + Send + Clone + 'static,

    §

    fn clone_into_box(&self) -> Box<dyn Source + Send + Sync>

    §

    fn collect(&self) -> Result<HashMap<String, Value>, ConfigError>

    Collect all configuration properties available from this source and return\na Map.
    §

    fn collect_to(&self, cache: &mut Value) -> Result<(), ConfigError>

    Collects all configuration properties to a provided cache.
    ","Source","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<T> Vec<T>

    1.0.0 (const: 1.39.0) · source

    pub const fn new() -> Vec<T>

    Constructs a new, empty Vec<T>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    §Examples
    \n
    let mut vec: Vec<i32> = Vec::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> Vec<T>

    Constructs a new, empty Vec<T> with at least the specified capacity.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n

    It is important to note that although the returned vector has the\nminimum capacity specified, the vector will have a zero length. For\nan explanation of the difference between length and capacity, see\nCapacity and reallocation.

    \n

    If it is important to know the exact allocated capacity of a Vec,\nalways use the capacity method after construction.

    \n

    For Vec<T> where T is a zero-sized type, there will be no allocation\nand the capacity will always be usize::MAX.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = Vec::with_capacity(10);\n\n// The vector contains no items, even though it has capacity for more\nassert_eq!(vec.len(), 0);\nassert!(vec.capacity() >= 10);\n\n// These are all done without reallocating...\nfor i in 0..10 {\n    vec.push(i);\n}\nassert_eq!(vec.len(), 10);\nassert!(vec.capacity() >= 10);\n\n// ...but this may make the vector reallocate\nvec.push(11);\nassert_eq!(vec.len(), 11);\nassert!(vec.capacity() >= 11);\n\n// A vector of a zero-sized type will always over-allocate, since no\n// allocation is necessary\nlet vec_units = Vec::<()>::with_capacity(10);\nassert_eq!(vec_units.capacity(), usize::MAX);
    \n
    source

    pub fn try_with_capacity(capacity: usize) -> Result<Vec<T>, TryReserveError>

    🔬This is a nightly-only experimental API. (try_with_capacity)

    Constructs a new, empty Vec<T> with at least the specified capacity.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n
    §Errors
    \n

    Returns an error if the capacity exceeds isize::MAX bytes,\nor if the allocator reports allocation failure.

    \n
    1.0.0 · source

    pub unsafe fn from_raw_parts(\n ptr: *mut T,\n length: usize,\n capacity: usize,\n) -> Vec<T>

    Creates a Vec<T> directly from a pointer, a length, and a capacity.

    \n
    §Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • ptr must have been allocated using the global allocator, such as via\nthe alloc::alloc function.
    • \n
    • T needs to have the same alignment as what ptr was allocated with.\n(T having a less strict alignment is not sufficient, the alignment really\nneeds to be equal to satisfy the dealloc requirement that memory must be\nallocated and deallocated with the same layout.)
    • \n
    • The size of T times the capacity (ie. the allocated size in bytes) needs\nto be the same size as the pointer was allocated with. (Because similar to\nalignment, dealloc must be called with the same layout size.)
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • The first length values must be properly initialized values of type T.
    • \n
    • capacity needs to be the capacity that the pointer was allocated with.
    • \n
    • The allocated size in bytes must be no larger than isize::MAX.\nSee the safety documentation of pointer::offset.
    • \n
    \n

    These requirements are always upheld by any ptr that has been allocated\nvia Vec<T>. Other allocation sources are allowed if the invariants are\nupheld.

    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example it is normally not safe\nto build a Vec<u8> from a pointer to a C char array with length\nsize_t, doing so is only safe if the array was initially allocated by\na Vec or String.\nIt’s also not safe to build one from a Vec<u16> and its length, because\nthe allocator cares about the alignment, and these two types have different\nalignments. The buffer was allocated with alignment 2 (for u16), but after\nturning it into a Vec<u8> it’ll be deallocated with alignment 1. To avoid\nthese issues, it is often preferable to do casting/transmuting using\nslice::from_raw_parts instead.

    \n

    The ownership of ptr is effectively transferred to the\nVec<T> which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    §Examples
    \n
    use std::ptr;\nuse std::mem;\n\nlet v = vec![1, 2, 3];\n\n// Prevent running `v`'s destructor so we are in complete control\n// of the allocation.\nlet mut v = mem::ManuallyDrop::new(v);\n\n// Pull out the various important pieces of information about `v`\nlet p = v.as_mut_ptr();\nlet len = v.len();\nlet cap = v.capacity();\n\nunsafe {\n    // Overwrite memory with 4, 5, 6\n    for i in 0..len {\n        ptr::write(p.add(i), 4 + i);\n    }\n\n    // Put everything back together into a Vec\n    let rebuilt = Vec::from_raw_parts(p, len, cap);\n    assert_eq!(rebuilt, [4, 5, 6]);\n}
    \n

    Using memory that was allocated elsewhere:

    \n\n
    use std::alloc::{alloc, Layout};\n\nfn main() {\n    let layout = Layout::array::<u32>(16).expect(\"overflow cannot happen\");\n\n    let vec = unsafe {\n        let mem = alloc(layout).cast::<u32>();\n        if mem.is_null() {\n            return;\n        }\n\n        mem.write(1_000_000);\n\n        Vec::from_raw_parts(mem, 1, 16)\n    };\n\n    assert_eq!(vec, &[1_000_000]);\n    assert_eq!(vec.capacity(), 16);\n}
    \n
    ",0,"massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<T, A> Vec<T, A>
    where\n T: Clone,\n A: Allocator,

    1.5.0 · source

    pub fn resize(&mut self, new_len: usize, value: T)

    Resizes the Vec in-place so that len is equal to new_len.

    \n

    If new_len is greater than len, the Vec is extended by the\ndifference, with each additional slot filled with value.\nIf new_len is less than len, the Vec is simply truncated.

    \n

    This method requires T to implement Clone,\nin order to be able to clone the passed value.\nIf you need more flexibility (or want to rely on Default instead of\nClone), use Vec::resize_with.\nIf you only need to resize to a smaller size, use Vec::truncate.

    \n
    §Examples
    \n
    let mut vec = vec![\"hello\"];\nvec.resize(3, \"world\");\nassert_eq!(vec, [\"hello\", \"world\", \"world\"]);\n\nlet mut vec = vec![1, 2, 3, 4];\nvec.resize(2, 0);\nassert_eq!(vec, [1, 2]);
    \n
    1.6.0 · source

    pub fn extend_from_slice(&mut self, other: &[T])

    Clones and appends all elements in a slice to the Vec.

    \n

    Iterates over the slice other, clones each element, and then appends\nit to this Vec. The other slice is traversed in-order.

    \n

    Note that this function is same as extend except that it is\nspecialized to work with slices instead. If and when Rust gets\nspecialization this function will likely be deprecated (but still\navailable).

    \n
    §Examples
    \n
    let mut vec = vec![1];\nvec.extend_from_slice(&[2, 3, 4]);\nassert_eq!(vec, [1, 2, 3, 4]);
    \n
    1.53.0 · source

    pub fn extend_from_within<R>(&mut self, src: R)
    where\n R: RangeBounds<usize>,

    Copies elements from src range to the end of the vector.

    \n
    §Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    §Examples
    \n
    let mut vec = vec![0, 1, 2, 3, 4];\n\nvec.extend_from_within(2..);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4]);\n\nvec.extend_from_within(..2);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1]);\n\nvec.extend_from_within(4..8);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1, 4, 2, 3, 4]);
    \n
    ",0,"massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<T, A> Vec<T, A>
    where\n T: PartialEq,\n A: Allocator,

    1.0.0 · source

    pub fn dedup(&mut self)

    Removes consecutive repeated elements in the vector according to the\nPartialEq trait implementation.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 2, 3, 2];\n\nvec.dedup();\n\nassert_eq!(vec, [1, 2, 3, 2]);
    \n
    ",0,"massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<T, A> Vec<T, A>
    where\n A: Allocator,

    1.21.0 · source

    pub fn splice<R, I>(\n &mut self,\n range: R,\n replace_with: I,\n) -> Splice<'_, <I as IntoIterator>::IntoIter, A>
    where\n R: RangeBounds<usize>,\n I: IntoIterator<Item = T>,

    Creates a splicing iterator that replaces the specified range in the vector\nwith the given replace_with iterator and yields the removed items.\nreplace_with does not need to be the same length as range.

    \n

    range is removed even if the iterator is not consumed until the end.

    \n

    It is unspecified how many elements are removed from the vector\nif the Splice value is leaked.

    \n

    The input iterator replace_with is only consumed when the Splice value is dropped.

    \n

    This is optimal if:

    \n
      \n
    • The tail (elements in the vector after range) is empty,
    • \n
    • or replace_with yields fewer or equal elements than range’s length
    • \n
    • or the lower bound of its size_hint() is exact.
    • \n
    \n

    Otherwise, a temporary vector is allocated and the tail is moved twice.

    \n
    §Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    §Examples
    \n
    let mut v = vec![1, 2, 3, 4];\nlet new = [7, 8, 9];\nlet u: Vec<_> = v.splice(1..3, new).collect();\nassert_eq!(v, &[1, 7, 8, 9, 4]);\nassert_eq!(u, &[2, 3]);
    \n
    source

    pub fn extract_if<F>(&mut self, filter: F) -> ExtractIf<'_, T, F, A>
    where\n F: FnMut(&mut T) -> bool,

    🔬This is a nightly-only experimental API. (extract_if)

    Creates an iterator which uses a closure to determine if an element should be removed.

    \n

    If the closure returns true, then the element is removed and yielded.\nIf the closure returns false, the element will remain in the vector and will not be yielded\nby the iterator.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n

    Using this method is equivalent to the following code:

    \n\n
    let mut i = 0;\nwhile i < vec.len() {\n    if some_predicate(&mut vec[i]) {\n        let val = vec.remove(i);\n        // your code here\n    } else {\n        i += 1;\n    }\n}\n
    \n

    But extract_if is easier to use. extract_if is also more efficient,\nbecause it can backshift the elements of the array in bulk.

    \n

    Note that extract_if also lets you mutate every element in the filter closure,\nregardless of whether you choose to keep or remove it.

    \n
    §Examples
    \n

    Splitting an array into evens and odds, reusing the original allocation:

    \n\n
    #![feature(extract_if)]\nlet mut numbers = vec![1, 2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 15];\n\nlet evens = numbers.extract_if(|x| *x % 2 == 0).collect::<Vec<_>>();\nlet odds = numbers;\n\nassert_eq!(evens, vec![2, 4, 6, 8, 14]);\nassert_eq!(odds, vec![1, 3, 5, 9, 11, 13, 15]);
    \n
    ",0,"massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<T, A> Vec<T, A>
    where\n A: Allocator,

    source

    pub const fn new_in(alloc: A) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet mut vec: Vec<i32, _> = Vec::new_in(System);
    \n
    source

    pub fn with_capacity_in(capacity: usize, alloc: A) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A> with at least the specified capacity\nwith the provided allocator.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n

    It is important to note that although the returned vector has the\nminimum capacity specified, the vector will have a zero length. For\nan explanation of the difference between length and capacity, see\nCapacity and reallocation.

    \n

    If it is important to know the exact allocated capacity of a Vec,\nalways use the capacity method after construction.

    \n

    For Vec<T, A> where T is a zero-sized type, there will be no allocation\nand the capacity will always be usize::MAX.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet mut vec = Vec::with_capacity_in(10, System);\n\n// The vector contains no items, even though it has capacity for more\nassert_eq!(vec.len(), 0);\nassert!(vec.capacity() >= 10);\n\n// These are all done without reallocating...\nfor i in 0..10 {\n    vec.push(i);\n}\nassert_eq!(vec.len(), 10);\nassert!(vec.capacity() >= 10);\n\n// ...but this may make the vector reallocate\nvec.push(11);\nassert_eq!(vec.len(), 11);\nassert!(vec.capacity() >= 11);\n\n// A vector of a zero-sized type will always over-allocate, since no\n// allocation is necessary\nlet vec_units = Vec::<(), System>::with_capacity_in(10, System);\nassert_eq!(vec_units.capacity(), usize::MAX);
    \n
    source

    pub fn try_with_capacity_in(\n capacity: usize,\n alloc: A,\n) -> Result<Vec<T, A>, TryReserveError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A> with at least the specified capacity\nwith the provided allocator.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n
    §Errors
    \n

    Returns an error if the capacity exceeds isize::MAX bytes,\nor if the allocator reports allocation failure.

    \n
    source

    pub unsafe fn from_raw_parts_in(\n ptr: *mut T,\n length: usize,\n capacity: usize,\n alloc: A,\n) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Creates a Vec<T, A> directly from a pointer, a length, a capacity,\nand an allocator.

    \n
    §Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • ptr must be currently allocated via the given allocator alloc.
    • \n
    • T needs to have the same alignment as what ptr was allocated with.\n(T having a less strict alignment is not sufficient, the alignment really\nneeds to be equal to satisfy the dealloc requirement that memory must be\nallocated and deallocated with the same layout.)
    • \n
    • The size of T times the capacity (ie. the allocated size in bytes) needs\nto be the same size as the pointer was allocated with. (Because similar to\nalignment, dealloc must be called with the same layout size.)
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • The first length values must be properly initialized values of type T.
    • \n
    • capacity needs to fit the layout size that the pointer was allocated with.
    • \n
    • The allocated size in bytes must be no larger than isize::MAX.\nSee the safety documentation of pointer::offset.
    • \n
    \n

    These requirements are always upheld by any ptr that has been allocated\nvia Vec<T, A>. Other allocation sources are allowed if the invariants are\nupheld.

    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example it is not safe\nto build a Vec<u8> from a pointer to a C char array with length size_t.\nIt’s also not safe to build one from a Vec<u16> and its length, because\nthe allocator cares about the alignment, and these two types have different\nalignments. The buffer was allocated with alignment 2 (for u16), but after\nturning it into a Vec<u8> it’ll be deallocated with alignment 1.

    \n

    The ownership of ptr is effectively transferred to the\nVec<T> which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nuse std::ptr;\nuse std::mem;\n\nlet mut v = Vec::with_capacity_in(3, System);\nv.push(1);\nv.push(2);\nv.push(3);\n\n// Prevent running `v`'s destructor so we are in complete control\n// of the allocation.\nlet mut v = mem::ManuallyDrop::new(v);\n\n// Pull out the various important pieces of information about `v`\nlet p = v.as_mut_ptr();\nlet len = v.len();\nlet cap = v.capacity();\nlet alloc = v.allocator();\n\nunsafe {\n    // Overwrite memory with 4, 5, 6\n    for i in 0..len {\n        ptr::write(p.add(i), 4 + i);\n    }\n\n    // Put everything back together into a Vec\n    let rebuilt = Vec::from_raw_parts_in(p, len, cap, alloc.clone());\n    assert_eq!(rebuilt, [4, 5, 6]);\n}
    \n

    Using memory that was allocated elsewhere:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{AllocError, Allocator, Global, Layout};\n\nfn main() {\n    let layout = Layout::array::<u32>(16).expect(\"overflow cannot happen\");\n\n    let vec = unsafe {\n        let mem = match Global.allocate(layout) {\n            Ok(mem) => mem.cast::<u32>().as_ptr(),\n            Err(AllocError) => return,\n        };\n\n        mem.write(1_000_000);\n\n        Vec::from_raw_parts_in(mem, 1, 16, Global)\n    };\n\n    assert_eq!(vec, &[1_000_000]);\n    assert_eq!(vec.capacity(), 16);\n}
    \n
    source

    pub fn into_raw_parts(self) -> (*mut T, usize, usize)

    🔬This is a nightly-only experimental API. (vec_into_raw_parts)

    Decomposes a Vec<T> into its raw components: (pointer, length, capacity).

    \n

    Returns the raw pointer to the underlying data, the length of\nthe vector (in elements), and the allocated capacity of the\ndata (in elements). These are the same arguments in the same\norder as the arguments to from_raw_parts.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Vec. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a Vec with the from_raw_parts function, allowing\nthe destructor to perform the cleanup.

    \n
    §Examples
    \n
    #![feature(vec_into_raw_parts)]\nlet v: Vec<i32> = vec![-1, 0, 1];\n\nlet (ptr, len, cap) = v.into_raw_parts();\n\nlet rebuilt = unsafe {\n    // We can now make changes to the components, such as\n    // transmuting the raw pointer to a compatible type.\n    let ptr = ptr as *mut u32;\n\n    Vec::from_raw_parts(ptr, len, cap)\n};\nassert_eq!(rebuilt, [4294967295, 0, 1]);
    \n
    source

    pub fn into_raw_parts_with_alloc(self) -> (*mut T, usize, usize, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Decomposes a Vec<T> into its raw components: (pointer, length, capacity, allocator).

    \n

    Returns the raw pointer to the underlying data, the length of the vector (in elements),\nthe allocated capacity of the data (in elements), and the allocator. These are the same\narguments in the same order as the arguments to from_raw_parts_in.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Vec. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a Vec with the from_raw_parts_in function, allowing\nthe destructor to perform the cleanup.

    \n
    §Examples
    \n
    #![feature(allocator_api, vec_into_raw_parts)]\n\nuse std::alloc::System;\n\nlet mut v: Vec<i32, System> = Vec::new_in(System);\nv.push(-1);\nv.push(0);\nv.push(1);\n\nlet (ptr, len, cap, alloc) = v.into_raw_parts_with_alloc();\n\nlet rebuilt = unsafe {\n    // We can now make changes to the components, such as\n    // transmuting the raw pointer to a compatible type.\n    let ptr = ptr as *mut u32;\n\n    Vec::from_raw_parts_in(ptr, len, cap, alloc)\n};\nassert_eq!(rebuilt, [4294967295, 0, 1]);
    \n
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the total number of elements the vector can hold without\nreallocating.

    \n
    §Examples
    \n
    let mut vec: Vec<i32> = Vec::with_capacity(10);\nvec.push(42);\nassert!(vec.capacity() >= 10);
    \n
    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the given Vec<T>. The collection may reserve more space to\nspeculatively avoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = vec![1];\nvec.reserve(10);\nassert!(vec.capacity() >= 11);
    \n
    1.0.0 · source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional more elements to\nbe inserted in the given Vec<T>. Unlike reserve, this will not\ndeliberately over-allocate to speculatively avoid frequent allocations.\nAfter calling reserve_exact, capacity will be greater than or equal to\nself.len() + additional. Does nothing if the capacity is already\nsufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer reserve if future insertions are expected.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = vec![1];\nvec.reserve_exact(10);\nassert!(vec.capacity() >= 11);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the given Vec<T>. The collection may reserve more space to speculatively avoid\nfrequent reallocations. After calling try_reserve, capacity will be\ngreater than or equal to self.len() + additional if it returns\nOk(()). Does nothing if capacity is already sufficient. This method\npreserves the contents even if an error occurs.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &[u32]) -> Result<Vec<u32>, TryReserveError> {\n    let mut output = Vec::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.extend(data.iter().map(|&val| {\n        val * 2 + 5 // very complicated\n    }));\n\n    Ok(output)\n}
    \n
    1.57.0 · source

    pub fn try_reserve_exact(\n &mut self,\n additional: usize,\n) -> Result<(), TryReserveError>

    Tries to reserve the minimum capacity for at least additional\nelements to be inserted in the given Vec<T>. Unlike try_reserve,\nthis will not deliberately over-allocate to speculatively avoid frequent\nallocations. After calling try_reserve_exact, capacity will be greater\nthan or equal to self.len() + additional if it returns Ok(()).\nDoes nothing if the capacity is already sufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer try_reserve if future insertions are expected.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &[u32]) -> Result<Vec<u32>, TryReserveError> {\n    let mut output = Vec::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve_exact(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.extend(data.iter().map(|&val| {\n        val * 2 + 5 // very complicated\n    }));\n\n    Ok(output)\n}
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the vector as much as possible.

    \n

    The behavior of this method depends on the allocator, which may either shrink the vector\nin-place or reallocate. The resulting vector might still have some excess capacity, just as\nis the case for with_capacity. See Allocator::shrink for more details.

    \n
    §Examples
    \n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\nassert!(vec.capacity() >= 10);\nvec.shrink_to_fit();\nassert!(vec.capacity() >= 3);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the vector with a lower bound.

    \n

    The capacity will remain at least as large as both the length\nand the supplied value.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\nassert!(vec.capacity() >= 10);\nvec.shrink_to(4);\nassert!(vec.capacity() >= 4);\nvec.shrink_to(0);\nassert!(vec.capacity() >= 3);
    \n
    1.0.0 · source

    pub fn into_boxed_slice(self) -> Box<[T], A>

    Converts the vector into Box<[T]>.

    \n

    Before doing the conversion, this method discards excess capacity like shrink_to_fit.

    \n
    §Examples
    \n
    let v = vec![1, 2, 3];\n\nlet slice = v.into_boxed_slice();
    \n

    Any excess capacity is removed:

    \n\n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\n\nassert!(vec.capacity() >= 10);\nlet slice = vec.into_boxed_slice();\nassert_eq!(slice.into_vec().capacity(), 3);
    \n
    1.0.0 · source

    pub fn truncate(&mut self, len: usize)

    Shortens the vector, keeping the first len elements and dropping\nthe rest.

    \n

    If len is greater or equal to the vector’s current length, this has\nno effect.

    \n

    The drain method can emulate truncate, but causes the excess\nelements to be returned instead of dropped.

    \n

    Note that this method has no effect on the allocated capacity\nof the vector.

    \n
    §Examples
    \n

    Truncating a five element vector to two elements:

    \n\n
    let mut vec = vec![1, 2, 3, 4, 5];\nvec.truncate(2);\nassert_eq!(vec, [1, 2]);
    \n

    No truncation occurs when len is greater than the vector’s current\nlength:

    \n\n
    let mut vec = vec![1, 2, 3];\nvec.truncate(8);\nassert_eq!(vec, [1, 2, 3]);
    \n

    Truncating when len == 0 is equivalent to calling the clear\nmethod.

    \n\n
    let mut vec = vec![1, 2, 3];\nvec.truncate(0);\nassert_eq!(vec, []);
    \n
    1.7.0 · source

    pub fn as_slice(&self) -> &[T]

    Extracts a slice containing the entire vector.

    \n

    Equivalent to &s[..].

    \n
    §Examples
    \n
    use std::io::{self, Write};\nlet buffer = vec![1, 2, 3, 5, 8];\nio::sink().write(buffer.as_slice()).unwrap();
    \n
    1.7.0 · source

    pub fn as_mut_slice(&mut self) -> &mut [T]

    Extracts a mutable slice of the entire vector.

    \n

    Equivalent to &mut s[..].

    \n
    §Examples
    \n
    use std::io::{self, Read};\nlet mut buffer = vec![0; 3];\nio::repeat(0b101).read_exact(buffer.as_mut_slice()).unwrap();
    \n
    1.37.0 · source

    pub fn as_ptr(&self) -> *const T

    Returns a raw pointer to the vector’s buffer, or a dangling raw pointer\nvalid for zero sized reads if the vector didn’t allocate.

    \n

    The caller must ensure that the vector outlives the pointer this\nfunction returns, or else it will end up pointing to garbage.\nModifying the vector may cause its buffer to be reallocated,\nwhich would also make any pointers to it invalid.

    \n

    The caller must also ensure that the memory the pointer (non-transitively) points to\nis never written to (except inside an UnsafeCell) using this pointer or any pointer\nderived from it. If you need to mutate the contents of the slice, use as_mut_ptr.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\ndoes not materialize a reference to the underlying slice, and thus the returned pointer\nwill remain valid when mixed with other calls to as_ptr and as_mut_ptr.\nNote that calling other methods that materialize mutable references to the slice,\nor mutable references to specific elements you are planning on accessing through this pointer,\nas well as writing to those elements, may still invalidate this pointer.\nSee the second example below for how this guarantee can be used.

    \n
    §Examples
    \n
    let x = vec![1, 2, 4];\nlet x_ptr = x.as_ptr();\n\nunsafe {\n    for i in 0..x.len() {\n        assert_eq!(*x_ptr.add(i), 1 << i);\n    }\n}
    \n

    Due to the aliasing guarantee, the following code is legal:

    \n\n
    unsafe {\n    let mut v = vec![0, 1, 2];\n    let ptr1 = v.as_ptr();\n    let _ = ptr1.read();\n    let ptr2 = v.as_mut_ptr().offset(2);\n    ptr2.write(2);\n    // Notably, the write to `ptr2` did *not* invalidate `ptr1`\n    // because it mutated a different element:\n    let _ = ptr1.read();\n}
    \n
    1.37.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut T

    Returns an unsafe mutable pointer to the vector’s buffer, or a dangling\nraw pointer valid for zero sized reads if the vector didn’t allocate.

    \n

    The caller must ensure that the vector outlives the pointer this\nfunction returns, or else it will end up pointing to garbage.\nModifying the vector may cause its buffer to be reallocated,\nwhich would also make any pointers to it invalid.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\ndoes not materialize a reference to the underlying slice, and thus the returned pointer\nwill remain valid when mixed with other calls to as_ptr and as_mut_ptr.\nNote that calling other methods that materialize references to the slice,\nor references to specific elements you are planning on accessing through this pointer,\nmay still invalidate this pointer.\nSee the second example below for how this guarantee can be used.

    \n
    §Examples
    \n
    // Allocate vector big enough for 4 elements.\nlet size = 4;\nlet mut x: Vec<i32> = Vec::with_capacity(size);\nlet x_ptr = x.as_mut_ptr();\n\n// Initialize elements via raw pointer writes, then set length.\nunsafe {\n    for i in 0..size {\n        *x_ptr.add(i) = i as i32;\n    }\n    x.set_len(size);\n}\nassert_eq!(&*x, &[0, 1, 2, 3]);
    \n

    Due to the aliasing guarantee, the following code is legal:

    \n\n
    unsafe {\n    let mut v = vec![0];\n    let ptr1 = v.as_mut_ptr();\n    ptr1.write(1);\n    let ptr2 = v.as_mut_ptr();\n    ptr2.write(2);\n    // Notably, the write to `ptr2` did *not* invalidate `ptr1`:\n    ptr1.write(3);\n}
    \n
    source

    pub fn allocator(&self) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n
    1.0.0 · source

    pub unsafe fn set_len(&mut self, new_len: usize)

    Forces the length of the vector to new_len.

    \n

    This is a low-level operation that maintains none of the normal\ninvariants of the type. Normally changing the length of a vector\nis done using one of the safe operations instead, such as\ntruncate, resize, extend, or clear.

    \n
    §Safety
    \n
      \n
    • new_len must be less than or equal to capacity().
    • \n
    • The elements at old_len..new_len must be initialized.
    • \n
    \n
    §Examples
    \n

    This method can be useful for situations in which the vector\nis serving as a buffer for other code, particularly over FFI:

    \n\n
    pub fn get_dictionary(&self) -> Option<Vec<u8>> {\n    // Per the FFI method's docs, \"32768 bytes is always enough\".\n    let mut dict = Vec::with_capacity(32_768);\n    let mut dict_length = 0;\n    // SAFETY: When `deflateGetDictionary` returns `Z_OK`, it holds that:\n    // 1. `dict_length` elements were initialized.\n    // 2. `dict_length` <= the capacity (32_768)\n    // which makes `set_len` safe to call.\n    unsafe {\n        // Make the FFI call...\n        let r = deflateGetDictionary(self.strm, dict.as_mut_ptr(), &mut dict_length);\n        if r == Z_OK {\n            // ...and update the length to what was initialized.\n            dict.set_len(dict_length);\n            Some(dict)\n        } else {\n            None\n        }\n    }\n}
    \n

    While the following example is sound, there is a memory leak since\nthe inner vectors were not freed prior to the set_len call:

    \n\n
    let mut vec = vec![vec![1, 0, 0],\n                   vec![0, 1, 0],\n                   vec![0, 0, 1]];\n// SAFETY:\n// 1. `old_len..0` is empty so no elements need to be initialized.\n// 2. `0 <= capacity` always holds whatever `capacity` is.\nunsafe {\n    vec.set_len(0);\n}
    \n

    Normally, here, one would use clear instead to correctly drop\nthe contents and thus not leak memory.

    \n
    1.0.0 · source

    pub fn swap_remove(&mut self, index: usize) -> T

    Removes an element from the vector and returns it.

    \n

    The removed element is replaced by the last element of the vector.

    \n

    This does not preserve ordering of the remaining elements, but is O(1).\nIf you need to preserve the element order, use remove instead.

    \n
    §Panics
    \n

    Panics if index is out of bounds.

    \n
    §Examples
    \n
    let mut v = vec![\"foo\", \"bar\", \"baz\", \"qux\"];\n\nassert_eq!(v.swap_remove(1), \"bar\");\nassert_eq!(v, [\"foo\", \"qux\", \"baz\"]);\n\nassert_eq!(v.swap_remove(0), \"foo\");\nassert_eq!(v, [\"baz\", \"qux\"]);
    \n
    1.0.0 · source

    pub fn insert(&mut self, index: usize, element: T)

    Inserts an element at position index within the vector, shifting all\nelements after it to the right.

    \n
    §Panics
    \n

    Panics if index > len.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nvec.insert(1, 4);\nassert_eq!(vec, [1, 4, 2, 3]);\nvec.insert(4, 5);\nassert_eq!(vec, [1, 4, 2, 3, 5]);
    \n
    §Time complexity
    \n

    Takes O(Vec::len) time. All items after the insertion index must be\nshifted to the right. In the worst case, all elements are shifted when\nthe insertion index is 0.

    \n
    1.0.0 · source

    pub fn remove(&mut self, index: usize) -> T

    Removes and returns the element at position index within the vector,\nshifting all elements after it to the left.

    \n

    Note: Because this shifts over the remaining elements, it has a\nworst-case performance of O(n). If you don’t need the order of elements\nto be preserved, use swap_remove instead. If you’d like to remove\nelements from the beginning of the Vec, consider using\nVecDeque::pop_front instead.

    \n
    §Panics
    \n

    Panics if index is out of bounds.

    \n
    §Examples
    \n
    let mut v = vec![1, 2, 3];\nassert_eq!(v.remove(1), 2);\nassert_eq!(v, [1, 3]);
    \n
    1.0.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\nThis method operates in place, visiting each element exactly once in the\noriginal order, and preserves the order of the retained elements.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3, 4];\nvec.retain(|&x| x % 2 == 0);\nassert_eq!(vec, [2, 4]);
    \n

    Because the elements are visited exactly once in the original order,\nexternal state may be used to decide which elements to keep.

    \n\n
    let mut vec = vec![1, 2, 3, 4, 5];\nlet keep = [false, true, true, false, true];\nlet mut iter = keep.iter();\nvec.retain(|_| *iter.next().unwrap());\nassert_eq!(vec, [2, 3, 5]);
    \n
    1.61.0 · source

    pub fn retain_mut<F>(&mut self, f: F)
    where\n F: FnMut(&mut T) -> bool,

    Retains only the elements specified by the predicate, passing a mutable reference to it.

    \n

    In other words, remove all elements e such that f(&mut e) returns false.\nThis method operates in place, visiting each element exactly once in the\noriginal order, and preserves the order of the retained elements.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3, 4];\nvec.retain_mut(|x| if *x <= 3 {\n    *x += 1;\n    true\n} else {\n    false\n});\nassert_eq!(vec, [2, 3, 4]);
    \n
    1.16.0 · source

    pub fn dedup_by_key<F, K>(&mut self, key: F)
    where\n F: FnMut(&mut T) -> K,\n K: PartialEq,

    Removes all but the first of consecutive elements in the vector that resolve to the same\nkey.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    §Examples
    \n
    let mut vec = vec![10, 20, 21, 30, 20];\n\nvec.dedup_by_key(|i| *i / 10);\n\nassert_eq!(vec, [10, 20, 30, 20]);
    \n
    1.16.0 · source

    pub fn dedup_by<F>(&mut self, same_bucket: F)
    where\n F: FnMut(&mut T, &mut T) -> bool,

    Removes all but the first of consecutive elements in the vector satisfying a given equality\nrelation.

    \n

    The same_bucket function is passed references to two elements from the vector and\nmust determine if the elements compare equal. The elements are passed in opposite order\nfrom their order in the slice, so if same_bucket(a, b) returns true, a is removed.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    §Examples
    \n
    let mut vec = vec![\"foo\", \"bar\", \"Bar\", \"baz\", \"bar\"];\n\nvec.dedup_by(|a, b| a.eq_ignore_ascii_case(b));\n\nassert_eq!(vec, [\"foo\", \"bar\", \"baz\", \"bar\"]);
    \n
    1.0.0 · source

    pub fn push(&mut self, value: T)

    Appends an element to the back of a collection.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2];\nvec.push(3);\nassert_eq!(vec, [1, 2, 3]);
    \n
    §Time complexity
    \n

    Takes amortized O(1) time. If the vector’s length would exceed its\ncapacity after the push, O(capacity) time is taken to copy the\nvector’s elements to a larger allocation. This expensive operation is\noffset by the capacity O(1) insertions it allows.

    \n
    source

    pub fn push_within_capacity(&mut self, value: T) -> Result<(), T>

    🔬This is a nightly-only experimental API. (vec_push_within_capacity)

    Appends an element if there is sufficient spare capacity, otherwise an error is returned\nwith the element.

    \n

    Unlike push this method will not reallocate when there’s insufficient capacity.\nThe caller should use reserve or try_reserve to ensure that there is enough capacity.

    \n
    §Examples
    \n

    A manual, panic-free alternative to FromIterator:

    \n\n
    #![feature(vec_push_within_capacity)]\n\nuse std::collections::TryReserveError;\nfn from_iter_fallible<T>(iter: impl Iterator<Item=T>) -> Result<Vec<T>, TryReserveError> {\n    let mut vec = Vec::new();\n    for value in iter {\n        if let Err(value) = vec.push_within_capacity(value) {\n            vec.try_reserve(1)?;\n            // this cannot fail, the previous line either returned or added at least 1 free slot\n            let _ = vec.push_within_capacity(value);\n        }\n    }\n    Ok(vec)\n}\nassert_eq!(from_iter_fallible(0..100), Ok(Vec::from_iter(0..100)));
    \n
    §Time complexity
    \n

    Takes O(1) time.

    \n
    1.0.0 · source

    pub fn pop(&mut self) -> Option<T>

    Removes the last element from a vector and returns it, or None if it\nis empty.

    \n

    If you’d like to pop the first element, consider using\nVecDeque::pop_front instead.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nassert_eq!(vec.pop(), Some(3));\nassert_eq!(vec, [1, 2]);
    \n
    §Time complexity
    \n

    Takes O(1) time.

    \n
    source

    pub fn pop_if<F>(&mut self, f: F) -> Option<T>
    where\n F: FnOnce(&mut T) -> bool,

    🔬This is a nightly-only experimental API. (vec_pop_if)

    Removes and returns the last element in a vector if the predicate\nreturns true, or None if the predicate returns false or the vector\nis empty.

    \n
    §Examples
    \n
    #![feature(vec_pop_if)]\n\nlet mut vec = vec![1, 2, 3, 4];\nlet pred = |x: &mut i32| *x % 2 == 0;\n\nassert_eq!(vec.pop_if(pred), Some(4));\nassert_eq!(vec, [1, 2, 3]);\nassert_eq!(vec.pop_if(pred), None);
    \n
    1.4.0 · source

    pub fn append(&mut self, other: &mut Vec<T, A>)

    Moves all the elements of other into self, leaving other empty.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nlet mut vec2 = vec![4, 5, 6];\nvec.append(&mut vec2);\nassert_eq!(vec, [1, 2, 3, 4, 5, 6]);\nassert_eq!(vec2, []);
    \n
    1.6.0 · source

    pub fn drain<R>(&mut self, range: R) -> Drain<'_, T, A>
    where\n R: RangeBounds<usize>,

    Removes the specified range from the vector in bulk, returning all\nremoved elements as an iterator. If the iterator is dropped before\nbeing fully consumed, it drops the remaining removed elements.

    \n

    The returned iterator keeps a mutable borrow on the vector to optimize\nits implementation.

    \n
    §Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    §Leaking
    \n

    If the returned iterator goes out of scope without being dropped (due to\nmem::forget, for example), the vector may have lost and leaked\nelements arbitrarily, including elements outside the range.

    \n
    §Examples
    \n
    let mut v = vec![1, 2, 3];\nlet u: Vec<_> = v.drain(1..).collect();\nassert_eq!(v, &[1]);\nassert_eq!(u, &[2, 3]);\n\n// A full range clears the vector, like `clear()` does\nv.drain(..);\nassert_eq!(v, &[]);
    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the vector, removing all values.

    \n

    Note that this method has no effect on the allocated capacity\nof the vector.

    \n
    §Examples
    \n
    let mut v = vec![1, 2, 3];\n\nv.clear();\n\nassert!(v.is_empty());
    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the vector, also referred to\nas its ‘length’.

    \n
    §Examples
    \n
    let a = vec![1, 2, 3];\nassert_eq!(a.len(), 3);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the vector contains no elements.

    \n
    §Examples
    \n
    let mut v = Vec::new();\nassert!(v.is_empty());\n\nv.push(1);\nassert!(!v.is_empty());
    \n
    1.4.0 · source

    pub fn split_off(&mut self, at: usize) -> Vec<T, A>
    where\n A: Clone,

    Splits the collection into two at the given index.

    \n

    Returns a newly allocated vector containing the elements in the range\n[at, len). After the call, the original vector will be left containing\nthe elements [0, at) with its previous capacity unchanged.

    \n
      \n
    • If you want to take ownership of the entire contents and capacity of\nthe vector, see mem::take or mem::replace.
    • \n
    • If you don’t need the returned vector at all, see Vec::truncate.
    • \n
    • If you want to take ownership of an arbitrary subslice, or you don’t\nnecessarily want to store the removed items in a vector, see Vec::drain.
    • \n
    \n
    §Panics
    \n

    Panics if at > len.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nlet vec2 = vec.split_off(1);\nassert_eq!(vec, [1]);\nassert_eq!(vec2, [2, 3]);
    \n
    1.33.0 · source

    pub fn resize_with<F>(&mut self, new_len: usize, f: F)
    where\n F: FnMut() -> T,

    Resizes the Vec in-place so that len is equal to new_len.

    \n

    If new_len is greater than len, the Vec is extended by the\ndifference, with each additional slot filled with the result of\ncalling the closure f. The return values from f will end up\nin the Vec in the order they have been generated.

    \n

    If new_len is less than len, the Vec is simply truncated.

    \n

    This method uses a closure to create new values on every push. If\nyou’d rather Clone a given value, use Vec::resize. If you\nwant to use the Default trait to generate values, you can\npass Default::default as the second argument.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nvec.resize_with(5, Default::default);\nassert_eq!(vec, [1, 2, 3, 0, 0]);\n\nlet mut vec = vec![];\nlet mut p = 1;\nvec.resize_with(4, || { p *= 2; p });\nassert_eq!(vec, [2, 4, 8, 16]);
    \n
    1.47.0 · source

    pub fn leak<'a>(self) -> &'a mut [T]
    where\n A: 'a,

    Consumes and leaks the Vec, returning a mutable reference to the contents,\n&'a mut [T]. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    As of Rust 1.57, this method does not reallocate or shrink the Vec,\nso the leaked allocation may include unused capacity that is not part\nof the returned slice.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak.

    \n
    §Examples
    \n

    Simple usage:

    \n\n
    let x = vec![1, 2, 3];\nlet static_ref: &'static mut [usize] = x.leak();\nstatic_ref[0] += 1;\nassert_eq!(static_ref, &[2, 2, 3]);
    \n
    1.60.0 · source

    pub fn spare_capacity_mut(&mut self) -> &mut [MaybeUninit<T>]

    Returns the remaining spare capacity of the vector as a slice of\nMaybeUninit<T>.

    \n

    The returned slice can be used to fill the vector with data (e.g. by\nreading from a file) before marking the data as initialized using the\nset_len method.

    \n
    §Examples
    \n
    // Allocate vector big enough for 10 elements.\nlet mut v = Vec::with_capacity(10);\n\n// Fill in the first 3 elements.\nlet uninit = v.spare_capacity_mut();\nuninit[0].write(0);\nuninit[1].write(1);\nuninit[2].write(2);\n\n// Mark the first 3 elements of the vector as being initialized.\nunsafe {\n    v.set_len(3);\n}\n\nassert_eq!(&v, &[0, 1, 2]);
    \n
    source

    pub fn split_at_spare_mut(&mut self) -> (&mut [T], &mut [MaybeUninit<T>])

    🔬This is a nightly-only experimental API. (vec_split_at_spare)

    Returns vector content as a slice of T, along with the remaining spare\ncapacity of the vector as a slice of MaybeUninit<T>.

    \n

    The returned spare capacity slice can be used to fill the vector with data\n(e.g. by reading from a file) before marking the data as initialized using\nthe set_len method.

    \n

    Note that this is a low-level API, which should be used with care for\noptimization purposes. If you need to append data to a Vec\nyou can use push, extend, extend_from_slice,\nextend_from_within, insert, append, resize or\nresize_with, depending on your exact needs.

    \n
    §Examples
    \n
    #![feature(vec_split_at_spare)]\n\nlet mut v = vec![1, 1, 2];\n\n// Reserve additional space big enough for 10 elements.\nv.reserve(10);\n\nlet (init, uninit) = v.split_at_spare_mut();\nlet sum = init.iter().copied().sum::<u32>();\n\n// Fill in the next 4 elements.\nuninit[0].write(sum);\nuninit[1].write(sum * 2);\nuninit[2].write(sum * 3);\nuninit[3].write(sum * 4);\n\n// Mark the 4 elements of the vector as being initialized.\nunsafe {\n    let len = v.len();\n    v.set_len(len + 4);\n}\n\nassert_eq!(&v, &[1, 1, 2, 4, 8, 12, 16]);
    \n
    ",0,"massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<A> Write for Vec<u8, A>
    where\n A: Allocator,

    Write is implemented for Vec<u8> by appending to the vector.\nThe vector will grow as needed.

    \n
    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 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\nimplementation. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. 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\nencountered. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl<Z> Zeroize for Vec<Z>
    where\n Z: Zeroize,

    §

    fn zeroize(&mut self)

    “Best effort” zeroization for Vec.

    \n

    Ensures the entire capacity of the Vec is zeroed. Cannot ensure that\nprevious reallocations did not leave values on the heap.

    \n
    ","Zeroize","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<T, A> DerefPure for Vec<T, A>
    where\n A: Allocator,

    ","DerefPure","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Eq for Vec<T, A>
    where\n T: Eq,\n A: Allocator,

    ","Eq","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl<T> FromStream<T> for Vec<T>

    ","FromStream","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl<Z> ZeroizeOnDrop for Vec<Z>
    where\n Z: ZeroizeOnDrop,

    ","ZeroizeOnDrop","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"]], -"massa_factory_exports":[["
    §

    impl<'i, T> Accumulate<&'i [T]> for Vec<T>
    where\n T: Clone,

    §

    fn initial(capacity: Option<usize>) -> Vec<T>

    Create a new Extend of the correct type
    §

    fn accumulate(&mut self, acc: &'i [T])

    Accumulate the input into an accumulator
    ","Accumulate<&'i [T]>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Accumulate<T> for Vec<T>

    §

    fn initial(capacity: Option<usize>) -> Vec<T>

    Create a new Extend of the correct type
    §

    fn accumulate(&mut self, acc: T)

    Accumulate the input into an accumulator
    ","Accumulate","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Archive for Vec<T>
    where\n T: Archive,

    §

    type Archived = ArchivedVec<<T as Archive>::Archived>

    The archived representation of this type. Read more
    §

    type Resolver = VecResolver

    The resolver for this type. It must contain all the additional information from serializing\nneeded to make the archived type from the normal type.
    §

    unsafe fn resolve(\n &self,\n pos: usize,\n resolver: <Vec<T> as Archive>::Resolver,\n out: *mut <Vec<T> as Archive>::Archived,\n)

    Creates the archived version of this value at the given position and writes it to the given\noutput. Read more
    ","Archive","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> ArrayLike for Vec<T>

    §

    type Item = T

    Type of the elements being stored.
    ","ArrayLike","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> ArrayLike for Vec<T>

    §

    type Item = T

    Type of the elements being stored.
    ","ArrayLike","massa_factory_exports::types::ProductionHistory"],["
    1.5.0 · source§

    impl<T, A> AsMut<[T]> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn as_mut(&mut self) -> &mut [T]

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut<[T]>","massa_factory_exports::types::ProductionHistory"],["
    1.5.0 · source§

    impl<T, A> AsMut<Vec<T, A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn as_mut(&mut self) -> &mut Vec<T, A>

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> AsRef<[T]> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn as_ref(&self) -> &[T]

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef<[T]>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> AsRef<Vec<T, A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn as_ref(&self) -> &Vec<T, A>

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> AsRef<ZeroSlice<T>> for Vec<<T as AsULE>::ULE>
    where\n T: AsULE,

    §

    fn as_ref(&self) -> &ZeroSlice<T>

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Borrow<[T]> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn borrow(&self) -> &[T]

    Immutably borrows from an owned value. Read more
    ","Borrow<[T]>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> BorrowMut<[T]> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn borrow_mut(&mut self) -> &mut [T]

    Mutably borrows from an owned value. Read more
    ","BorrowMut<[T]>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Clear for Vec<T>

    §

    fn clear(&mut self)

    Clear this make, make it equivalent to newly created object.
    ","Clear","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Clone for Vec<T, A>
    where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone_from(&mut self, source: &Vec<T, A>)

    Overwrites the contents of self with a clone of the contents of source.

    \n

    This method is preferred over simply assigning source.clone() to self,\nas it avoids reallocation if possible. Additionally, if the element type\nT overrides clone_from(), this will reuse the resources of self’s\nelements as well.

    \n
    §Examples
    \n
    let x = vec![5, 6, 7];\nlet mut y = vec![8, 9, 10];\nlet yp: *const i32 = y.as_ptr();\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no reallocation occurred\nassert_eq!(yp, y.as_ptr());
    \n
    source§

    fn clone(&self) -> Vec<T, A>

    Returns a copy of the value. Read more
    ","Clone","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Debug for Vec<T, A>
    where\n T: Debug,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T> Default for Vec<T>

    source§

    fn default() -> Vec<T>

    Creates an empty Vec<T>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    ","Default","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Deref for Vec<T, A>
    where\n A: Allocator,

    §

    type Target = [T]

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &[T]

    Dereferences the value.
    ","Deref","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Vec<T, A>
    where\n A: Allocator,

    source§

    fn deref_mut(&mut self) -> &mut [T]

    Mutably dereferences the value.
    ","DerefMut","massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<'de, T> Deserialize<'de> for Vec<T>
    where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<Vec<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<'de, T, U> DeserializeAs<'de, Vec<T>> for Vec<U>
    where\n U: DeserializeAs<'de, T>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Vec<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Vec>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Drop for Vec<T, A>
    where\n A: Allocator,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> EncodeAsVarULE<[T]> for Vec<T>
    where\n T: ULE,

    §

    fn encode_var_ule_as_slices<R>(&self, cb: impl FnOnce(&[&[u8]]) -> R) -> R

    Calls cb with a piecewise list of byte slices that when concatenated\nproduce the memory pattern of the corresponding instance of T. Read more
    §

    fn encode_var_ule_len(&self) -> usize

    Return the length, in bytes, of the corresponding [VarULE] type
    §

    fn encode_var_ule_write(&self, dst: &mut [u8])

    Write the corresponding [VarULE] type to the dst buffer. dst should\nbe the size of [Self::encode_var_ule_len()]
    ","EncodeAsVarULE<[T]>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T, E, F> EncodeAsVarULE<VarZeroSlice<T, F>> for Vec<E>
    where\n T: VarULE + ?Sized,\n E: EncodeAsVarULE<T>,\n F: VarZeroVecFormat,

    §

    fn encode_var_ule_as_slices<R>(&self, _: impl FnOnce(&[&[u8]]) -> R) -> R

    Calls cb with a piecewise list of byte slices that when concatenated\nproduce the memory pattern of the corresponding instance of T. Read more
    §

    fn encode_var_ule_len(&self) -> usize

    Return the length, in bytes, of the corresponding [VarULE] type
    §

    fn encode_var_ule_write(&self, dst: &mut [u8])

    Write the corresponding [VarULE] type to the dst buffer. dst should\nbe the size of [Self::encode_var_ule_len()]
    ","EncodeAsVarULE>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> EncodeAsVarULE<ZeroSlice<T>> for Vec<T>
    where\n T: AsULE + 'static,

    §

    fn encode_var_ule_as_slices<R>(&self, _: impl FnOnce(&[&[u8]]) -> R) -> R

    Calls cb with a piecewise list of byte slices that when concatenated\nproduce the memory pattern of the corresponding instance of T. Read more
    §

    fn encode_var_ule_len(&self) -> usize

    Return the length, in bytes, of the corresponding [VarULE] type
    §

    fn encode_var_ule_write(&self, dst: &mut [u8])

    Write the corresponding [VarULE] type to the dst buffer. dst should\nbe the size of [Self::encode_var_ule_len()]
    ","EncodeAsVarULE>","massa_factory_exports::types::ProductionHistory"],["
    1.2.0 · source§

    impl<'a, T, A> Extend<&'a T> for Vec<T, A>
    where\n T: Copy + 'a,\n A: Allocator,

    Extend implementation that copies elements out of references before pushing them onto the Vec.

    \n

    This implementation is specialized for slice iterators, where it uses copy_from_slice to\nappend the entire slice at once.

    \n
    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = &'a T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: &'a T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<&'a T>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Extend<T> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, item: T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T> From<&[T]> for Vec<T>
    where\n T: Clone,

    source§

    fn from(s: &[T]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(&[1, 2, 3][..]), vec![1, 2, 3]);
    \n
    ","From<&[T]>","massa_factory_exports::types::ProductionHistory"],["
    1.74.0 · source§

    impl<T, const N: usize> From<&[T; N]> for Vec<T>
    where\n T: Clone,

    source§

    fn from(s: &[T; N]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(&[1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<&[T; N]>","massa_factory_exports::types::ProductionHistory"],["
    1.19.0 · source§

    impl<T> From<&mut [T]> for Vec<T>
    where\n T: Clone,

    source§

    fn from(s: &mut [T]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(&mut [1, 2, 3][..]), vec![1, 2, 3]);
    \n
    ","From<&mut [T]>","massa_factory_exports::types::ProductionHistory"],["
    1.74.0 · source§

    impl<T, const N: usize> From<&mut [T; N]> for Vec<T>
    where\n T: Clone,

    source§

    fn from(s: &mut [T; N]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(&mut [1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<&mut [T; N]>","massa_factory_exports::types::ProductionHistory"],["
    1.44.0 · source§

    impl<T, const N: usize> From<[T; N]> for Vec<T>

    source§

    fn from(s: [T; N]) -> Vec<T>

    Allocate a Vec<T> and move s’s items into it.

    \n
    §Examples
    \n
    assert_eq!(Vec::from([1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<[T; N]>","massa_factory_exports::types::ProductionHistory"],["
    1.5.0 · source§

    impl<T, A> From<BinaryHeap<T, A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn from(heap: BinaryHeap<T, A>) -> Vec<T, A>

    Converts a BinaryHeap<T> into a Vec<T>.

    \n

    This conversion requires no data movement or allocation, and has\nconstant time complexity.

    \n
    ","From>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T, O> From<BitVec<T, O>> for Vec<T>
    where\n T: BitStore,\n O: BitOrder,

    §

    fn from(bv: BitVec<T, O>) -> Vec<T>

    Converts to this type from the input type.
    ","From>","massa_factory_exports::types::ProductionHistory"],["
    1.18.0 · source§

    impl<T, A> From<Box<[T], A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn from(s: Box<[T], A>) -> Vec<T, A>

    Convert a boxed slice into a vector by transferring ownership of\nthe existing heap allocation.

    \n
    §Examples
    \n
    let b: Box<[i32]> = vec![1, 2, 3].into_boxed_slice();\nassert_eq!(Vec::from(b), vec![1, 2, 3]);
    \n
    ","From>","massa_factory_exports::types::ProductionHistory"],["
    1.14.0 · source§

    impl<'a, T> From<Cow<'a, [T]>> for Vec<T>
    where\n [T]: ToOwned<Owned = Vec<T>>,

    source§

    fn from(s: Cow<'a, [T]>) -> Vec<T>

    Convert a clone-on-write slice into a vector.

    \n

    If s already owns a Vec<T>, it will be returned directly.\nIf s is borrowing a slice, a new Vec<T> will be allocated and\nfilled by cloning s’s items into it.

    \n
    §Examples
    \n
    let o: Cow<'_, [i32]> = Cow::Owned(vec![1, 2, 3]);\nlet b: Cow<'_, [i32]> = Cow::Borrowed(&[1, 2, 3]);\nassert_eq!(Vec::from(o), Vec::from(b));
    \n
    ","From>","massa_factory_exports::types::ProductionHistory"],["
    1.10.0 · source§

    impl<T, A> From<VecDeque<T, A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn from(other: VecDeque<T, A>) -> Vec<T, A>

    Turn a VecDeque<T> into a Vec<T>.

    \n

    This never needs to re-allocate, but does need to do O(n) data movement if\nthe circular buffer doesn’t happen to be at the beginning of the allocation.

    \n
    §Examples
    \n
    use std::collections::VecDeque;\n\n// This one is *O*(1).\nlet deque: VecDeque<_> = (1..5).collect();\nlet ptr = deque.as_slices().0.as_ptr();\nlet vec = Vec::from(deque);\nassert_eq!(vec, [1, 2, 3, 4]);\nassert_eq!(vec.as_ptr(), ptr);\n\n// This one needs data rearranging.\nlet mut deque: VecDeque<_> = (1..5).collect();\ndeque.push_front(9);\ndeque.push_front(8);\nlet ptr = deque.as_slices().1.as_ptr();\nlet vec = Vec::from(deque);\nassert_eq!(vec, [8, 9, 1, 2, 3, 4]);\nassert_eq!(vec.as_ptr(), ptr);
    \n
    ","From>","massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T> FromFallibleIterator<T> for Vec<T>

    source§

    fn from_fallible_iter<I>(\n it: I,\n) -> Result<Vec<T>, <I as IntoFallibleIterator>::Error>
    where\n I: IntoFallibleIterator<Item = T>,

    Creates a value from a fallible iterator.
    ","FromFallibleIterator","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T> FromIterator<T> for Vec<T>

    Collects an iterator into a Vec, commonly called via Iterator::collect()

    \n

    §Allocation behavior

    \n

    In general Vec does not guarantee any particular growth or allocation strategy.\nThat also applies to this trait impl.

    \n

    Note: This section covers implementation details and is therefore exempt from\nstability guarantees.

    \n

    Vec may use any or none of the following strategies,\ndepending on the supplied iterator:

    \n
      \n
    • preallocate based on Iterator::size_hint()\n
        \n
      • and panic if the number of items is outside the provided lower/upper bounds
      • \n
      \n
    • \n
    • use an amortized growth strategy similar to pushing one item at a time
    • \n
    • perform the iteration in-place on the original allocation backing the iterator
    • \n
    \n

    The last case warrants some attention. It is an optimization that in many cases reduces peak memory\nconsumption and improves cache locality. But when big, short-lived allocations are created,\nonly a small fraction of their items get collected, no further use is made of the spare capacity\nand the resulting Vec is moved into a longer-lived structure, then this can lead to the large\nallocations having their lifetimes unnecessarily extended which can result in increased memory\nfootprint.

    \n

    In cases where this is an issue, the excess capacity can be discarded with Vec::shrink_to(),\nVec::shrink_to_fit() or by collecting into Box<[T]> instead, which additionally reduces\nthe size of the long-lived struct.

    \n\n
    static LONG_LIVED: Mutex<Vec<Vec<u16>>> = Mutex::new(Vec::new());\n\nfor i in 0..10 {\n    let big_temporary: Vec<u16> = (0..1024).collect();\n    // discard most items\n    let mut result: Vec<_> = big_temporary.into_iter().filter(|i| i % 100 == 0).collect();\n    // without this a lot of unused capacity might be moved into the global\n    result.shrink_to_fit();\n    LONG_LIVED.lock().unwrap().push(result);\n}
    \n
    source§

    fn from_iter<I>(iter: I) -> Vec<T>
    where\n I: IntoIterator<Item = T>,

    Creates a value from an iterator. Read more
    ","FromIterator","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> FromParallelIterator<T> for Vec<T>
    where\n T: Send,

    Collects items from a parallel iterator into a vector.

    \n
    §

    fn from_par_iter<I>(par_iter: I) -> Vec<T>
    where\n I: IntoParallelIterator<Item = T>,

    Creates an instance of the collection from the parallel iterator par_iter. Read more
    ","FromParallelIterator","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Hash for Vec<T, A>
    where\n T: Hash,\n A: Allocator,

    The hash of a vector is the same as that of the corresponding slice,\nas required by the core::borrow::Borrow implementation.

    \n\n
    use std::hash::BuildHasher;\n\nlet b = std::hash::RandomState::new();\nlet v: Vec<u8> = vec![0xa8, 0x3c, 0x09];\nlet s: &[u8] = &[0xa8, 0x3c, 0x09];\nassert_eq!(b.hash_one(v), b.hash_one(s));
    \n
    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, I, A> Index<I> for Vec<T, A>
    where\n I: SliceIndex<[T]>,\n A: Allocator,

    §

    type Output = <I as SliceIndex<[T]>>::Output

    The returned type after indexing.
    source§

    fn index(&self, index: I) -> &<Vec<T, A> as Index<I>>::Output

    Performs the indexing (container[index]) operation. Read more
    ","Index","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Index<PatternID> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: PatternID) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Index<PatternID> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: PatternID) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Index<SmallIndex> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: SmallIndex) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Index<SmallIndex> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: SmallIndex) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Index<StateID> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: StateID) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Index<StateID> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: StateID) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, I, A> IndexMut<I> for Vec<T, A>
    where\n I: SliceIndex<[T]>,\n A: Allocator,

    source§

    fn index_mut(&mut self, index: I) -> &mut <Vec<T, A> as Index<I>>::Output

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> IndexMut<PatternID> for Vec<T>

    §

    fn index_mut(&mut self, index: PatternID) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> IndexMut<PatternID> for Vec<T>

    §

    fn index_mut(&mut self, index: PatternID) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> IndexMut<SmallIndex> for Vec<T>

    §

    fn index_mut(&mut self, index: SmallIndex) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> IndexMut<SmallIndex> for Vec<T>

    §

    fn index_mut(&mut self, index: SmallIndex) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> IndexMut<StateID> for Vec<T>

    §

    fn index_mut(&mut self, index: StateID) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> IndexMut<StateID> for Vec<T>

    §

    fn index_mut(&mut self, index: StateID) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<'de, T, E> IntoDeserializer<'de, E> for Vec<T>
    where\n T: IntoDeserializer<'de, E>,\n E: Error,

    §

    type Deserializer = SeqDeserializer<<Vec<T> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(self) -> <Vec<T> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> IntoIterator for Vec<T, A>
    where\n A: Allocator,

    source§

    fn into_iter(self) -> <Vec<T, A> as IntoIterator>::IntoIter

    Creates a consuming iterator, that is, one that moves each value out of\nthe vector (from start to end). The vector cannot be used after calling\nthis.

    \n
    §Examples
    \n
    let v = vec![\"a\".to_string(), \"b\".to_string()];\nlet mut v_iter = v.into_iter();\n\nlet first_element: Option<String> = v_iter.next();\n\nassert_eq!(first_element, Some(\"a\".to_string()));\nassert_eq!(v_iter.next(), Some(\"b\".to_string()));\nassert_eq!(v_iter.next(), None);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> IntoParallelIterator for Vec<T>
    where\n T: Send,

    §

    type Item = T

    The type of item that the parallel iterator will produce.
    §

    type Iter = IntoIter<T>

    The parallel iterator type that will be created.
    §

    fn into_par_iter(self) -> <Vec<T> as IntoParallelIterator>::Iter

    Converts self into a parallel iterator. Read more
    ","IntoParallelIterator","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> JsonSchema for Vec<T>
    where\n T: JsonSchema,

    §

    fn is_referenceable() -> bool

    Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
    §

    fn schema_name() -> String

    The name of the generated JSON Schema. Read more
    §

    fn schema_id() -> Cow<'static, str>

    Returns a string that uniquely identifies the schema produced by this type. Read more
    §

    fn json_schema(gen: &mut SchemaGenerator) -> Schema

    Generates a JSON Schema for this type. Read more
    ","JsonSchema","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Ord for Vec<T, A>
    where\n T: Ord,\n A: Allocator,

    Implements ordering of vectors, lexicographically.

    \n
    source§

    fn cmp(&self, other: &Vec<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<'a, T> ParallelExtend<&'a T> for Vec<T>
    where\n T: 'a + Copy + Send + Sync,

    Extends a vector with copied items from a parallel iterator.

    \n
    §

    fn par_extend<I>(&mut self, par_iter: I)
    where\n I: IntoParallelIterator<Item = &'a T>,

    Extends an instance of the collection with the elements drawn\nfrom the parallel iterator par_iter. Read more
    ","ParallelExtend<&'a T>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> ParallelExtend<T> for Vec<T>
    where\n T: Send,

    Extends a vector with items from a parallel iterator.

    \n
    §

    fn par_extend<I>(&mut self, par_iter: I)
    where\n I: IntoParallelIterator<Item = T>,

    Extends an instance of the collection with the elements drawn\nfrom the parallel iterator par_iter. Read more
    ","ParallelExtend","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, U, A> PartialEq<&[U]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&[U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&[U]>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<&[U; N]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&[U; N]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&[U; N]>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, U, A> PartialEq<&mut [U]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&mut [U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&mut [U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&mut [U]>","massa_factory_exports::types::ProductionHistory"],["
    1.48.0 · source§

    impl<T, U, A> PartialEq<[U]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &[U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<[U]>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<[U; N]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &[U; N]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<[U; N]>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T, U> PartialEq<ArchivedVec<U>> for Vec<T>
    where\n T: PartialEq<U>,

    §

    fn eq(&self, other: &ArchivedVec<U>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, U, A1, A2> PartialEq<Vec<U, A2>> for Vec<T, A1>
    where\n A1: Allocator,\n A2: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &Vec<U, A2>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Vec<U, A2>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> PartialOrd<ArchivedVec<T>> for Vec<T>
    where\n T: PartialOrd,

    §

    fn partial_cmp(&self, other: &ArchivedVec<T>) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A1, A2> PartialOrd<Vec<T, A2>> for Vec<T, A1>
    where\n T: PartialOrd,\n A1: Allocator,\n A2: Allocator,

    Implements comparison of vectors, lexicographically.

    \n
    source§

    fn partial_cmp(&self, other: &Vec<T, A2>) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T, S> Serialize<S> for Vec<T>
    where\n T: Serialize<S>,\n S: ScratchSpace + Serializer + ?Sized,

    §

    fn serialize(\n &self,\n serializer: &mut S,\n) -> Result<<Vec<T> as Archive>::Resolver, <S as Fallible>::Error>

    Writes the dependencies for the object and returns a resolver that can create the archived\ntype.
    ","Serialize","massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T> Serialize for Vec<T>
    where\n T: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T, U> SerializeAs<Vec<T>> for Vec<U>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &Vec<T>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Sink<T> for Vec<T>

    §

    type Error = Infallible

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Vec<T>>,\n _: &mut Context<'_>,\n) -> Poll<Result<(), <Vec<T> as Sink<T>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Vec<T>>,\n item: T,\n) -> Result<(), <Vec<T> as Sink<T>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Vec<T>>,\n _: &mut Context<'_>,\n) -> Poll<Result<(), <Vec<T> as Sink<T>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Vec<T>>,\n _: &mut Context<'_>,\n) -> Poll<Result<(), <Vec<T> as Sink<T>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Source for Vec<T>
    where\n T: Source + Sync + Send + Clone + 'static,

    §

    fn clone_into_box(&self) -> Box<dyn Source + Send + Sync>

    §

    fn collect(&self) -> Result<HashMap<String, Value>, ConfigError>

    Collect all configuration properties available from this source and return\na Map.
    §

    fn collect_to(&self, cache: &mut Value) -> Result<(), ConfigError>

    Collects all configuration properties to a provided cache.
    ","Source","massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T> Vec<T>

    1.0.0 (const: 1.39.0) · source

    pub const fn new() -> Vec<T>

    Constructs a new, empty Vec<T>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    §Examples
    \n
    let mut vec: Vec<i32> = Vec::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> Vec<T>

    Constructs a new, empty Vec<T> with at least the specified capacity.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n

    It is important to note that although the returned vector has the\nminimum capacity specified, the vector will have a zero length. For\nan explanation of the difference between length and capacity, see\nCapacity and reallocation.

    \n

    If it is important to know the exact allocated capacity of a Vec,\nalways use the capacity method after construction.

    \n

    For Vec<T> where T is a zero-sized type, there will be no allocation\nand the capacity will always be usize::MAX.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = Vec::with_capacity(10);\n\n// The vector contains no items, even though it has capacity for more\nassert_eq!(vec.len(), 0);\nassert!(vec.capacity() >= 10);\n\n// These are all done without reallocating...\nfor i in 0..10 {\n    vec.push(i);\n}\nassert_eq!(vec.len(), 10);\nassert!(vec.capacity() >= 10);\n\n// ...but this may make the vector reallocate\nvec.push(11);\nassert_eq!(vec.len(), 11);\nassert!(vec.capacity() >= 11);\n\n// A vector of a zero-sized type will always over-allocate, since no\n// allocation is necessary\nlet vec_units = Vec::<()>::with_capacity(10);\nassert_eq!(vec_units.capacity(), usize::MAX);
    \n
    source

    pub fn try_with_capacity(capacity: usize) -> Result<Vec<T>, TryReserveError>

    🔬This is a nightly-only experimental API. (try_with_capacity)

    Constructs a new, empty Vec<T> with at least the specified capacity.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n
    §Errors
    \n

    Returns an error if the capacity exceeds isize::MAX bytes,\nor if the allocator reports allocation failure.

    \n
    1.0.0 · source

    pub unsafe fn from_raw_parts(\n ptr: *mut T,\n length: usize,\n capacity: usize,\n) -> Vec<T>

    Creates a Vec<T> directly from a pointer, a length, and a capacity.

    \n
    §Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • ptr must have been allocated using the global allocator, such as via\nthe alloc::alloc function.
    • \n
    • T needs to have the same alignment as what ptr was allocated with.\n(T having a less strict alignment is not sufficient, the alignment really\nneeds to be equal to satisfy the dealloc requirement that memory must be\nallocated and deallocated with the same layout.)
    • \n
    • The size of T times the capacity (ie. the allocated size in bytes) needs\nto be the same size as the pointer was allocated with. (Because similar to\nalignment, dealloc must be called with the same layout size.)
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • The first length values must be properly initialized values of type T.
    • \n
    • capacity needs to be the capacity that the pointer was allocated with.
    • \n
    • The allocated size in bytes must be no larger than isize::MAX.\nSee the safety documentation of pointer::offset.
    • \n
    \n

    These requirements are always upheld by any ptr that has been allocated\nvia Vec<T>. Other allocation sources are allowed if the invariants are\nupheld.

    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example it is normally not safe\nto build a Vec<u8> from a pointer to a C char array with length\nsize_t, doing so is only safe if the array was initially allocated by\na Vec or String.\nIt’s also not safe to build one from a Vec<u16> and its length, because\nthe allocator cares about the alignment, and these two types have different\nalignments. The buffer was allocated with alignment 2 (for u16), but after\nturning it into a Vec<u8> it’ll be deallocated with alignment 1. To avoid\nthese issues, it is often preferable to do casting/transmuting using\nslice::from_raw_parts instead.

    \n

    The ownership of ptr is effectively transferred to the\nVec<T> which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    §Examples
    \n
    use std::ptr;\nuse std::mem;\n\nlet v = vec![1, 2, 3];\n\n// Prevent running `v`'s destructor so we are in complete control\n// of the allocation.\nlet mut v = mem::ManuallyDrop::new(v);\n\n// Pull out the various important pieces of information about `v`\nlet p = v.as_mut_ptr();\nlet len = v.len();\nlet cap = v.capacity();\n\nunsafe {\n    // Overwrite memory with 4, 5, 6\n    for i in 0..len {\n        ptr::write(p.add(i), 4 + i);\n    }\n\n    // Put everything back together into a Vec\n    let rebuilt = Vec::from_raw_parts(p, len, cap);\n    assert_eq!(rebuilt, [4, 5, 6]);\n}
    \n

    Using memory that was allocated elsewhere:

    \n\n
    use std::alloc::{alloc, Layout};\n\nfn main() {\n    let layout = Layout::array::<u32>(16).expect(\"overflow cannot happen\");\n\n    let vec = unsafe {\n        let mem = alloc(layout).cast::<u32>();\n        if mem.is_null() {\n            return;\n        }\n\n        mem.write(1_000_000);\n\n        Vec::from_raw_parts(mem, 1, 16)\n    };\n\n    assert_eq!(vec, &[1_000_000]);\n    assert_eq!(vec.capacity(), 16);\n}
    \n
    ",0,"massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T, A> Vec<T, A>
    where\n T: Clone,\n A: Allocator,

    1.5.0 · source

    pub fn resize(&mut self, new_len: usize, value: T)

    Resizes the Vec in-place so that len is equal to new_len.

    \n

    If new_len is greater than len, the Vec is extended by the\ndifference, with each additional slot filled with value.\nIf new_len is less than len, the Vec is simply truncated.

    \n

    This method requires T to implement Clone,\nin order to be able to clone the passed value.\nIf you need more flexibility (or want to rely on Default instead of\nClone), use Vec::resize_with.\nIf you only need to resize to a smaller size, use Vec::truncate.

    \n
    §Examples
    \n
    let mut vec = vec![\"hello\"];\nvec.resize(3, \"world\");\nassert_eq!(vec, [\"hello\", \"world\", \"world\"]);\n\nlet mut vec = vec![1, 2, 3, 4];\nvec.resize(2, 0);\nassert_eq!(vec, [1, 2]);
    \n
    1.6.0 · source

    pub fn extend_from_slice(&mut self, other: &[T])

    Clones and appends all elements in a slice to the Vec.

    \n

    Iterates over the slice other, clones each element, and then appends\nit to this Vec. The other slice is traversed in-order.

    \n

    Note that this function is same as extend except that it is\nspecialized to work with slices instead. If and when Rust gets\nspecialization this function will likely be deprecated (but still\navailable).

    \n
    §Examples
    \n
    let mut vec = vec![1];\nvec.extend_from_slice(&[2, 3, 4]);\nassert_eq!(vec, [1, 2, 3, 4]);
    \n
    1.53.0 · source

    pub fn extend_from_within<R>(&mut self, src: R)
    where\n R: RangeBounds<usize>,

    Copies elements from src range to the end of the vector.

    \n
    §Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    §Examples
    \n
    let mut vec = vec![0, 1, 2, 3, 4];\n\nvec.extend_from_within(2..);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4]);\n\nvec.extend_from_within(..2);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1]);\n\nvec.extend_from_within(4..8);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1, 4, 2, 3, 4]);
    \n
    ",0,"massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T, A> Vec<T, A>
    where\n T: PartialEq,\n A: Allocator,

    1.0.0 · source

    pub fn dedup(&mut self)

    Removes consecutive repeated elements in the vector according to the\nPartialEq trait implementation.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 2, 3, 2];\n\nvec.dedup();\n\nassert_eq!(vec, [1, 2, 3, 2]);
    \n
    ",0,"massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T, A> Vec<T, A>
    where\n A: Allocator,

    1.21.0 · source

    pub fn splice<R, I>(\n &mut self,\n range: R,\n replace_with: I,\n) -> Splice<'_, <I as IntoIterator>::IntoIter, A>
    where\n R: RangeBounds<usize>,\n I: IntoIterator<Item = T>,

    Creates a splicing iterator that replaces the specified range in the vector\nwith the given replace_with iterator and yields the removed items.\nreplace_with does not need to be the same length as range.

    \n

    range is removed even if the iterator is not consumed until the end.

    \n

    It is unspecified how many elements are removed from the vector\nif the Splice value is leaked.

    \n

    The input iterator replace_with is only consumed when the Splice value is dropped.

    \n

    This is optimal if:

    \n
      \n
    • The tail (elements in the vector after range) is empty,
    • \n
    • or replace_with yields fewer or equal elements than range’s length
    • \n
    • or the lower bound of its size_hint() is exact.
    • \n
    \n

    Otherwise, a temporary vector is allocated and the tail is moved twice.

    \n
    §Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    §Examples
    \n
    let mut v = vec![1, 2, 3, 4];\nlet new = [7, 8, 9];\nlet u: Vec<_> = v.splice(1..3, new).collect();\nassert_eq!(v, &[1, 7, 8, 9, 4]);\nassert_eq!(u, &[2, 3]);
    \n
    source

    pub fn extract_if<F>(&mut self, filter: F) -> ExtractIf<'_, T, F, A>
    where\n F: FnMut(&mut T) -> bool,

    🔬This is a nightly-only experimental API. (extract_if)

    Creates an iterator which uses a closure to determine if an element should be removed.

    \n

    If the closure returns true, then the element is removed and yielded.\nIf the closure returns false, the element will remain in the vector and will not be yielded\nby the iterator.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n

    Using this method is equivalent to the following code:

    \n\n
    let mut i = 0;\nwhile i < vec.len() {\n    if some_predicate(&mut vec[i]) {\n        let val = vec.remove(i);\n        // your code here\n    } else {\n        i += 1;\n    }\n}\n
    \n

    But extract_if is easier to use. extract_if is also more efficient,\nbecause it can backshift the elements of the array in bulk.

    \n

    Note that extract_if also lets you mutate every element in the filter closure,\nregardless of whether you choose to keep or remove it.

    \n
    §Examples
    \n

    Splitting an array into evens and odds, reusing the original allocation:

    \n\n
    #![feature(extract_if)]\nlet mut numbers = vec![1, 2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 15];\n\nlet evens = numbers.extract_if(|x| *x % 2 == 0).collect::<Vec<_>>();\nlet odds = numbers;\n\nassert_eq!(evens, vec![2, 4, 6, 8, 14]);\nassert_eq!(odds, vec![1, 3, 5, 9, 11, 13, 15]);
    \n
    ",0,"massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T, A> Vec<T, A>
    where\n A: Allocator,

    source

    pub const fn new_in(alloc: A) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet mut vec: Vec<i32, _> = Vec::new_in(System);
    \n
    source

    pub fn with_capacity_in(capacity: usize, alloc: A) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A> with at least the specified capacity\nwith the provided allocator.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n

    It is important to note that although the returned vector has the\nminimum capacity specified, the vector will have a zero length. For\nan explanation of the difference between length and capacity, see\nCapacity and reallocation.

    \n

    If it is important to know the exact allocated capacity of a Vec,\nalways use the capacity method after construction.

    \n

    For Vec<T, A> where T is a zero-sized type, there will be no allocation\nand the capacity will always be usize::MAX.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet mut vec = Vec::with_capacity_in(10, System);\n\n// The vector contains no items, even though it has capacity for more\nassert_eq!(vec.len(), 0);\nassert!(vec.capacity() >= 10);\n\n// These are all done without reallocating...\nfor i in 0..10 {\n    vec.push(i);\n}\nassert_eq!(vec.len(), 10);\nassert!(vec.capacity() >= 10);\n\n// ...but this may make the vector reallocate\nvec.push(11);\nassert_eq!(vec.len(), 11);\nassert!(vec.capacity() >= 11);\n\n// A vector of a zero-sized type will always over-allocate, since no\n// allocation is necessary\nlet vec_units = Vec::<(), System>::with_capacity_in(10, System);\nassert_eq!(vec_units.capacity(), usize::MAX);
    \n
    source

    pub fn try_with_capacity_in(\n capacity: usize,\n alloc: A,\n) -> Result<Vec<T, A>, TryReserveError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A> with at least the specified capacity\nwith the provided allocator.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n
    §Errors
    \n

    Returns an error if the capacity exceeds isize::MAX bytes,\nor if the allocator reports allocation failure.

    \n
    source

    pub unsafe fn from_raw_parts_in(\n ptr: *mut T,\n length: usize,\n capacity: usize,\n alloc: A,\n) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Creates a Vec<T, A> directly from a pointer, a length, a capacity,\nand an allocator.

    \n
    §Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • ptr must be currently allocated via the given allocator alloc.
    • \n
    • T needs to have the same alignment as what ptr was allocated with.\n(T having a less strict alignment is not sufficient, the alignment really\nneeds to be equal to satisfy the dealloc requirement that memory must be\nallocated and deallocated with the same layout.)
    • \n
    • The size of T times the capacity (ie. the allocated size in bytes) needs\nto be the same size as the pointer was allocated with. (Because similar to\nalignment, dealloc must be called with the same layout size.)
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • The first length values must be properly initialized values of type T.
    • \n
    • capacity needs to fit the layout size that the pointer was allocated with.
    • \n
    • The allocated size in bytes must be no larger than isize::MAX.\nSee the safety documentation of pointer::offset.
    • \n
    \n

    These requirements are always upheld by any ptr that has been allocated\nvia Vec<T, A>. Other allocation sources are allowed if the invariants are\nupheld.

    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example it is not safe\nto build a Vec<u8> from a pointer to a C char array with length size_t.\nIt’s also not safe to build one from a Vec<u16> and its length, because\nthe allocator cares about the alignment, and these two types have different\nalignments. The buffer was allocated with alignment 2 (for u16), but after\nturning it into a Vec<u8> it’ll be deallocated with alignment 1.

    \n

    The ownership of ptr is effectively transferred to the\nVec<T> which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nuse std::ptr;\nuse std::mem;\n\nlet mut v = Vec::with_capacity_in(3, System);\nv.push(1);\nv.push(2);\nv.push(3);\n\n// Prevent running `v`'s destructor so we are in complete control\n// of the allocation.\nlet mut v = mem::ManuallyDrop::new(v);\n\n// Pull out the various important pieces of information about `v`\nlet p = v.as_mut_ptr();\nlet len = v.len();\nlet cap = v.capacity();\nlet alloc = v.allocator();\n\nunsafe {\n    // Overwrite memory with 4, 5, 6\n    for i in 0..len {\n        ptr::write(p.add(i), 4 + i);\n    }\n\n    // Put everything back together into a Vec\n    let rebuilt = Vec::from_raw_parts_in(p, len, cap, alloc.clone());\n    assert_eq!(rebuilt, [4, 5, 6]);\n}
    \n

    Using memory that was allocated elsewhere:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{AllocError, Allocator, Global, Layout};\n\nfn main() {\n    let layout = Layout::array::<u32>(16).expect(\"overflow cannot happen\");\n\n    let vec = unsafe {\n        let mem = match Global.allocate(layout) {\n            Ok(mem) => mem.cast::<u32>().as_ptr(),\n            Err(AllocError) => return,\n        };\n\n        mem.write(1_000_000);\n\n        Vec::from_raw_parts_in(mem, 1, 16, Global)\n    };\n\n    assert_eq!(vec, &[1_000_000]);\n    assert_eq!(vec.capacity(), 16);\n}
    \n
    source

    pub fn into_raw_parts(self) -> (*mut T, usize, usize)

    🔬This is a nightly-only experimental API. (vec_into_raw_parts)

    Decomposes a Vec<T> into its raw components: (pointer, length, capacity).

    \n

    Returns the raw pointer to the underlying data, the length of\nthe vector (in elements), and the allocated capacity of the\ndata (in elements). These are the same arguments in the same\norder as the arguments to from_raw_parts.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Vec. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a Vec with the from_raw_parts function, allowing\nthe destructor to perform the cleanup.

    \n
    §Examples
    \n
    #![feature(vec_into_raw_parts)]\nlet v: Vec<i32> = vec![-1, 0, 1];\n\nlet (ptr, len, cap) = v.into_raw_parts();\n\nlet rebuilt = unsafe {\n    // We can now make changes to the components, such as\n    // transmuting the raw pointer to a compatible type.\n    let ptr = ptr as *mut u32;\n\n    Vec::from_raw_parts(ptr, len, cap)\n};\nassert_eq!(rebuilt, [4294967295, 0, 1]);
    \n
    source

    pub fn into_raw_parts_with_alloc(self) -> (*mut T, usize, usize, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Decomposes a Vec<T> into its raw components: (pointer, length, capacity, allocator).

    \n

    Returns the raw pointer to the underlying data, the length of the vector (in elements),\nthe allocated capacity of the data (in elements), and the allocator. These are the same\narguments in the same order as the arguments to from_raw_parts_in.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Vec. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a Vec with the from_raw_parts_in function, allowing\nthe destructor to perform the cleanup.

    \n
    §Examples
    \n
    #![feature(allocator_api, vec_into_raw_parts)]\n\nuse std::alloc::System;\n\nlet mut v: Vec<i32, System> = Vec::new_in(System);\nv.push(-1);\nv.push(0);\nv.push(1);\n\nlet (ptr, len, cap, alloc) = v.into_raw_parts_with_alloc();\n\nlet rebuilt = unsafe {\n    // We can now make changes to the components, such as\n    // transmuting the raw pointer to a compatible type.\n    let ptr = ptr as *mut u32;\n\n    Vec::from_raw_parts_in(ptr, len, cap, alloc)\n};\nassert_eq!(rebuilt, [4294967295, 0, 1]);
    \n
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the total number of elements the vector can hold without\nreallocating.

    \n
    §Examples
    \n
    let mut vec: Vec<i32> = Vec::with_capacity(10);\nvec.push(42);\nassert!(vec.capacity() >= 10);
    \n
    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the given Vec<T>. The collection may reserve more space to\nspeculatively avoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = vec![1];\nvec.reserve(10);\nassert!(vec.capacity() >= 11);
    \n
    1.0.0 · source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional more elements to\nbe inserted in the given Vec<T>. Unlike reserve, this will not\ndeliberately over-allocate to speculatively avoid frequent allocations.\nAfter calling reserve_exact, capacity will be greater than or equal to\nself.len() + additional. Does nothing if the capacity is already\nsufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer reserve if future insertions are expected.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = vec![1];\nvec.reserve_exact(10);\nassert!(vec.capacity() >= 11);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the given Vec<T>. The collection may reserve more space to speculatively avoid\nfrequent reallocations. After calling try_reserve, capacity will be\ngreater than or equal to self.len() + additional if it returns\nOk(()). Does nothing if capacity is already sufficient. This method\npreserves the contents even if an error occurs.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &[u32]) -> Result<Vec<u32>, TryReserveError> {\n    let mut output = Vec::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.extend(data.iter().map(|&val| {\n        val * 2 + 5 // very complicated\n    }));\n\n    Ok(output)\n}
    \n
    1.57.0 · source

    pub fn try_reserve_exact(\n &mut self,\n additional: usize,\n) -> Result<(), TryReserveError>

    Tries to reserve the minimum capacity for at least additional\nelements to be inserted in the given Vec<T>. Unlike try_reserve,\nthis will not deliberately over-allocate to speculatively avoid frequent\nallocations. After calling try_reserve_exact, capacity will be greater\nthan or equal to self.len() + additional if it returns Ok(()).\nDoes nothing if the capacity is already sufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer try_reserve if future insertions are expected.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &[u32]) -> Result<Vec<u32>, TryReserveError> {\n    let mut output = Vec::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve_exact(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.extend(data.iter().map(|&val| {\n        val * 2 + 5 // very complicated\n    }));\n\n    Ok(output)\n}
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the vector as much as possible.

    \n

    The behavior of this method depends on the allocator, which may either shrink the vector\nin-place or reallocate. The resulting vector might still have some excess capacity, just as\nis the case for with_capacity. See Allocator::shrink for more details.

    \n
    §Examples
    \n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\nassert!(vec.capacity() >= 10);\nvec.shrink_to_fit();\nassert!(vec.capacity() >= 3);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the vector with a lower bound.

    \n

    The capacity will remain at least as large as both the length\nand the supplied value.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\nassert!(vec.capacity() >= 10);\nvec.shrink_to(4);\nassert!(vec.capacity() >= 4);\nvec.shrink_to(0);\nassert!(vec.capacity() >= 3);
    \n
    1.0.0 · source

    pub fn into_boxed_slice(self) -> Box<[T], A>

    Converts the vector into Box<[T]>.

    \n

    Before doing the conversion, this method discards excess capacity like shrink_to_fit.

    \n
    §Examples
    \n
    let v = vec![1, 2, 3];\n\nlet slice = v.into_boxed_slice();
    \n

    Any excess capacity is removed:

    \n\n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\n\nassert!(vec.capacity() >= 10);\nlet slice = vec.into_boxed_slice();\nassert_eq!(slice.into_vec().capacity(), 3);
    \n
    1.0.0 · source

    pub fn truncate(&mut self, len: usize)

    Shortens the vector, keeping the first len elements and dropping\nthe rest.

    \n

    If len is greater or equal to the vector’s current length, this has\nno effect.

    \n

    The drain method can emulate truncate, but causes the excess\nelements to be returned instead of dropped.

    \n

    Note that this method has no effect on the allocated capacity\nof the vector.

    \n
    §Examples
    \n

    Truncating a five element vector to two elements:

    \n\n
    let mut vec = vec![1, 2, 3, 4, 5];\nvec.truncate(2);\nassert_eq!(vec, [1, 2]);
    \n

    No truncation occurs when len is greater than the vector’s current\nlength:

    \n\n
    let mut vec = vec![1, 2, 3];\nvec.truncate(8);\nassert_eq!(vec, [1, 2, 3]);
    \n

    Truncating when len == 0 is equivalent to calling the clear\nmethod.

    \n\n
    let mut vec = vec![1, 2, 3];\nvec.truncate(0);\nassert_eq!(vec, []);
    \n
    1.7.0 · source

    pub fn as_slice(&self) -> &[T]

    Extracts a slice containing the entire vector.

    \n

    Equivalent to &s[..].

    \n
    §Examples
    \n
    use std::io::{self, Write};\nlet buffer = vec![1, 2, 3, 5, 8];\nio::sink().write(buffer.as_slice()).unwrap();
    \n
    1.7.0 · source

    pub fn as_mut_slice(&mut self) -> &mut [T]

    Extracts a mutable slice of the entire vector.

    \n

    Equivalent to &mut s[..].

    \n
    §Examples
    \n
    use std::io::{self, Read};\nlet mut buffer = vec![0; 3];\nio::repeat(0b101).read_exact(buffer.as_mut_slice()).unwrap();
    \n
    1.37.0 · source

    pub fn as_ptr(&self) -> *const T

    Returns a raw pointer to the vector’s buffer, or a dangling raw pointer\nvalid for zero sized reads if the vector didn’t allocate.

    \n

    The caller must ensure that the vector outlives the pointer this\nfunction returns, or else it will end up pointing to garbage.\nModifying the vector may cause its buffer to be reallocated,\nwhich would also make any pointers to it invalid.

    \n

    The caller must also ensure that the memory the pointer (non-transitively) points to\nis never written to (except inside an UnsafeCell) using this pointer or any pointer\nderived from it. If you need to mutate the contents of the slice, use as_mut_ptr.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\ndoes not materialize a reference to the underlying slice, and thus the returned pointer\nwill remain valid when mixed with other calls to as_ptr and as_mut_ptr.\nNote that calling other methods that materialize mutable references to the slice,\nor mutable references to specific elements you are planning on accessing through this pointer,\nas well as writing to those elements, may still invalidate this pointer.\nSee the second example below for how this guarantee can be used.

    \n
    §Examples
    \n
    let x = vec![1, 2, 4];\nlet x_ptr = x.as_ptr();\n\nunsafe {\n    for i in 0..x.len() {\n        assert_eq!(*x_ptr.add(i), 1 << i);\n    }\n}
    \n

    Due to the aliasing guarantee, the following code is legal:

    \n\n
    unsafe {\n    let mut v = vec![0, 1, 2];\n    let ptr1 = v.as_ptr();\n    let _ = ptr1.read();\n    let ptr2 = v.as_mut_ptr().offset(2);\n    ptr2.write(2);\n    // Notably, the write to `ptr2` did *not* invalidate `ptr1`\n    // because it mutated a different element:\n    let _ = ptr1.read();\n}
    \n
    1.37.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut T

    Returns an unsafe mutable pointer to the vector’s buffer, or a dangling\nraw pointer valid for zero sized reads if the vector didn’t allocate.

    \n

    The caller must ensure that the vector outlives the pointer this\nfunction returns, or else it will end up pointing to garbage.\nModifying the vector may cause its buffer to be reallocated,\nwhich would also make any pointers to it invalid.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\ndoes not materialize a reference to the underlying slice, and thus the returned pointer\nwill remain valid when mixed with other calls to as_ptr and as_mut_ptr.\nNote that calling other methods that materialize references to the slice,\nor references to specific elements you are planning on accessing through this pointer,\nmay still invalidate this pointer.\nSee the second example below for how this guarantee can be used.

    \n
    §Examples
    \n
    // Allocate vector big enough for 4 elements.\nlet size = 4;\nlet mut x: Vec<i32> = Vec::with_capacity(size);\nlet x_ptr = x.as_mut_ptr();\n\n// Initialize elements via raw pointer writes, then set length.\nunsafe {\n    for i in 0..size {\n        *x_ptr.add(i) = i as i32;\n    }\n    x.set_len(size);\n}\nassert_eq!(&*x, &[0, 1, 2, 3]);
    \n

    Due to the aliasing guarantee, the following code is legal:

    \n\n
    unsafe {\n    let mut v = vec![0];\n    let ptr1 = v.as_mut_ptr();\n    ptr1.write(1);\n    let ptr2 = v.as_mut_ptr();\n    ptr2.write(2);\n    // Notably, the write to `ptr2` did *not* invalidate `ptr1`:\n    ptr1.write(3);\n}
    \n
    source

    pub fn allocator(&self) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n
    1.0.0 · source

    pub unsafe fn set_len(&mut self, new_len: usize)

    Forces the length of the vector to new_len.

    \n

    This is a low-level operation that maintains none of the normal\ninvariants of the type. Normally changing the length of a vector\nis done using one of the safe operations instead, such as\ntruncate, resize, extend, or clear.

    \n
    §Safety
    \n
      \n
    • new_len must be less than or equal to capacity().
    • \n
    • The elements at old_len..new_len must be initialized.
    • \n
    \n
    §Examples
    \n

    This method can be useful for situations in which the vector\nis serving as a buffer for other code, particularly over FFI:

    \n\n
    pub fn get_dictionary(&self) -> Option<Vec<u8>> {\n    // Per the FFI method's docs, \"32768 bytes is always enough\".\n    let mut dict = Vec::with_capacity(32_768);\n    let mut dict_length = 0;\n    // SAFETY: When `deflateGetDictionary` returns `Z_OK`, it holds that:\n    // 1. `dict_length` elements were initialized.\n    // 2. `dict_length` <= the capacity (32_768)\n    // which makes `set_len` safe to call.\n    unsafe {\n        // Make the FFI call...\n        let r = deflateGetDictionary(self.strm, dict.as_mut_ptr(), &mut dict_length);\n        if r == Z_OK {\n            // ...and update the length to what was initialized.\n            dict.set_len(dict_length);\n            Some(dict)\n        } else {\n            None\n        }\n    }\n}
    \n

    While the following example is sound, there is a memory leak since\nthe inner vectors were not freed prior to the set_len call:

    \n\n
    let mut vec = vec![vec![1, 0, 0],\n                   vec![0, 1, 0],\n                   vec![0, 0, 1]];\n// SAFETY:\n// 1. `old_len..0` is empty so no elements need to be initialized.\n// 2. `0 <= capacity` always holds whatever `capacity` is.\nunsafe {\n    vec.set_len(0);\n}
    \n

    Normally, here, one would use clear instead to correctly drop\nthe contents and thus not leak memory.

    \n
    1.0.0 · source

    pub fn swap_remove(&mut self, index: usize) -> T

    Removes an element from the vector and returns it.

    \n

    The removed element is replaced by the last element of the vector.

    \n

    This does not preserve ordering of the remaining elements, but is O(1).\nIf you need to preserve the element order, use remove instead.

    \n
    §Panics
    \n

    Panics if index is out of bounds.

    \n
    §Examples
    \n
    let mut v = vec![\"foo\", \"bar\", \"baz\", \"qux\"];\n\nassert_eq!(v.swap_remove(1), \"bar\");\nassert_eq!(v, [\"foo\", \"qux\", \"baz\"]);\n\nassert_eq!(v.swap_remove(0), \"foo\");\nassert_eq!(v, [\"baz\", \"qux\"]);
    \n
    1.0.0 · source

    pub fn insert(&mut self, index: usize, element: T)

    Inserts an element at position index within the vector, shifting all\nelements after it to the right.

    \n
    §Panics
    \n

    Panics if index > len.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nvec.insert(1, 4);\nassert_eq!(vec, [1, 4, 2, 3]);\nvec.insert(4, 5);\nassert_eq!(vec, [1, 4, 2, 3, 5]);
    \n
    §Time complexity
    \n

    Takes O(Vec::len) time. All items after the insertion index must be\nshifted to the right. In the worst case, all elements are shifted when\nthe insertion index is 0.

    \n
    1.0.0 · source

    pub fn remove(&mut self, index: usize) -> T

    Removes and returns the element at position index within the vector,\nshifting all elements after it to the left.

    \n

    Note: Because this shifts over the remaining elements, it has a\nworst-case performance of O(n). If you don’t need the order of elements\nto be preserved, use swap_remove instead. If you’d like to remove\nelements from the beginning of the Vec, consider using\nVecDeque::pop_front instead.

    \n
    §Panics
    \n

    Panics if index is out of bounds.

    \n
    §Examples
    \n
    let mut v = vec![1, 2, 3];\nassert_eq!(v.remove(1), 2);\nassert_eq!(v, [1, 3]);
    \n
    1.0.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\nThis method operates in place, visiting each element exactly once in the\noriginal order, and preserves the order of the retained elements.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3, 4];\nvec.retain(|&x| x % 2 == 0);\nassert_eq!(vec, [2, 4]);
    \n

    Because the elements are visited exactly once in the original order,\nexternal state may be used to decide which elements to keep.

    \n\n
    let mut vec = vec![1, 2, 3, 4, 5];\nlet keep = [false, true, true, false, true];\nlet mut iter = keep.iter();\nvec.retain(|_| *iter.next().unwrap());\nassert_eq!(vec, [2, 3, 5]);
    \n
    1.61.0 · source

    pub fn retain_mut<F>(&mut self, f: F)
    where\n F: FnMut(&mut T) -> bool,

    Retains only the elements specified by the predicate, passing a mutable reference to it.

    \n

    In other words, remove all elements e such that f(&mut e) returns false.\nThis method operates in place, visiting each element exactly once in the\noriginal order, and preserves the order of the retained elements.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3, 4];\nvec.retain_mut(|x| if *x <= 3 {\n    *x += 1;\n    true\n} else {\n    false\n});\nassert_eq!(vec, [2, 3, 4]);
    \n
    1.16.0 · source

    pub fn dedup_by_key<F, K>(&mut self, key: F)
    where\n F: FnMut(&mut T) -> K,\n K: PartialEq,

    Removes all but the first of consecutive elements in the vector that resolve to the same\nkey.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    §Examples
    \n
    let mut vec = vec![10, 20, 21, 30, 20];\n\nvec.dedup_by_key(|i| *i / 10);\n\nassert_eq!(vec, [10, 20, 30, 20]);
    \n
    1.16.0 · source

    pub fn dedup_by<F>(&mut self, same_bucket: F)
    where\n F: FnMut(&mut T, &mut T) -> bool,

    Removes all but the first of consecutive elements in the vector satisfying a given equality\nrelation.

    \n

    The same_bucket function is passed references to two elements from the vector and\nmust determine if the elements compare equal. The elements are passed in opposite order\nfrom their order in the slice, so if same_bucket(a, b) returns true, a is removed.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    §Examples
    \n
    let mut vec = vec![\"foo\", \"bar\", \"Bar\", \"baz\", \"bar\"];\n\nvec.dedup_by(|a, b| a.eq_ignore_ascii_case(b));\n\nassert_eq!(vec, [\"foo\", \"bar\", \"baz\", \"bar\"]);
    \n
    1.0.0 · source

    pub fn push(&mut self, value: T)

    Appends an element to the back of a collection.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2];\nvec.push(3);\nassert_eq!(vec, [1, 2, 3]);
    \n
    §Time complexity
    \n

    Takes amortized O(1) time. If the vector’s length would exceed its\ncapacity after the push, O(capacity) time is taken to copy the\nvector’s elements to a larger allocation. This expensive operation is\noffset by the capacity O(1) insertions it allows.

    \n
    source

    pub fn push_within_capacity(&mut self, value: T) -> Result<(), T>

    🔬This is a nightly-only experimental API. (vec_push_within_capacity)

    Appends an element if there is sufficient spare capacity, otherwise an error is returned\nwith the element.

    \n

    Unlike push this method will not reallocate when there’s insufficient capacity.\nThe caller should use reserve or try_reserve to ensure that there is enough capacity.

    \n
    §Examples
    \n

    A manual, panic-free alternative to FromIterator:

    \n\n
    #![feature(vec_push_within_capacity)]\n\nuse std::collections::TryReserveError;\nfn from_iter_fallible<T>(iter: impl Iterator<Item=T>) -> Result<Vec<T>, TryReserveError> {\n    let mut vec = Vec::new();\n    for value in iter {\n        if let Err(value) = vec.push_within_capacity(value) {\n            vec.try_reserve(1)?;\n            // this cannot fail, the previous line either returned or added at least 1 free slot\n            let _ = vec.push_within_capacity(value);\n        }\n    }\n    Ok(vec)\n}\nassert_eq!(from_iter_fallible(0..100), Ok(Vec::from_iter(0..100)));
    \n
    §Time complexity
    \n

    Takes O(1) time.

    \n
    1.0.0 · source

    pub fn pop(&mut self) -> Option<T>

    Removes the last element from a vector and returns it, or None if it\nis empty.

    \n

    If you’d like to pop the first element, consider using\nVecDeque::pop_front instead.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nassert_eq!(vec.pop(), Some(3));\nassert_eq!(vec, [1, 2]);
    \n
    §Time complexity
    \n

    Takes O(1) time.

    \n
    source

    pub fn pop_if<F>(&mut self, f: F) -> Option<T>
    where\n F: FnOnce(&mut T) -> bool,

    🔬This is a nightly-only experimental API. (vec_pop_if)

    Removes and returns the last element in a vector if the predicate\nreturns true, or None if the predicate returns false or the vector\nis empty.

    \n
    §Examples
    \n
    #![feature(vec_pop_if)]\n\nlet mut vec = vec![1, 2, 3, 4];\nlet pred = |x: &mut i32| *x % 2 == 0;\n\nassert_eq!(vec.pop_if(pred), Some(4));\nassert_eq!(vec, [1, 2, 3]);\nassert_eq!(vec.pop_if(pred), None);
    \n
    1.4.0 · source

    pub fn append(&mut self, other: &mut Vec<T, A>)

    Moves all the elements of other into self, leaving other empty.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nlet mut vec2 = vec![4, 5, 6];\nvec.append(&mut vec2);\nassert_eq!(vec, [1, 2, 3, 4, 5, 6]);\nassert_eq!(vec2, []);
    \n
    1.6.0 · source

    pub fn drain<R>(&mut self, range: R) -> Drain<'_, T, A>
    where\n R: RangeBounds<usize>,

    Removes the specified range from the vector in bulk, returning all\nremoved elements as an iterator. If the iterator is dropped before\nbeing fully consumed, it drops the remaining removed elements.

    \n

    The returned iterator keeps a mutable borrow on the vector to optimize\nits implementation.

    \n
    §Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    §Leaking
    \n

    If the returned iterator goes out of scope without being dropped (due to\nmem::forget, for example), the vector may have lost and leaked\nelements arbitrarily, including elements outside the range.

    \n
    §Examples
    \n
    let mut v = vec![1, 2, 3];\nlet u: Vec<_> = v.drain(1..).collect();\nassert_eq!(v, &[1]);\nassert_eq!(u, &[2, 3]);\n\n// A full range clears the vector, like `clear()` does\nv.drain(..);\nassert_eq!(v, &[]);
    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the vector, removing all values.

    \n

    Note that this method has no effect on the allocated capacity\nof the vector.

    \n
    §Examples
    \n
    let mut v = vec![1, 2, 3];\n\nv.clear();\n\nassert!(v.is_empty());
    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the vector, also referred to\nas its ‘length’.

    \n
    §Examples
    \n
    let a = vec![1, 2, 3];\nassert_eq!(a.len(), 3);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the vector contains no elements.

    \n
    §Examples
    \n
    let mut v = Vec::new();\nassert!(v.is_empty());\n\nv.push(1);\nassert!(!v.is_empty());
    \n
    1.4.0 · source

    pub fn split_off(&mut self, at: usize) -> Vec<T, A>
    where\n A: Clone,

    Splits the collection into two at the given index.

    \n

    Returns a newly allocated vector containing the elements in the range\n[at, len). After the call, the original vector will be left containing\nthe elements [0, at) with its previous capacity unchanged.

    \n
      \n
    • If you want to take ownership of the entire contents and capacity of\nthe vector, see mem::take or mem::replace.
    • \n
    • If you don’t need the returned vector at all, see Vec::truncate.
    • \n
    • If you want to take ownership of an arbitrary subslice, or you don’t\nnecessarily want to store the removed items in a vector, see Vec::drain.
    • \n
    \n
    §Panics
    \n

    Panics if at > len.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nlet vec2 = vec.split_off(1);\nassert_eq!(vec, [1]);\nassert_eq!(vec2, [2, 3]);
    \n
    1.33.0 · source

    pub fn resize_with<F>(&mut self, new_len: usize, f: F)
    where\n F: FnMut() -> T,

    Resizes the Vec in-place so that len is equal to new_len.

    \n

    If new_len is greater than len, the Vec is extended by the\ndifference, with each additional slot filled with the result of\ncalling the closure f. The return values from f will end up\nin the Vec in the order they have been generated.

    \n

    If new_len is less than len, the Vec is simply truncated.

    \n

    This method uses a closure to create new values on every push. If\nyou’d rather Clone a given value, use Vec::resize. If you\nwant to use the Default trait to generate values, you can\npass Default::default as the second argument.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nvec.resize_with(5, Default::default);\nassert_eq!(vec, [1, 2, 3, 0, 0]);\n\nlet mut vec = vec![];\nlet mut p = 1;\nvec.resize_with(4, || { p *= 2; p });\nassert_eq!(vec, [2, 4, 8, 16]);
    \n
    1.47.0 · source

    pub fn leak<'a>(self) -> &'a mut [T]
    where\n A: 'a,

    Consumes and leaks the Vec, returning a mutable reference to the contents,\n&'a mut [T]. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    As of Rust 1.57, this method does not reallocate or shrink the Vec,\nso the leaked allocation may include unused capacity that is not part\nof the returned slice.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak.

    \n
    §Examples
    \n

    Simple usage:

    \n\n
    let x = vec![1, 2, 3];\nlet static_ref: &'static mut [usize] = x.leak();\nstatic_ref[0] += 1;\nassert_eq!(static_ref, &[2, 2, 3]);
    \n
    1.60.0 · source

    pub fn spare_capacity_mut(&mut self) -> &mut [MaybeUninit<T>]

    Returns the remaining spare capacity of the vector as a slice of\nMaybeUninit<T>.

    \n

    The returned slice can be used to fill the vector with data (e.g. by\nreading from a file) before marking the data as initialized using the\nset_len method.

    \n
    §Examples
    \n
    // Allocate vector big enough for 10 elements.\nlet mut v = Vec::with_capacity(10);\n\n// Fill in the first 3 elements.\nlet uninit = v.spare_capacity_mut();\nuninit[0].write(0);\nuninit[1].write(1);\nuninit[2].write(2);\n\n// Mark the first 3 elements of the vector as being initialized.\nunsafe {\n    v.set_len(3);\n}\n\nassert_eq!(&v, &[0, 1, 2]);
    \n
    source

    pub fn split_at_spare_mut(&mut self) -> (&mut [T], &mut [MaybeUninit<T>])

    🔬This is a nightly-only experimental API. (vec_split_at_spare)

    Returns vector content as a slice of T, along with the remaining spare\ncapacity of the vector as a slice of MaybeUninit<T>.

    \n

    The returned spare capacity slice can be used to fill the vector with data\n(e.g. by reading from a file) before marking the data as initialized using\nthe set_len method.

    \n

    Note that this is a low-level API, which should be used with care for\noptimization purposes. If you need to append data to a Vec\nyou can use push, extend, extend_from_slice,\nextend_from_within, insert, append, resize or\nresize_with, depending on your exact needs.

    \n
    §Examples
    \n
    #![feature(vec_split_at_spare)]\n\nlet mut v = vec![1, 1, 2];\n\n// Reserve additional space big enough for 10 elements.\nv.reserve(10);\n\nlet (init, uninit) = v.split_at_spare_mut();\nlet sum = init.iter().copied().sum::<u32>();\n\n// Fill in the next 4 elements.\nuninit[0].write(sum);\nuninit[1].write(sum * 2);\nuninit[2].write(sum * 3);\nuninit[3].write(sum * 4);\n\n// Mark the 4 elements of the vector as being initialized.\nunsafe {\n    let len = v.len();\n    v.set_len(len + 4);\n}\n\nassert_eq!(&v, &[1, 1, 2, 4, 8, 12, 16]);
    \n
    ",0,"massa_factory_exports::types::ProductionHistory"],["
    §

    impl<'a, T> Yokeable<'a> for Vec<T>
    where\n T: 'static,

    §

    type Output = Vec<T>

    This type MUST be Self with the 'static replaced with 'a, i.e. Self<'a>
    §

    fn transform(&'a self) -> &'a Vec<T>

    This method must cast self between &'a Self<'static> and &'a Self<'a>. Read more
    §

    fn transform_owned(self) -> Vec<T>

    This method must cast self between Self<'static> and Self<'a>. Read more
    §

    unsafe fn make(from: Vec<T>) -> Vec<T>

    This method can be used to cast away Self<'a>’s lifetime. Read more
    §

    fn transform_mut<F>(&'a mut self, f: F)
    where\n F: 'static + for<'b> FnOnce(&'b mut <Vec<T> as Yokeable<'a>>::Output),

    This method must cast self between &'a mut Self<'static> and &'a mut Self<'a>,\nand pass it to f. Read more
    ","Yokeable<'a>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<Z> Zeroize for Vec<Z>
    where\n Z: Zeroize,

    §

    fn zeroize(&mut self)

    “Best effort” zeroization for Vec.

    \n

    Ensures the entire capacity of the Vec is zeroed. Cannot ensure that\nprevious reallocations did not leave values on the heap.

    \n
    ","Zeroize","massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T, A> DerefPure for Vec<T, A>
    where\n A: Allocator,

    ","DerefPure","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Eq for Vec<T, A>
    where\n T: Eq,\n A: Allocator,

    ","Eq","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> FromStream<T> for Vec<T>

    ","FromStream","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> StableDeref for Vec<T>

    ","StableDeref","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<Z> ZeroizeOnDrop for Vec<Z>
    where\n Z: ZeroizeOnDrop,

    ","ZeroizeOnDrop","massa_factory_exports::types::ProductionHistory"]] +"massa_db_exports":[["
    §

    impl<T> ArrayLike for Vec<T>

    §

    type Item = T

    Type of the elements being stored.
    ","ArrayLike","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.5.0 · source§

    impl<T, A> AsMut<[T]> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn as_mut(&mut self) -> &mut [T]

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut<[T]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.5.0 · source§

    impl<T, A> AsMut<Vec<T, A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn as_mut(&mut self) -> &mut Vec<T, A>

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> AsRef<[T]> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn as_ref(&self) -> &[T]

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef<[T]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> AsRef<Vec<T, A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn as_ref(&self) -> &Vec<T, A>

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl AsyncWrite for Vec<u8>

    §

    fn poll_write(\n self: Pin<&mut Vec<u8>>,\n _: &mut Context<'_>,\n buf: &[u8],\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Vec<u8>>,\n _: &mut Context<'_>,\n bufs: &[IoSlice<'_>],\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Vec<u8>>,\n _: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Vec<u8>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl AsyncWrite for Vec<u8>

    §

    fn poll_write(\n self: Pin<&mut Vec<u8>>,\n _cx: &mut Context<'_>,\n buf: &[u8],\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Vec<u8>>,\n _: &mut Context<'_>,\n bufs: &[IoSlice<'_>],\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Vec<u8>>,\n _cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Vec<u8>>,\n _cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Borrow<[T]> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn borrow(&self) -> &[T]

    Immutably borrows from an owned value. Read more
    ","Borrow<[T]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> BorrowMut<[T]> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn borrow_mut(&mut self) -> &mut [T]

    Mutably borrows from an owned value. Read more
    ","BorrowMut<[T]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl BufMut for Vec<u8>

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    fn put<T>(&mut self, src: T)
    where\n T: Buf,\n Vec<u8>: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>
    where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>
    where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Clone for Vec<T, A>
    where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone_from(&mut self, source: &Vec<T, A>)

    Overwrites the contents of self with a clone of the contents of source.

    \n

    This method is preferred over simply assigning source.clone() to self,\nas it avoids reallocation if possible. Additionally, if the element type\nT overrides clone_from(), this will reuse the resources of self’s\nelements as well.

    \n
    §Examples
    \n
    let x = vec![5, 6, 7];\nlet mut y = vec![8, 9, 10];\nlet yp: *const i32 = y.as_ptr();\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no reallocation occurred\nassert_eq!(yp, y.as_ptr());
    \n
    source§

    fn clone(&self) -> Vec<T, A>

    Returns a copy of the value. Read more
    ","Clone","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Debug for Vec<T, A>
    where\n T: Debug,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl DecodeTarget for Vec<u8>

    §

    fn decode_with(\n &mut self,\n max_len: usize,\n f: impl for<'a> FnOnce(&'a mut [u8]) -> Result<usize, Error>,\n) -> Result<usize, Error>

    Decodes into this buffer, provides the maximum length for implementations that wish to\npreallocate space, along with a function that will write bytes into the buffer and return\nthe length written to it.
    ","DecodeTarget","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T> Default for Vec<T>

    source§

    fn default() -> Vec<T>

    Creates an empty Vec<T>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    ","Default","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Deref for Vec<T, A>
    where\n A: Allocator,

    §

    type Target = [T]

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &[T]

    Dereferences the value.
    ","Deref","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Vec<T, A>
    where\n A: Allocator,

    source§

    fn deref_mut(&mut self) -> &mut [T]

    Mutably dereferences the value.
    ","DerefMut","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<'de, T> Deserialize<'de> for Vec<T>
    where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<Vec<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<'de, T, U> DeserializeAs<'de, Vec<T>> for Vec<U>
    where\n U: DeserializeAs<'de, T>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Vec<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Vec>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Drop for Vec<T, A>
    where\n A: Allocator,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl EncodeTarget for Vec<u8>

    §

    fn encode_with(\n &mut self,\n max_len: usize,\n f: impl for<'a> FnOnce(&'a mut [u8]) -> Result<usize, Error>,\n) -> Result<usize, Error>

    Encodes into this buffer, provides the maximum length for implementations that wish to\npreallocate space, along with a function that will encode ASCII bytes into the buffer and\nreturn the length written to it.
    ","EncodeTarget","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.2.0 · source§

    impl<'a, T, A> Extend<&'a T> for Vec<T, A>
    where\n T: Copy + 'a,\n A: Allocator,

    Extend implementation that copies elements out of references before pushing them onto the Vec.

    \n

    This implementation is specialized for slice iterators, where it uses copy_from_slice to\nappend the entire slice at once.

    \n
    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = &'a T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: &'a T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<&'a T>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Extend<T> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, item: T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T> From<&[T]> for Vec<T>
    where\n T: Clone,

    source§

    fn from(s: &[T]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(&[1, 2, 3][..]), vec![1, 2, 3]);
    \n
    ","From<&[T]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.74.0 · source§

    impl<T, const N: usize> From<&[T; N]> for Vec<T>
    where\n T: Clone,

    source§

    fn from(s: &[T; N]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(&[1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<&[T; N]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl From<&OperationPrefixId> for Vec<u8>

    §

    fn from(prefix: &OperationPrefixId) -> Vec<u8>

    Converts to this type from the input type.
    ","From<&OperationPrefixId>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.19.0 · source§

    impl<T> From<&mut [T]> for Vec<T>
    where\n T: Clone,

    source§

    fn from(s: &mut [T]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(&mut [1, 2, 3][..]), vec![1, 2, 3]);
    \n
    ","From<&mut [T]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.74.0 · source§

    impl<T, const N: usize> From<&mut [T; N]> for Vec<T>
    where\n T: Clone,

    source§

    fn from(s: &mut [T; N]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(&mut [1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<&mut [T; N]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl From<&str> for Vec<u8>

    source§

    fn from(s: &str) -> Vec<u8>

    Allocate a Vec<u8> and fill it with a UTF-8 string.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(\"123\"), vec![b'1', b'2', b'3']);
    \n
    ","From<&str>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.44.0 · source§

    impl<T, const N: usize> From<[T; N]> for Vec<T>

    source§

    fn from(s: [T; N]) -> Vec<T>

    Allocate a Vec<T> and move s’s items into it.

    \n
    §Examples
    \n
    assert_eq!(Vec::from([1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<[T; N]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.5.0 · source§

    impl<T, A> From<BinaryHeap<T, A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn from(heap: BinaryHeap<T, A>) -> Vec<T, A>

    Converts a BinaryHeap<T> into a Vec<T>.

    \n

    This conversion requires no data movement or allocation, and has\nconstant time complexity.

    \n
    ","From>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl<T, O> From<BitVec<T, O>> for Vec<T>
    where\n T: BitStore,\n O: BitOrder,

    §

    fn from(bv: BitVec<T, O>) -> Vec<T>

    Converts to this type from the input type.
    ","From>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.18.0 · source§

    impl<T, A> From<Box<[T], A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn from(s: Box<[T], A>) -> Vec<T, A>

    Convert a boxed slice into a vector by transferring ownership of\nthe existing heap allocation.

    \n
    §Examples
    \n
    let b: Box<[i32]> = vec![1, 2, 3].into_boxed_slice();\nassert_eq!(Vec::from(b), vec![1, 2, 3]);
    \n
    ","From>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl From<Bytes> for Vec<u8>

    §

    fn from(bytes: Bytes) -> Vec<u8>

    Converts to this type from the input type.
    ","From","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl From<BytesMut> for Vec<u8>

    §

    fn from(bytes: BytesMut) -> Vec<u8>

    Converts to this type from the input type.
    ","From","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.7.0 · source§

    impl From<CString> for Vec<u8>

    source§

    fn from(s: CString) -> Vec<u8>

    Converts a CString into a Vec<u8>.

    \n

    The conversion consumes the CString, and removes the terminating NUL byte.

    \n
    ","From","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.14.0 · source§

    impl<'a, T> From<Cow<'a, [T]>> for Vec<T>
    where\n [T]: ToOwned<Owned = Vec<T>>,

    source§

    fn from(s: Cow<'a, [T]>) -> Vec<T>

    Convert a clone-on-write slice into a vector.

    \n

    If s already owns a Vec<T>, it will be returned directly.\nIf s is borrowing a slice, a new Vec<T> will be allocated and\nfilled by cloning s’s items into it.

    \n
    §Examples
    \n
    let o: Cow<'_, [i32]> = Cow::Owned(vec![1, 2, 3]);\nlet b: Cow<'_, [i32]> = Cow::Borrowed(&[1, 2, 3]);\nassert_eq!(Vec::from(o), Vec::from(b));
    \n
    ","From>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.14.0 · source§

    impl From<String> for Vec<u8>

    source§

    fn from(string: String) -> Vec<u8>

    Converts the given String to a vector Vec that holds values of type u8.

    \n
    §Examples
    \n
    let s1 = String::from(\"hello world\");\nlet v1 = Vec::from(s1);\n\nfor b in v1 {\n    println!(\"{b}\");\n}
    \n
    ","From","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.10.0 · source§

    impl<T, A> From<VecDeque<T, A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn from(other: VecDeque<T, A>) -> Vec<T, A>

    Turn a VecDeque<T> into a Vec<T>.

    \n

    This never needs to re-allocate, but does need to do O(n) data movement if\nthe circular buffer doesn’t happen to be at the beginning of the allocation.

    \n
    §Examples
    \n
    use std::collections::VecDeque;\n\n// This one is *O*(1).\nlet deque: VecDeque<_> = (1..5).collect();\nlet ptr = deque.as_slices().0.as_ptr();\nlet vec = Vec::from(deque);\nassert_eq!(vec, [1, 2, 3, 4]);\nassert_eq!(vec.as_ptr(), ptr);\n\n// This one needs data rearranging.\nlet mut deque: VecDeque<_> = (1..5).collect();\ndeque.push_front(9);\ndeque.push_front(8);\nlet ptr = deque.as_slices().1.as_ptr();\nlet vec = Vec::from(deque);\nassert_eq!(vec, [8, 9, 1, 2, 3, 4]);\nassert_eq!(vec.as_ptr(), ptr);
    \n
    ","From>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T> FromIterator<T> for Vec<T>

    Collects an iterator into a Vec, commonly called via Iterator::collect()

    \n

    §Allocation behavior

    \n

    In general Vec does not guarantee any particular growth or allocation strategy.\nThat also applies to this trait impl.

    \n

    Note: This section covers implementation details and is therefore exempt from\nstability guarantees.

    \n

    Vec may use any or none of the following strategies,\ndepending on the supplied iterator:

    \n
      \n
    • preallocate based on Iterator::size_hint()\n
        \n
      • and panic if the number of items is outside the provided lower/upper bounds
      • \n
      \n
    • \n
    • use an amortized growth strategy similar to pushing one item at a time
    • \n
    • perform the iteration in-place on the original allocation backing the iterator
    • \n
    \n

    The last case warrants some attention. It is an optimization that in many cases reduces peak memory\nconsumption and improves cache locality. But when big, short-lived allocations are created,\nonly a small fraction of their items get collected, no further use is made of the spare capacity\nand the resulting Vec is moved into a longer-lived structure, then this can lead to the large\nallocations having their lifetimes unnecessarily extended which can result in increased memory\nfootprint.

    \n

    In cases where this is an issue, the excess capacity can be discarded with Vec::shrink_to(),\nVec::shrink_to_fit() or by collecting into Box<[T]> instead, which additionally reduces\nthe size of the long-lived struct.

    \n\n
    static LONG_LIVED: Mutex<Vec<Vec<u16>>> = Mutex::new(Vec::new());\n\nfor i in 0..10 {\n    let big_temporary: Vec<u16> = (0..1024).collect();\n    // discard most items\n    let mut result: Vec<_> = big_temporary.into_iter().filter(|i| i % 100 == 0).collect();\n    // without this a lot of unused capacity might be moved into the global\n    result.shrink_to_fit();\n    LONG_LIVED.lock().unwrap().push(result);\n}
    \n
    source§

    fn from_iter<I>(iter: I) -> Vec<T>
    where\n I: IntoIterator<Item = T>,

    Creates a value from an iterator. Read more
    ","FromIterator","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Hash for Vec<T, A>
    where\n T: Hash,\n A: Allocator,

    The hash of a vector is the same as that of the corresponding slice,\nas required by the core::borrow::Borrow implementation.

    \n\n
    use std::hash::BuildHasher;\n\nlet b = std::hash::RandomState::new();\nlet v: Vec<u8> = vec![0xa8, 0x3c, 0x09];\nlet s: &[u8] = &[0xa8, 0x3c, 0x09];\nassert_eq!(b.hash_one(v), b.hash_one(s));
    \n
    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, I, A> Index<I> for Vec<T, A>
    where\n I: SliceIndex<[T]>,\n A: Allocator,

    §

    type Output = <I as SliceIndex<[T]>>::Output

    The returned type after indexing.
    source§

    fn index(&self, index: I) -> &<Vec<T, A> as Index<I>>::Output

    Performs the indexing (container[index]) operation. Read more
    ","Index","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, I, A> IndexMut<I> for Vec<T, A>
    where\n I: SliceIndex<[T]>,\n A: Allocator,

    source§

    fn index_mut(&mut self, index: I) -> &mut <Vec<T, A> as Index<I>>::Output

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<'de, T, E> IntoDeserializer<'de, E> for Vec<T>
    where\n T: IntoDeserializer<'de, E>,\n E: Error,

    §

    type Deserializer = SeqDeserializer<<Vec<T> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(self) -> <Vec<T> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> IntoIterator for Vec<T, A>
    where\n A: Allocator,

    source§

    fn into_iter(self) -> <Vec<T, A> as IntoIterator>::IntoIter

    Creates a consuming iterator, that is, one that moves each value out of\nthe vector (from start to end). The vector cannot be used after calling\nthis.

    \n
    §Examples
    \n
    let v = vec![\"a\".to_string(), \"b\".to_string()];\nlet mut v_iter = v.into_iter();\n\nlet first_element: Option<String> = v_iter.next();\n\nassert_eq!(first_element, Some(\"a\".to_string()));\nassert_eq!(v_iter.next(), Some(\"b\".to_string()));\nassert_eq!(v_iter.next(), None);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl IntoResponse for Vec<u8>

    §

    fn into_response(self) -> Response<Body>

    Create a response.
    ","IntoResponse","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl Message for Vec<u8>

    google.protobuf.BytesValue

    \n
    source§

    fn encoded_len(&self) -> usize

    Returns the encoded length of the message without a length delimiter.
    source§

    fn clear(&mut self)

    Clears the message, resetting all fields to their default.
    source§

    fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>
    where\n Self: Sized,

    Encodes the message to a buffer. Read more
    source§

    fn encode_to_vec(&self) -> Vec<u8>
    where\n Self: Sized,

    Encodes the message to a newly allocated buffer.
    source§

    fn encode_length_delimited(\n &self,\n buf: &mut impl BufMut,\n) -> Result<(), EncodeError>
    where\n Self: Sized,

    Encodes the message with a length-delimiter to a buffer. Read more
    source§

    fn encode_length_delimited_to_vec(&self) -> Vec<u8>
    where\n Self: Sized,

    Encodes the message with a length-delimiter to a newly allocated buffer.
    source§

    fn decode(buf: impl Buf) -> Result<Self, DecodeError>
    where\n Self: Default,

    Decodes an instance of the message from a buffer. Read more
    source§

    fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>
    where\n Self: Default,

    Decodes a length-delimited instance of the message from the buffer.
    source§

    fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>
    where\n Self: Sized,

    Decodes an instance of the message from a buffer, and merges it into self. Read more
    source§

    fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>
    where\n Self: Sized,

    Decodes a length-delimited instance of the message from buffer, and\nmerges it into self.
    ","Message","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl Name for Vec<u8>

    google.protobuf.BytesValue

    \n
    source§

    const NAME: &'static str = "BytesValue"

    Simple name for this Message.\nThis name is the same as it appears in the source .proto file, e.g. FooBar.
    source§

    const PACKAGE: &'static str = "google.protobuf"

    Package name this message type is contained in. They are domain-like\nand delimited by ., e.g. google.protobuf.
    source§

    fn type_url() -> String

    Type URL for this Message, which by default is the full name with a\nleading slash, but may also include a leading domain name, e.g.\ntype.googleapis.com/google.profile.Person.\nThis can be used when serializing into the google.protobuf.Any type.
    source§

    fn full_name() -> String

    Fully-qualified unique name for this Message.\nIt’s prefixed with the package name and names of any parent messages,\ne.g. google.rpc.BadRequest.FieldViolation.\nBy default, this is the package name followed by the message name.\nFully-qualified names must be unique within a domain of Type URLs.
    ","Name","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Ord for Vec<T, A>
    where\n T: Ord,\n A: Allocator,

    Implements ordering of vectors, lexicographically.

    \n
    source§

    fn cmp(&self, other: &Vec<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, U, A> PartialEq<&[U]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&[U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&[U]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<&[U; N]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&[U; N]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&[U; N]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, U, A> PartialEq<&mut [U]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&mut [U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&mut [U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&mut [U]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.48.0 · source§

    impl<T, U, A> PartialEq<[U]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &[U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<[U]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<[U; N]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &[U; N]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<[U; N]>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl PartialEq<Bytes> for Vec<u8>

    §

    fn eq(&self, other: &Bytes) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl PartialEq<BytesMut> for Vec<u8>

    §

    fn eq(&self, other: &BytesMut) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, U, A1, A2> PartialEq<Vec<U, A2>> for Vec<T, A1>
    where\n A1: Allocator,\n A2: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &Vec<U, A2>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Vec<U, A2>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl PartialOrd<Bytes> for Vec<u8>

    §

    fn partial_cmp(&self, other: &Bytes) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl PartialOrd<BytesMut> for Vec<u8>

    §

    fn partial_cmp(&self, other: &BytesMut) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A1, A2> PartialOrd<Vec<T, A2>> for Vec<T, A1>
    where\n T: PartialOrd,\n A1: Allocator,\n A2: Allocator,

    Implements comparison of vectors, lexicographically.

    \n
    source§

    fn partial_cmp(&self, other: &Vec<T, A2>) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<T> Serialize for Vec<T>
    where\n T: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<T, U> SerializeAs<Vec<T>> for Vec<U>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &Vec<T>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl<T> Sink<T> for Vec<T>

    §

    type Error = Infallible

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Vec<T>>,\n _: &mut Context<'_>,\n) -> Poll<Result<(), <Vec<T> as Sink<T>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Vec<T>>,\n item: T,\n) -> Result<(), <Vec<T> as Sink<T>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Vec<T>>,\n _: &mut Context<'_>,\n) -> Poll<Result<(), <Vec<T> as Sink<T>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Vec<T>>,\n _: &mut Context<'_>,\n) -> Poll<Result<(), <Vec<T> as Sink<T>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl<T> Source for Vec<T>
    where\n T: Source + Sync + Send + Clone + 'static,

    §

    fn clone_into_box(&self) -> Box<dyn Source + Send + Sync>

    §

    fn collect(&self) -> Result<HashMap<String, Value>, ConfigError>

    Collect all configuration properties available from this source and return\na Map.
    §

    fn collect_to(&self, cache: &mut Value) -> Result<(), ConfigError>

    Collects all configuration properties to a provided cache.
    ","Source","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<T> Vec<T>

    1.0.0 (const: 1.39.0) · source

    pub const fn new() -> Vec<T>

    Constructs a new, empty Vec<T>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    §Examples
    \n
    let mut vec: Vec<i32> = Vec::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> Vec<T>

    Constructs a new, empty Vec<T> with at least the specified capacity.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n

    It is important to note that although the returned vector has the\nminimum capacity specified, the vector will have a zero length. For\nan explanation of the difference between length and capacity, see\nCapacity and reallocation.

    \n

    If it is important to know the exact allocated capacity of a Vec,\nalways use the capacity method after construction.

    \n

    For Vec<T> where T is a zero-sized type, there will be no allocation\nand the capacity will always be usize::MAX.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = Vec::with_capacity(10);\n\n// The vector contains no items, even though it has capacity for more\nassert_eq!(vec.len(), 0);\nassert!(vec.capacity() >= 10);\n\n// These are all done without reallocating...\nfor i in 0..10 {\n    vec.push(i);\n}\nassert_eq!(vec.len(), 10);\nassert!(vec.capacity() >= 10);\n\n// ...but this may make the vector reallocate\nvec.push(11);\nassert_eq!(vec.len(), 11);\nassert!(vec.capacity() >= 11);\n\n// A vector of a zero-sized type will always over-allocate, since no\n// allocation is necessary\nlet vec_units = Vec::<()>::with_capacity(10);\nassert_eq!(vec_units.capacity(), usize::MAX);
    \n
    source

    pub fn try_with_capacity(capacity: usize) -> Result<Vec<T>, TryReserveError>

    🔬This is a nightly-only experimental API. (try_with_capacity)

    Constructs a new, empty Vec<T> with at least the specified capacity.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n
    §Errors
    \n

    Returns an error if the capacity exceeds isize::MAX bytes,\nor if the allocator reports allocation failure.

    \n
    1.0.0 · source

    pub unsafe fn from_raw_parts(\n ptr: *mut T,\n length: usize,\n capacity: usize,\n) -> Vec<T>

    Creates a Vec<T> directly from a pointer, a length, and a capacity.

    \n
    §Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • ptr must have been allocated using the global allocator, such as via\nthe alloc::alloc function.
    • \n
    • T needs to have the same alignment as what ptr was allocated with.\n(T having a less strict alignment is not sufficient, the alignment really\nneeds to be equal to satisfy the dealloc requirement that memory must be\nallocated and deallocated with the same layout.)
    • \n
    • The size of T times the capacity (ie. the allocated size in bytes) needs\nto be the same size as the pointer was allocated with. (Because similar to\nalignment, dealloc must be called with the same layout size.)
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • The first length values must be properly initialized values of type T.
    • \n
    • capacity needs to be the capacity that the pointer was allocated with.
    • \n
    • The allocated size in bytes must be no larger than isize::MAX.\nSee the safety documentation of pointer::offset.
    • \n
    \n

    These requirements are always upheld by any ptr that has been allocated\nvia Vec<T>. Other allocation sources are allowed if the invariants are\nupheld.

    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example it is normally not safe\nto build a Vec<u8> from a pointer to a C char array with length\nsize_t, doing so is only safe if the array was initially allocated by\na Vec or String.\nIt’s also not safe to build one from a Vec<u16> and its length, because\nthe allocator cares about the alignment, and these two types have different\nalignments. The buffer was allocated with alignment 2 (for u16), but after\nturning it into a Vec<u8> it’ll be deallocated with alignment 1. To avoid\nthese issues, it is often preferable to do casting/transmuting using\nslice::from_raw_parts instead.

    \n

    The ownership of ptr is effectively transferred to the\nVec<T> which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    §Examples
    \n
    use std::ptr;\nuse std::mem;\n\nlet v = vec![1, 2, 3];\n\n// Prevent running `v`'s destructor so we are in complete control\n// of the allocation.\nlet mut v = mem::ManuallyDrop::new(v);\n\n// Pull out the various important pieces of information about `v`\nlet p = v.as_mut_ptr();\nlet len = v.len();\nlet cap = v.capacity();\n\nunsafe {\n    // Overwrite memory with 4, 5, 6\n    for i in 0..len {\n        ptr::write(p.add(i), 4 + i);\n    }\n\n    // Put everything back together into a Vec\n    let rebuilt = Vec::from_raw_parts(p, len, cap);\n    assert_eq!(rebuilt, [4, 5, 6]);\n}
    \n

    Using memory that was allocated elsewhere:

    \n\n
    use std::alloc::{alloc, Layout};\n\nfn main() {\n    let layout = Layout::array::<u32>(16).expect(\"overflow cannot happen\");\n\n    let vec = unsafe {\n        let mem = alloc(layout).cast::<u32>();\n        if mem.is_null() {\n            return;\n        }\n\n        mem.write(1_000_000);\n\n        Vec::from_raw_parts(mem, 1, 16)\n    };\n\n    assert_eq!(vec, &[1_000_000]);\n    assert_eq!(vec.capacity(), 16);\n}
    \n
    ",0,"massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<T, A> Vec<T, A>
    where\n T: Clone,\n A: Allocator,

    1.5.0 · source

    pub fn resize(&mut self, new_len: usize, value: T)

    Resizes the Vec in-place so that len is equal to new_len.

    \n

    If new_len is greater than len, the Vec is extended by the\ndifference, with each additional slot filled with value.\nIf new_len is less than len, the Vec is simply truncated.

    \n

    This method requires T to implement Clone,\nin order to be able to clone the passed value.\nIf you need more flexibility (or want to rely on Default instead of\nClone), use Vec::resize_with.\nIf you only need to resize to a smaller size, use Vec::truncate.

    \n
    §Examples
    \n
    let mut vec = vec![\"hello\"];\nvec.resize(3, \"world\");\nassert_eq!(vec, [\"hello\", \"world\", \"world\"]);\n\nlet mut vec = vec![1, 2, 3, 4];\nvec.resize(2, 0);\nassert_eq!(vec, [1, 2]);
    \n
    1.6.0 · source

    pub fn extend_from_slice(&mut self, other: &[T])

    Clones and appends all elements in a slice to the Vec.

    \n

    Iterates over the slice other, clones each element, and then appends\nit to this Vec. The other slice is traversed in-order.

    \n

    Note that this function is same as extend except that it is\nspecialized to work with slices instead. If and when Rust gets\nspecialization this function will likely be deprecated (but still\navailable).

    \n
    §Examples
    \n
    let mut vec = vec![1];\nvec.extend_from_slice(&[2, 3, 4]);\nassert_eq!(vec, [1, 2, 3, 4]);
    \n
    1.53.0 · source

    pub fn extend_from_within<R>(&mut self, src: R)
    where\n R: RangeBounds<usize>,

    Copies elements from src range to the end of the vector.

    \n
    §Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    §Examples
    \n
    let mut vec = vec![0, 1, 2, 3, 4];\n\nvec.extend_from_within(2..);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4]);\n\nvec.extend_from_within(..2);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1]);\n\nvec.extend_from_within(4..8);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1, 4, 2, 3, 4]);
    \n
    ",0,"massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<T, A> Vec<T, A>
    where\n T: PartialEq,\n A: Allocator,

    1.0.0 · source

    pub fn dedup(&mut self)

    Removes consecutive repeated elements in the vector according to the\nPartialEq trait implementation.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 2, 3, 2];\n\nvec.dedup();\n\nassert_eq!(vec, [1, 2, 3, 2]);
    \n
    ",0,"massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<T, A> Vec<T, A>
    where\n A: Allocator,

    1.21.0 · source

    pub fn splice<R, I>(\n &mut self,\n range: R,\n replace_with: I,\n) -> Splice<'_, <I as IntoIterator>::IntoIter, A>
    where\n R: RangeBounds<usize>,\n I: IntoIterator<Item = T>,

    Creates a splicing iterator that replaces the specified range in the vector\nwith the given replace_with iterator and yields the removed items.\nreplace_with does not need to be the same length as range.

    \n

    range is removed even if the iterator is not consumed until the end.

    \n

    It is unspecified how many elements are removed from the vector\nif the Splice value is leaked.

    \n

    The input iterator replace_with is only consumed when the Splice value is dropped.

    \n

    This is optimal if:

    \n
      \n
    • The tail (elements in the vector after range) is empty,
    • \n
    • or replace_with yields fewer or equal elements than range’s length
    • \n
    • or the lower bound of its size_hint() is exact.
    • \n
    \n

    Otherwise, a temporary vector is allocated and the tail is moved twice.

    \n
    §Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    §Examples
    \n
    let mut v = vec![1, 2, 3, 4];\nlet new = [7, 8, 9];\nlet u: Vec<_> = v.splice(1..3, new).collect();\nassert_eq!(v, &[1, 7, 8, 9, 4]);\nassert_eq!(u, &[2, 3]);
    \n
    source

    pub fn extract_if<F>(&mut self, filter: F) -> ExtractIf<'_, T, F, A>
    where\n F: FnMut(&mut T) -> bool,

    🔬This is a nightly-only experimental API. (extract_if)

    Creates an iterator which uses a closure to determine if an element should be removed.

    \n

    If the closure returns true, then the element is removed and yielded.\nIf the closure returns false, the element will remain in the vector and will not be yielded\nby the iterator.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n

    Using this method is equivalent to the following code:

    \n\n
    let mut i = 0;\nwhile i < vec.len() {\n    if some_predicate(&mut vec[i]) {\n        let val = vec.remove(i);\n        // your code here\n    } else {\n        i += 1;\n    }\n}\n
    \n

    But extract_if is easier to use. extract_if is also more efficient,\nbecause it can backshift the elements of the array in bulk.

    \n

    Note that extract_if also lets you mutate every element in the filter closure,\nregardless of whether you choose to keep or remove it.

    \n
    §Examples
    \n

    Splitting an array into evens and odds, reusing the original allocation:

    \n\n
    #![feature(extract_if)]\nlet mut numbers = vec![1, 2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 15];\n\nlet evens = numbers.extract_if(|x| *x % 2 == 0).collect::<Vec<_>>();\nlet odds = numbers;\n\nassert_eq!(evens, vec![2, 4, 6, 8, 14]);\nassert_eq!(odds, vec![1, 3, 5, 9, 11, 13, 15]);
    \n
    ",0,"massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<T, A> Vec<T, A>
    where\n A: Allocator,

    source

    pub const fn new_in(alloc: A) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet mut vec: Vec<i32, _> = Vec::new_in(System);
    \n
    source

    pub fn with_capacity_in(capacity: usize, alloc: A) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A> with at least the specified capacity\nwith the provided allocator.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n

    It is important to note that although the returned vector has the\nminimum capacity specified, the vector will have a zero length. For\nan explanation of the difference between length and capacity, see\nCapacity and reallocation.

    \n

    If it is important to know the exact allocated capacity of a Vec,\nalways use the capacity method after construction.

    \n

    For Vec<T, A> where T is a zero-sized type, there will be no allocation\nand the capacity will always be usize::MAX.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet mut vec = Vec::with_capacity_in(10, System);\n\n// The vector contains no items, even though it has capacity for more\nassert_eq!(vec.len(), 0);\nassert!(vec.capacity() >= 10);\n\n// These are all done without reallocating...\nfor i in 0..10 {\n    vec.push(i);\n}\nassert_eq!(vec.len(), 10);\nassert!(vec.capacity() >= 10);\n\n// ...but this may make the vector reallocate\nvec.push(11);\nassert_eq!(vec.len(), 11);\nassert!(vec.capacity() >= 11);\n\n// A vector of a zero-sized type will always over-allocate, since no\n// allocation is necessary\nlet vec_units = Vec::<(), System>::with_capacity_in(10, System);\nassert_eq!(vec_units.capacity(), usize::MAX);
    \n
    source

    pub fn try_with_capacity_in(\n capacity: usize,\n alloc: A,\n) -> Result<Vec<T, A>, TryReserveError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A> with at least the specified capacity\nwith the provided allocator.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n
    §Errors
    \n

    Returns an error if the capacity exceeds isize::MAX bytes,\nor if the allocator reports allocation failure.

    \n
    source

    pub unsafe fn from_raw_parts_in(\n ptr: *mut T,\n length: usize,\n capacity: usize,\n alloc: A,\n) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Creates a Vec<T, A> directly from a pointer, a length, a capacity,\nand an allocator.

    \n
    §Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • ptr must be currently allocated via the given allocator alloc.
    • \n
    • T needs to have the same alignment as what ptr was allocated with.\n(T having a less strict alignment is not sufficient, the alignment really\nneeds to be equal to satisfy the dealloc requirement that memory must be\nallocated and deallocated with the same layout.)
    • \n
    • The size of T times the capacity (ie. the allocated size in bytes) needs\nto be the same size as the pointer was allocated with. (Because similar to\nalignment, dealloc must be called with the same layout size.)
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • The first length values must be properly initialized values of type T.
    • \n
    • capacity needs to fit the layout size that the pointer was allocated with.
    • \n
    • The allocated size in bytes must be no larger than isize::MAX.\nSee the safety documentation of pointer::offset.
    • \n
    \n

    These requirements are always upheld by any ptr that has been allocated\nvia Vec<T, A>. Other allocation sources are allowed if the invariants are\nupheld.

    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example it is not safe\nto build a Vec<u8> from a pointer to a C char array with length size_t.\nIt’s also not safe to build one from a Vec<u16> and its length, because\nthe allocator cares about the alignment, and these two types have different\nalignments. The buffer was allocated with alignment 2 (for u16), but after\nturning it into a Vec<u8> it’ll be deallocated with alignment 1.

    \n

    The ownership of ptr is effectively transferred to the\nVec<T> which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nuse std::ptr;\nuse std::mem;\n\nlet mut v = Vec::with_capacity_in(3, System);\nv.push(1);\nv.push(2);\nv.push(3);\n\n// Prevent running `v`'s destructor so we are in complete control\n// of the allocation.\nlet mut v = mem::ManuallyDrop::new(v);\n\n// Pull out the various important pieces of information about `v`\nlet p = v.as_mut_ptr();\nlet len = v.len();\nlet cap = v.capacity();\nlet alloc = v.allocator();\n\nunsafe {\n    // Overwrite memory with 4, 5, 6\n    for i in 0..len {\n        ptr::write(p.add(i), 4 + i);\n    }\n\n    // Put everything back together into a Vec\n    let rebuilt = Vec::from_raw_parts_in(p, len, cap, alloc.clone());\n    assert_eq!(rebuilt, [4, 5, 6]);\n}
    \n

    Using memory that was allocated elsewhere:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{AllocError, Allocator, Global, Layout};\n\nfn main() {\n    let layout = Layout::array::<u32>(16).expect(\"overflow cannot happen\");\n\n    let vec = unsafe {\n        let mem = match Global.allocate(layout) {\n            Ok(mem) => mem.cast::<u32>().as_ptr(),\n            Err(AllocError) => return,\n        };\n\n        mem.write(1_000_000);\n\n        Vec::from_raw_parts_in(mem, 1, 16, Global)\n    };\n\n    assert_eq!(vec, &[1_000_000]);\n    assert_eq!(vec.capacity(), 16);\n}
    \n
    source

    pub fn into_raw_parts(self) -> (*mut T, usize, usize)

    🔬This is a nightly-only experimental API. (vec_into_raw_parts)

    Decomposes a Vec<T> into its raw components: (pointer, length, capacity).

    \n

    Returns the raw pointer to the underlying data, the length of\nthe vector (in elements), and the allocated capacity of the\ndata (in elements). These are the same arguments in the same\norder as the arguments to from_raw_parts.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Vec. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a Vec with the from_raw_parts function, allowing\nthe destructor to perform the cleanup.

    \n
    §Examples
    \n
    #![feature(vec_into_raw_parts)]\nlet v: Vec<i32> = vec![-1, 0, 1];\n\nlet (ptr, len, cap) = v.into_raw_parts();\n\nlet rebuilt = unsafe {\n    // We can now make changes to the components, such as\n    // transmuting the raw pointer to a compatible type.\n    let ptr = ptr as *mut u32;\n\n    Vec::from_raw_parts(ptr, len, cap)\n};\nassert_eq!(rebuilt, [4294967295, 0, 1]);
    \n
    source

    pub fn into_raw_parts_with_alloc(self) -> (*mut T, usize, usize, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Decomposes a Vec<T> into its raw components: (pointer, length, capacity, allocator).

    \n

    Returns the raw pointer to the underlying data, the length of the vector (in elements),\nthe allocated capacity of the data (in elements), and the allocator. These are the same\narguments in the same order as the arguments to from_raw_parts_in.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Vec. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a Vec with the from_raw_parts_in function, allowing\nthe destructor to perform the cleanup.

    \n
    §Examples
    \n
    #![feature(allocator_api, vec_into_raw_parts)]\n\nuse std::alloc::System;\n\nlet mut v: Vec<i32, System> = Vec::new_in(System);\nv.push(-1);\nv.push(0);\nv.push(1);\n\nlet (ptr, len, cap, alloc) = v.into_raw_parts_with_alloc();\n\nlet rebuilt = unsafe {\n    // We can now make changes to the components, such as\n    // transmuting the raw pointer to a compatible type.\n    let ptr = ptr as *mut u32;\n\n    Vec::from_raw_parts_in(ptr, len, cap, alloc)\n};\nassert_eq!(rebuilt, [4294967295, 0, 1]);
    \n
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the total number of elements the vector can hold without\nreallocating.

    \n
    §Examples
    \n
    let mut vec: Vec<i32> = Vec::with_capacity(10);\nvec.push(42);\nassert!(vec.capacity() >= 10);
    \n
    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the given Vec<T>. The collection may reserve more space to\nspeculatively avoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = vec![1];\nvec.reserve(10);\nassert!(vec.capacity() >= 11);
    \n
    1.0.0 · source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional more elements to\nbe inserted in the given Vec<T>. Unlike reserve, this will not\ndeliberately over-allocate to speculatively avoid frequent allocations.\nAfter calling reserve_exact, capacity will be greater than or equal to\nself.len() + additional. Does nothing if the capacity is already\nsufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer reserve if future insertions are expected.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = vec![1];\nvec.reserve_exact(10);\nassert!(vec.capacity() >= 11);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the given Vec<T>. The collection may reserve more space to speculatively avoid\nfrequent reallocations. After calling try_reserve, capacity will be\ngreater than or equal to self.len() + additional if it returns\nOk(()). Does nothing if capacity is already sufficient. This method\npreserves the contents even if an error occurs.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &[u32]) -> Result<Vec<u32>, TryReserveError> {\n    let mut output = Vec::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.extend(data.iter().map(|&val| {\n        val * 2 + 5 // very complicated\n    }));\n\n    Ok(output)\n}
    \n
    1.57.0 · source

    pub fn try_reserve_exact(\n &mut self,\n additional: usize,\n) -> Result<(), TryReserveError>

    Tries to reserve the minimum capacity for at least additional\nelements to be inserted in the given Vec<T>. Unlike try_reserve,\nthis will not deliberately over-allocate to speculatively avoid frequent\nallocations. After calling try_reserve_exact, capacity will be greater\nthan or equal to self.len() + additional if it returns Ok(()).\nDoes nothing if the capacity is already sufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer try_reserve if future insertions are expected.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &[u32]) -> Result<Vec<u32>, TryReserveError> {\n    let mut output = Vec::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve_exact(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.extend(data.iter().map(|&val| {\n        val * 2 + 5 // very complicated\n    }));\n\n    Ok(output)\n}
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the vector as much as possible.

    \n

    The behavior of this method depends on the allocator, which may either shrink the vector\nin-place or reallocate. The resulting vector might still have some excess capacity, just as\nis the case for with_capacity. See Allocator::shrink for more details.

    \n
    §Examples
    \n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\nassert!(vec.capacity() >= 10);\nvec.shrink_to_fit();\nassert!(vec.capacity() >= 3);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the vector with a lower bound.

    \n

    The capacity will remain at least as large as both the length\nand the supplied value.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\nassert!(vec.capacity() >= 10);\nvec.shrink_to(4);\nassert!(vec.capacity() >= 4);\nvec.shrink_to(0);\nassert!(vec.capacity() >= 3);
    \n
    1.0.0 · source

    pub fn into_boxed_slice(self) -> Box<[T], A>

    Converts the vector into Box<[T]>.

    \n

    Before doing the conversion, this method discards excess capacity like shrink_to_fit.

    \n
    §Examples
    \n
    let v = vec![1, 2, 3];\n\nlet slice = v.into_boxed_slice();
    \n

    Any excess capacity is removed:

    \n\n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\n\nassert!(vec.capacity() >= 10);\nlet slice = vec.into_boxed_slice();\nassert_eq!(slice.into_vec().capacity(), 3);
    \n
    1.0.0 · source

    pub fn truncate(&mut self, len: usize)

    Shortens the vector, keeping the first len elements and dropping\nthe rest.

    \n

    If len is greater or equal to the vector’s current length, this has\nno effect.

    \n

    The drain method can emulate truncate, but causes the excess\nelements to be returned instead of dropped.

    \n

    Note that this method has no effect on the allocated capacity\nof the vector.

    \n
    §Examples
    \n

    Truncating a five element vector to two elements:

    \n\n
    let mut vec = vec![1, 2, 3, 4, 5];\nvec.truncate(2);\nassert_eq!(vec, [1, 2]);
    \n

    No truncation occurs when len is greater than the vector’s current\nlength:

    \n\n
    let mut vec = vec![1, 2, 3];\nvec.truncate(8);\nassert_eq!(vec, [1, 2, 3]);
    \n

    Truncating when len == 0 is equivalent to calling the clear\nmethod.

    \n\n
    let mut vec = vec![1, 2, 3];\nvec.truncate(0);\nassert_eq!(vec, []);
    \n
    1.7.0 · source

    pub fn as_slice(&self) -> &[T]

    Extracts a slice containing the entire vector.

    \n

    Equivalent to &s[..].

    \n
    §Examples
    \n
    use std::io::{self, Write};\nlet buffer = vec![1, 2, 3, 5, 8];\nio::sink().write(buffer.as_slice()).unwrap();
    \n
    1.7.0 · source

    pub fn as_mut_slice(&mut self) -> &mut [T]

    Extracts a mutable slice of the entire vector.

    \n

    Equivalent to &mut s[..].

    \n
    §Examples
    \n
    use std::io::{self, Read};\nlet mut buffer = vec![0; 3];\nio::repeat(0b101).read_exact(buffer.as_mut_slice()).unwrap();
    \n
    1.37.0 · source

    pub fn as_ptr(&self) -> *const T

    Returns a raw pointer to the vector’s buffer, or a dangling raw pointer\nvalid for zero sized reads if the vector didn’t allocate.

    \n

    The caller must ensure that the vector outlives the pointer this\nfunction returns, or else it will end up pointing to garbage.\nModifying the vector may cause its buffer to be reallocated,\nwhich would also make any pointers to it invalid.

    \n

    The caller must also ensure that the memory the pointer (non-transitively) points to\nis never written to (except inside an UnsafeCell) using this pointer or any pointer\nderived from it. If you need to mutate the contents of the slice, use as_mut_ptr.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\ndoes not materialize a reference to the underlying slice, and thus the returned pointer\nwill remain valid when mixed with other calls to as_ptr and as_mut_ptr.\nNote that calling other methods that materialize mutable references to the slice,\nor mutable references to specific elements you are planning on accessing through this pointer,\nas well as writing to those elements, may still invalidate this pointer.\nSee the second example below for how this guarantee can be used.

    \n
    §Examples
    \n
    let x = vec![1, 2, 4];\nlet x_ptr = x.as_ptr();\n\nunsafe {\n    for i in 0..x.len() {\n        assert_eq!(*x_ptr.add(i), 1 << i);\n    }\n}
    \n

    Due to the aliasing guarantee, the following code is legal:

    \n\n
    unsafe {\n    let mut v = vec![0, 1, 2];\n    let ptr1 = v.as_ptr();\n    let _ = ptr1.read();\n    let ptr2 = v.as_mut_ptr().offset(2);\n    ptr2.write(2);\n    // Notably, the write to `ptr2` did *not* invalidate `ptr1`\n    // because it mutated a different element:\n    let _ = ptr1.read();\n}
    \n
    1.37.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut T

    Returns an unsafe mutable pointer to the vector’s buffer, or a dangling\nraw pointer valid for zero sized reads if the vector didn’t allocate.

    \n

    The caller must ensure that the vector outlives the pointer this\nfunction returns, or else it will end up pointing to garbage.\nModifying the vector may cause its buffer to be reallocated,\nwhich would also make any pointers to it invalid.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\ndoes not materialize a reference to the underlying slice, and thus the returned pointer\nwill remain valid when mixed with other calls to as_ptr and as_mut_ptr.\nNote that calling other methods that materialize references to the slice,\nor references to specific elements you are planning on accessing through this pointer,\nmay still invalidate this pointer.\nSee the second example below for how this guarantee can be used.

    \n
    §Examples
    \n
    // Allocate vector big enough for 4 elements.\nlet size = 4;\nlet mut x: Vec<i32> = Vec::with_capacity(size);\nlet x_ptr = x.as_mut_ptr();\n\n// Initialize elements via raw pointer writes, then set length.\nunsafe {\n    for i in 0..size {\n        *x_ptr.add(i) = i as i32;\n    }\n    x.set_len(size);\n}\nassert_eq!(&*x, &[0, 1, 2, 3]);
    \n

    Due to the aliasing guarantee, the following code is legal:

    \n\n
    unsafe {\n    let mut v = vec![0];\n    let ptr1 = v.as_mut_ptr();\n    ptr1.write(1);\n    let ptr2 = v.as_mut_ptr();\n    ptr2.write(2);\n    // Notably, the write to `ptr2` did *not* invalidate `ptr1`:\n    ptr1.write(3);\n}
    \n
    source

    pub fn allocator(&self) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n
    1.0.0 · source

    pub unsafe fn set_len(&mut self, new_len: usize)

    Forces the length of the vector to new_len.

    \n

    This is a low-level operation that maintains none of the normal\ninvariants of the type. Normally changing the length of a vector\nis done using one of the safe operations instead, such as\ntruncate, resize, extend, or clear.

    \n
    §Safety
    \n
      \n
    • new_len must be less than or equal to capacity().
    • \n
    • The elements at old_len..new_len must be initialized.
    • \n
    \n
    §Examples
    \n

    This method can be useful for situations in which the vector\nis serving as a buffer for other code, particularly over FFI:

    \n\n
    pub fn get_dictionary(&self) -> Option<Vec<u8>> {\n    // Per the FFI method's docs, \"32768 bytes is always enough\".\n    let mut dict = Vec::with_capacity(32_768);\n    let mut dict_length = 0;\n    // SAFETY: When `deflateGetDictionary` returns `Z_OK`, it holds that:\n    // 1. `dict_length` elements were initialized.\n    // 2. `dict_length` <= the capacity (32_768)\n    // which makes `set_len` safe to call.\n    unsafe {\n        // Make the FFI call...\n        let r = deflateGetDictionary(self.strm, dict.as_mut_ptr(), &mut dict_length);\n        if r == Z_OK {\n            // ...and update the length to what was initialized.\n            dict.set_len(dict_length);\n            Some(dict)\n        } else {\n            None\n        }\n    }\n}
    \n

    While the following example is sound, there is a memory leak since\nthe inner vectors were not freed prior to the set_len call:

    \n\n
    let mut vec = vec![vec![1, 0, 0],\n                   vec![0, 1, 0],\n                   vec![0, 0, 1]];\n// SAFETY:\n// 1. `old_len..0` is empty so no elements need to be initialized.\n// 2. `0 <= capacity` always holds whatever `capacity` is.\nunsafe {\n    vec.set_len(0);\n}
    \n

    Normally, here, one would use clear instead to correctly drop\nthe contents and thus not leak memory.

    \n
    1.0.0 · source

    pub fn swap_remove(&mut self, index: usize) -> T

    Removes an element from the vector and returns it.

    \n

    The removed element is replaced by the last element of the vector.

    \n

    This does not preserve ordering of the remaining elements, but is O(1).\nIf you need to preserve the element order, use remove instead.

    \n
    §Panics
    \n

    Panics if index is out of bounds.

    \n
    §Examples
    \n
    let mut v = vec![\"foo\", \"bar\", \"baz\", \"qux\"];\n\nassert_eq!(v.swap_remove(1), \"bar\");\nassert_eq!(v, [\"foo\", \"qux\", \"baz\"]);\n\nassert_eq!(v.swap_remove(0), \"foo\");\nassert_eq!(v, [\"baz\", \"qux\"]);
    \n
    1.0.0 · source

    pub fn insert(&mut self, index: usize, element: T)

    Inserts an element at position index within the vector, shifting all\nelements after it to the right.

    \n
    §Panics
    \n

    Panics if index > len.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nvec.insert(1, 4);\nassert_eq!(vec, [1, 4, 2, 3]);\nvec.insert(4, 5);\nassert_eq!(vec, [1, 4, 2, 3, 5]);
    \n
    §Time complexity
    \n

    Takes O(Vec::len) time. All items after the insertion index must be\nshifted to the right. In the worst case, all elements are shifted when\nthe insertion index is 0.

    \n
    1.0.0 · source

    pub fn remove(&mut self, index: usize) -> T

    Removes and returns the element at position index within the vector,\nshifting all elements after it to the left.

    \n

    Note: Because this shifts over the remaining elements, it has a\nworst-case performance of O(n). If you don’t need the order of elements\nto be preserved, use swap_remove instead. If you’d like to remove\nelements from the beginning of the Vec, consider using\nVecDeque::pop_front instead.

    \n
    §Panics
    \n

    Panics if index is out of bounds.

    \n
    §Examples
    \n
    let mut v = vec![1, 2, 3];\nassert_eq!(v.remove(1), 2);\nassert_eq!(v, [1, 3]);
    \n
    1.0.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\nThis method operates in place, visiting each element exactly once in the\noriginal order, and preserves the order of the retained elements.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3, 4];\nvec.retain(|&x| x % 2 == 0);\nassert_eq!(vec, [2, 4]);
    \n

    Because the elements are visited exactly once in the original order,\nexternal state may be used to decide which elements to keep.

    \n\n
    let mut vec = vec![1, 2, 3, 4, 5];\nlet keep = [false, true, true, false, true];\nlet mut iter = keep.iter();\nvec.retain(|_| *iter.next().unwrap());\nassert_eq!(vec, [2, 3, 5]);
    \n
    1.61.0 · source

    pub fn retain_mut<F>(&mut self, f: F)
    where\n F: FnMut(&mut T) -> bool,

    Retains only the elements specified by the predicate, passing a mutable reference to it.

    \n

    In other words, remove all elements e such that f(&mut e) returns false.\nThis method operates in place, visiting each element exactly once in the\noriginal order, and preserves the order of the retained elements.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3, 4];\nvec.retain_mut(|x| if *x <= 3 {\n    *x += 1;\n    true\n} else {\n    false\n});\nassert_eq!(vec, [2, 3, 4]);
    \n
    1.16.0 · source

    pub fn dedup_by_key<F, K>(&mut self, key: F)
    where\n F: FnMut(&mut T) -> K,\n K: PartialEq,

    Removes all but the first of consecutive elements in the vector that resolve to the same\nkey.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    §Examples
    \n
    let mut vec = vec![10, 20, 21, 30, 20];\n\nvec.dedup_by_key(|i| *i / 10);\n\nassert_eq!(vec, [10, 20, 30, 20]);
    \n
    1.16.0 · source

    pub fn dedup_by<F>(&mut self, same_bucket: F)
    where\n F: FnMut(&mut T, &mut T) -> bool,

    Removes all but the first of consecutive elements in the vector satisfying a given equality\nrelation.

    \n

    The same_bucket function is passed references to two elements from the vector and\nmust determine if the elements compare equal. The elements are passed in opposite order\nfrom their order in the slice, so if same_bucket(a, b) returns true, a is removed.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    §Examples
    \n
    let mut vec = vec![\"foo\", \"bar\", \"Bar\", \"baz\", \"bar\"];\n\nvec.dedup_by(|a, b| a.eq_ignore_ascii_case(b));\n\nassert_eq!(vec, [\"foo\", \"bar\", \"baz\", \"bar\"]);
    \n
    1.0.0 · source

    pub fn push(&mut self, value: T)

    Appends an element to the back of a collection.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2];\nvec.push(3);\nassert_eq!(vec, [1, 2, 3]);
    \n
    §Time complexity
    \n

    Takes amortized O(1) time. If the vector’s length would exceed its\ncapacity after the push, O(capacity) time is taken to copy the\nvector’s elements to a larger allocation. This expensive operation is\noffset by the capacity O(1) insertions it allows.

    \n
    source

    pub fn push_within_capacity(&mut self, value: T) -> Result<(), T>

    🔬This is a nightly-only experimental API. (vec_push_within_capacity)

    Appends an element if there is sufficient spare capacity, otherwise an error is returned\nwith the element.

    \n

    Unlike push this method will not reallocate when there’s insufficient capacity.\nThe caller should use reserve or try_reserve to ensure that there is enough capacity.

    \n
    §Examples
    \n

    A manual, panic-free alternative to FromIterator:

    \n\n
    #![feature(vec_push_within_capacity)]\n\nuse std::collections::TryReserveError;\nfn from_iter_fallible<T>(iter: impl Iterator<Item=T>) -> Result<Vec<T>, TryReserveError> {\n    let mut vec = Vec::new();\n    for value in iter {\n        if let Err(value) = vec.push_within_capacity(value) {\n            vec.try_reserve(1)?;\n            // this cannot fail, the previous line either returned or added at least 1 free slot\n            let _ = vec.push_within_capacity(value);\n        }\n    }\n    Ok(vec)\n}\nassert_eq!(from_iter_fallible(0..100), Ok(Vec::from_iter(0..100)));
    \n
    §Time complexity
    \n

    Takes O(1) time.

    \n
    1.0.0 · source

    pub fn pop(&mut self) -> Option<T>

    Removes the last element from a vector and returns it, or None if it\nis empty.

    \n

    If you’d like to pop the first element, consider using\nVecDeque::pop_front instead.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nassert_eq!(vec.pop(), Some(3));\nassert_eq!(vec, [1, 2]);
    \n
    §Time complexity
    \n

    Takes O(1) time.

    \n
    source

    pub fn pop_if<F>(&mut self, f: F) -> Option<T>
    where\n F: FnOnce(&mut T) -> bool,

    🔬This is a nightly-only experimental API. (vec_pop_if)

    Removes and returns the last element in a vector if the predicate\nreturns true, or None if the predicate returns false or the vector\nis empty.

    \n
    §Examples
    \n
    #![feature(vec_pop_if)]\n\nlet mut vec = vec![1, 2, 3, 4];\nlet pred = |x: &mut i32| *x % 2 == 0;\n\nassert_eq!(vec.pop_if(pred), Some(4));\nassert_eq!(vec, [1, 2, 3]);\nassert_eq!(vec.pop_if(pred), None);
    \n
    1.4.0 · source

    pub fn append(&mut self, other: &mut Vec<T, A>)

    Moves all the elements of other into self, leaving other empty.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nlet mut vec2 = vec![4, 5, 6];\nvec.append(&mut vec2);\nassert_eq!(vec, [1, 2, 3, 4, 5, 6]);\nassert_eq!(vec2, []);
    \n
    1.6.0 · source

    pub fn drain<R>(&mut self, range: R) -> Drain<'_, T, A>
    where\n R: RangeBounds<usize>,

    Removes the specified range from the vector in bulk, returning all\nremoved elements as an iterator. If the iterator is dropped before\nbeing fully consumed, it drops the remaining removed elements.

    \n

    The returned iterator keeps a mutable borrow on the vector to optimize\nits implementation.

    \n
    §Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    §Leaking
    \n

    If the returned iterator goes out of scope without being dropped (due to\nmem::forget, for example), the vector may have lost and leaked\nelements arbitrarily, including elements outside the range.

    \n
    §Examples
    \n
    let mut v = vec![1, 2, 3];\nlet u: Vec<_> = v.drain(1..).collect();\nassert_eq!(v, &[1]);\nassert_eq!(u, &[2, 3]);\n\n// A full range clears the vector, like `clear()` does\nv.drain(..);\nassert_eq!(v, &[]);
    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the vector, removing all values.

    \n

    Note that this method has no effect on the allocated capacity\nof the vector.

    \n
    §Examples
    \n
    let mut v = vec![1, 2, 3];\n\nv.clear();\n\nassert!(v.is_empty());
    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the vector, also referred to\nas its ‘length’.

    \n
    §Examples
    \n
    let a = vec![1, 2, 3];\nassert_eq!(a.len(), 3);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the vector contains no elements.

    \n
    §Examples
    \n
    let mut v = Vec::new();\nassert!(v.is_empty());\n\nv.push(1);\nassert!(!v.is_empty());
    \n
    1.4.0 · source

    pub fn split_off(&mut self, at: usize) -> Vec<T, A>
    where\n A: Clone,

    Splits the collection into two at the given index.

    \n

    Returns a newly allocated vector containing the elements in the range\n[at, len). After the call, the original vector will be left containing\nthe elements [0, at) with its previous capacity unchanged.

    \n
      \n
    • If you want to take ownership of the entire contents and capacity of\nthe vector, see mem::take or mem::replace.
    • \n
    • If you don’t need the returned vector at all, see Vec::truncate.
    • \n
    • If you want to take ownership of an arbitrary subslice, or you don’t\nnecessarily want to store the removed items in a vector, see Vec::drain.
    • \n
    \n
    §Panics
    \n

    Panics if at > len.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nlet vec2 = vec.split_off(1);\nassert_eq!(vec, [1]);\nassert_eq!(vec2, [2, 3]);
    \n
    1.33.0 · source

    pub fn resize_with<F>(&mut self, new_len: usize, f: F)
    where\n F: FnMut() -> T,

    Resizes the Vec in-place so that len is equal to new_len.

    \n

    If new_len is greater than len, the Vec is extended by the\ndifference, with each additional slot filled with the result of\ncalling the closure f. The return values from f will end up\nin the Vec in the order they have been generated.

    \n

    If new_len is less than len, the Vec is simply truncated.

    \n

    This method uses a closure to create new values on every push. If\nyou’d rather Clone a given value, use Vec::resize. If you\nwant to use the Default trait to generate values, you can\npass Default::default as the second argument.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nvec.resize_with(5, Default::default);\nassert_eq!(vec, [1, 2, 3, 0, 0]);\n\nlet mut vec = vec![];\nlet mut p = 1;\nvec.resize_with(4, || { p *= 2; p });\nassert_eq!(vec, [2, 4, 8, 16]);
    \n
    1.47.0 · source

    pub fn leak<'a>(self) -> &'a mut [T]
    where\n A: 'a,

    Consumes and leaks the Vec, returning a mutable reference to the contents,\n&'a mut [T]. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    As of Rust 1.57, this method does not reallocate or shrink the Vec,\nso the leaked allocation may include unused capacity that is not part\nof the returned slice.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak.

    \n
    §Examples
    \n

    Simple usage:

    \n\n
    let x = vec![1, 2, 3];\nlet static_ref: &'static mut [usize] = x.leak();\nstatic_ref[0] += 1;\nassert_eq!(static_ref, &[2, 2, 3]);
    \n
    1.60.0 · source

    pub fn spare_capacity_mut(&mut self) -> &mut [MaybeUninit<T>]

    Returns the remaining spare capacity of the vector as a slice of\nMaybeUninit<T>.

    \n

    The returned slice can be used to fill the vector with data (e.g. by\nreading from a file) before marking the data as initialized using the\nset_len method.

    \n
    §Examples
    \n
    // Allocate vector big enough for 10 elements.\nlet mut v = Vec::with_capacity(10);\n\n// Fill in the first 3 elements.\nlet uninit = v.spare_capacity_mut();\nuninit[0].write(0);\nuninit[1].write(1);\nuninit[2].write(2);\n\n// Mark the first 3 elements of the vector as being initialized.\nunsafe {\n    v.set_len(3);\n}\n\nassert_eq!(&v, &[0, 1, 2]);
    \n
    source

    pub fn split_at_spare_mut(&mut self) -> (&mut [T], &mut [MaybeUninit<T>])

    🔬This is a nightly-only experimental API. (vec_split_at_spare)

    Returns vector content as a slice of T, along with the remaining spare\ncapacity of the vector as a slice of MaybeUninit<T>.

    \n

    The returned spare capacity slice can be used to fill the vector with data\n(e.g. by reading from a file) before marking the data as initialized using\nthe set_len method.

    \n

    Note that this is a low-level API, which should be used with care for\noptimization purposes. If you need to append data to a Vec\nyou can use push, extend, extend_from_slice,\nextend_from_within, insert, append, resize or\nresize_with, depending on your exact needs.

    \n
    §Examples
    \n
    #![feature(vec_split_at_spare)]\n\nlet mut v = vec![1, 1, 2];\n\n// Reserve additional space big enough for 10 elements.\nv.reserve(10);\n\nlet (init, uninit) = v.split_at_spare_mut();\nlet sum = init.iter().copied().sum::<u32>();\n\n// Fill in the next 4 elements.\nuninit[0].write(sum);\nuninit[1].write(sum * 2);\nuninit[2].write(sum * 3);\nuninit[3].write(sum * 4);\n\n// Mark the 4 elements of the vector as being initialized.\nunsafe {\n    let len = v.len();\n    v.set_len(len + 4);\n}\n\nassert_eq!(&v, &[1, 1, 2, 4, 8, 12, 16]);
    \n
    ",0,"massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<A> Write for Vec<u8, A>
    where\n A: Allocator,

    Write is implemented for Vec<u8> by appending to the vector.\nThe vector will grow as needed.

    \n
    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 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\nimplementation. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. 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\nencountered. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl<Z> Zeroize for Vec<Z>
    where\n Z: Zeroize,

    §

    fn zeroize(&mut self)

    “Best effort” zeroization for Vec.

    \n

    Ensures the entire capacity of the Vec is zeroed. Cannot ensure that\nprevious reallocations did not leave values on the heap.

    \n
    ","Zeroize","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    source§

    impl<T, A> DerefPure for Vec<T, A>
    where\n A: Allocator,

    ","DerefPure","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    1.0.0 · source§

    impl<T, A> Eq for Vec<T, A>
    where\n T: Eq,\n A: Allocator,

    ","Eq","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl<T> FromStream<T> for Vec<T>

    ","FromStream","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"],["
    §

    impl<Z> ZeroizeOnDrop for Vec<Z>
    where\n Z: ZeroizeOnDrop,

    ","ZeroizeOnDrop","massa_db_exports::db_batch::Key","massa_db_exports::db_batch::Value"]], +"massa_factory_exports":[["
    §

    impl<'i, T> Accumulate<&'i [T]> for Vec<T>
    where\n T: Clone,

    §

    fn initial(capacity: Option<usize>) -> Vec<T>

    Create a new Extend of the correct type
    §

    fn accumulate(&mut self, acc: &'i [T])

    Accumulate the input into an accumulator
    ","Accumulate<&'i [T]>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Accumulate<T> for Vec<T>

    §

    fn initial(capacity: Option<usize>) -> Vec<T>

    Create a new Extend of the correct type
    §

    fn accumulate(&mut self, acc: T)

    Accumulate the input into an accumulator
    ","Accumulate","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Archive for Vec<T>
    where\n T: Archive,

    §

    type Archived = ArchivedVec<<T as Archive>::Archived>

    The archived representation of this type. Read more
    §

    type Resolver = VecResolver

    The resolver for this type. It must contain all the additional information from serializing\nneeded to make the archived type from the normal type.
    §

    unsafe fn resolve(\n &self,\n pos: usize,\n resolver: <Vec<T> as Archive>::Resolver,\n out: *mut <Vec<T> as Archive>::Archived,\n)

    Creates the archived version of this value at the given position and writes it to the given\noutput. Read more
    ","Archive","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> ArrayLike for Vec<T>

    §

    type Item = T

    Type of the elements being stored.
    ","ArrayLike","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> ArrayLike for Vec<T>

    §

    type Item = T

    Type of the elements being stored.
    ","ArrayLike","massa_factory_exports::types::ProductionHistory"],["
    1.5.0 · source§

    impl<T, A> AsMut<[T]> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn as_mut(&mut self) -> &mut [T]

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut<[T]>","massa_factory_exports::types::ProductionHistory"],["
    1.5.0 · source§

    impl<T, A> AsMut<Vec<T, A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn as_mut(&mut self) -> &mut Vec<T, A>

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> AsRef<[T]> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn as_ref(&self) -> &[T]

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef<[T]>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> AsRef<Vec<T, A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn as_ref(&self) -> &Vec<T, A>

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> AsRef<ZeroSlice<T>> for Vec<<T as AsULE>::ULE>
    where\n T: AsULE,

    §

    fn as_ref(&self) -> &ZeroSlice<T>

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Borrow<[T]> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn borrow(&self) -> &[T]

    Immutably borrows from an owned value. Read more
    ","Borrow<[T]>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> BorrowMut<[T]> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn borrow_mut(&mut self) -> &mut [T]

    Mutably borrows from an owned value. Read more
    ","BorrowMut<[T]>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Clear for Vec<T>

    §

    fn clear(&mut self)

    Clear this make, make it equivalent to newly created object.
    ","Clear","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Clone for Vec<T, A>
    where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone_from(&mut self, source: &Vec<T, A>)

    Overwrites the contents of self with a clone of the contents of source.

    \n

    This method is preferred over simply assigning source.clone() to self,\nas it avoids reallocation if possible. Additionally, if the element type\nT overrides clone_from(), this will reuse the resources of self’s\nelements as well.

    \n
    §Examples
    \n
    let x = vec![5, 6, 7];\nlet mut y = vec![8, 9, 10];\nlet yp: *const i32 = y.as_ptr();\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no reallocation occurred\nassert_eq!(yp, y.as_ptr());
    \n
    source§

    fn clone(&self) -> Vec<T, A>

    Returns a copy of the value. Read more
    ","Clone","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Debug for Vec<T, A>
    where\n T: Debug,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T> Default for Vec<T>

    source§

    fn default() -> Vec<T>

    Creates an empty Vec<T>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    ","Default","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Deref for Vec<T, A>
    where\n A: Allocator,

    §

    type Target = [T]

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &[T]

    Dereferences the value.
    ","Deref","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Vec<T, A>
    where\n A: Allocator,

    source§

    fn deref_mut(&mut self) -> &mut [T]

    Mutably dereferences the value.
    ","DerefMut","massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<'de, T> Deserialize<'de> for Vec<T>
    where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<Vec<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<'de, T, U> DeserializeAs<'de, Vec<T>> for Vec<U>
    where\n U: DeserializeAs<'de, T>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Vec<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Vec>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Drop for Vec<T, A>
    where\n A: Allocator,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> EncodeAsVarULE<[T]> for Vec<T>
    where\n T: ULE,

    §

    fn encode_var_ule_as_slices<R>(&self, cb: impl FnOnce(&[&[u8]]) -> R) -> R

    Calls cb with a piecewise list of byte slices that when concatenated\nproduce the memory pattern of the corresponding instance of T. Read more
    §

    fn encode_var_ule_len(&self) -> usize

    Return the length, in bytes, of the corresponding [VarULE] type
    §

    fn encode_var_ule_write(&self, dst: &mut [u8])

    Write the corresponding [VarULE] type to the dst buffer. dst should\nbe the size of [Self::encode_var_ule_len()]
    ","EncodeAsVarULE<[T]>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T, E, F> EncodeAsVarULE<VarZeroSlice<T, F>> for Vec<E>
    where\n T: VarULE + ?Sized,\n E: EncodeAsVarULE<T>,\n F: VarZeroVecFormat,

    §

    fn encode_var_ule_as_slices<R>(&self, _: impl FnOnce(&[&[u8]]) -> R) -> R

    Calls cb with a piecewise list of byte slices that when concatenated\nproduce the memory pattern of the corresponding instance of T. Read more
    §

    fn encode_var_ule_len(&self) -> usize

    Return the length, in bytes, of the corresponding [VarULE] type
    §

    fn encode_var_ule_write(&self, dst: &mut [u8])

    Write the corresponding [VarULE] type to the dst buffer. dst should\nbe the size of [Self::encode_var_ule_len()]
    ","EncodeAsVarULE>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> EncodeAsVarULE<ZeroSlice<T>> for Vec<T>
    where\n T: AsULE + 'static,

    §

    fn encode_var_ule_as_slices<R>(&self, _: impl FnOnce(&[&[u8]]) -> R) -> R

    Calls cb with a piecewise list of byte slices that when concatenated\nproduce the memory pattern of the corresponding instance of T. Read more
    §

    fn encode_var_ule_len(&self) -> usize

    Return the length, in bytes, of the corresponding [VarULE] type
    §

    fn encode_var_ule_write(&self, dst: &mut [u8])

    Write the corresponding [VarULE] type to the dst buffer. dst should\nbe the size of [Self::encode_var_ule_len()]
    ","EncodeAsVarULE>","massa_factory_exports::types::ProductionHistory"],["
    1.2.0 · source§

    impl<'a, T, A> Extend<&'a T> for Vec<T, A>
    where\n T: Copy + 'a,\n A: Allocator,

    Extend implementation that copies elements out of references before pushing them onto the Vec.

    \n

    This implementation is specialized for slice iterators, where it uses copy_from_slice to\nappend the entire slice at once.

    \n
    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = &'a T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: &'a T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<&'a T>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Extend<T> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, item: T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T> From<&[T]> for Vec<T>
    where\n T: Clone,

    source§

    fn from(s: &[T]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(&[1, 2, 3][..]), vec![1, 2, 3]);
    \n
    ","From<&[T]>","massa_factory_exports::types::ProductionHistory"],["
    1.74.0 · source§

    impl<T, const N: usize> From<&[T; N]> for Vec<T>
    where\n T: Clone,

    source§

    fn from(s: &[T; N]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(&[1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<&[T; N]>","massa_factory_exports::types::ProductionHistory"],["
    1.19.0 · source§

    impl<T> From<&mut [T]> for Vec<T>
    where\n T: Clone,

    source§

    fn from(s: &mut [T]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(&mut [1, 2, 3][..]), vec![1, 2, 3]);
    \n
    ","From<&mut [T]>","massa_factory_exports::types::ProductionHistory"],["
    1.74.0 · source§

    impl<T, const N: usize> From<&mut [T; N]> for Vec<T>
    where\n T: Clone,

    source§

    fn from(s: &mut [T; N]) -> Vec<T>

    Allocate a Vec<T> and fill it by cloning s’s items.

    \n
    §Examples
    \n
    assert_eq!(Vec::from(&mut [1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<&mut [T; N]>","massa_factory_exports::types::ProductionHistory"],["
    1.44.0 · source§

    impl<T, const N: usize> From<[T; N]> for Vec<T>

    source§

    fn from(s: [T; N]) -> Vec<T>

    Allocate a Vec<T> and move s’s items into it.

    \n
    §Examples
    \n
    assert_eq!(Vec::from([1, 2, 3]), vec![1, 2, 3]);
    \n
    ","From<[T; N]>","massa_factory_exports::types::ProductionHistory"],["
    1.5.0 · source§

    impl<T, A> From<BinaryHeap<T, A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn from(heap: BinaryHeap<T, A>) -> Vec<T, A>

    Converts a BinaryHeap<T> into a Vec<T>.

    \n

    This conversion requires no data movement or allocation, and has\nconstant time complexity.

    \n
    ","From>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T, O> From<BitVec<T, O>> for Vec<T>
    where\n T: BitStore,\n O: BitOrder,

    §

    fn from(bv: BitVec<T, O>) -> Vec<T>

    Converts to this type from the input type.
    ","From>","massa_factory_exports::types::ProductionHistory"],["
    1.18.0 · source§

    impl<T, A> From<Box<[T], A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn from(s: Box<[T], A>) -> Vec<T, A>

    Convert a boxed slice into a vector by transferring ownership of\nthe existing heap allocation.

    \n
    §Examples
    \n
    let b: Box<[i32]> = vec![1, 2, 3].into_boxed_slice();\nassert_eq!(Vec::from(b), vec![1, 2, 3]);
    \n
    ","From>","massa_factory_exports::types::ProductionHistory"],["
    1.14.0 · source§

    impl<'a, T> From<Cow<'a, [T]>> for Vec<T>
    where\n [T]: ToOwned<Owned = Vec<T>>,

    source§

    fn from(s: Cow<'a, [T]>) -> Vec<T>

    Convert a clone-on-write slice into a vector.

    \n

    If s already owns a Vec<T>, it will be returned directly.\nIf s is borrowing a slice, a new Vec<T> will be allocated and\nfilled by cloning s’s items into it.

    \n
    §Examples
    \n
    let o: Cow<'_, [i32]> = Cow::Owned(vec![1, 2, 3]);\nlet b: Cow<'_, [i32]> = Cow::Borrowed(&[1, 2, 3]);\nassert_eq!(Vec::from(o), Vec::from(b));
    \n
    ","From>","massa_factory_exports::types::ProductionHistory"],["
    1.10.0 · source§

    impl<T, A> From<VecDeque<T, A>> for Vec<T, A>
    where\n A: Allocator,

    source§

    fn from(other: VecDeque<T, A>) -> Vec<T, A>

    Turn a VecDeque<T> into a Vec<T>.

    \n

    This never needs to re-allocate, but does need to do O(n) data movement if\nthe circular buffer doesn’t happen to be at the beginning of the allocation.

    \n
    §Examples
    \n
    use std::collections::VecDeque;\n\n// This one is *O*(1).\nlet deque: VecDeque<_> = (1..5).collect();\nlet ptr = deque.as_slices().0.as_ptr();\nlet vec = Vec::from(deque);\nassert_eq!(vec, [1, 2, 3, 4]);\nassert_eq!(vec.as_ptr(), ptr);\n\n// This one needs data rearranging.\nlet mut deque: VecDeque<_> = (1..5).collect();\ndeque.push_front(9);\ndeque.push_front(8);\nlet ptr = deque.as_slices().1.as_ptr();\nlet vec = Vec::from(deque);\nassert_eq!(vec, [8, 9, 1, 2, 3, 4]);\nassert_eq!(vec.as_ptr(), ptr);
    \n
    ","From>","massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T> FromFallibleIterator<T> for Vec<T>

    source§

    fn from_fallible_iter<I>(\n it: I,\n) -> Result<Vec<T>, <I as IntoFallibleIterator>::Error>
    where\n I: IntoFallibleIterator<Item = T>,

    Creates a value from a fallible iterator.
    ","FromFallibleIterator","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T> FromIterator<T> for Vec<T>

    Collects an iterator into a Vec, commonly called via Iterator::collect()

    \n

    §Allocation behavior

    \n

    In general Vec does not guarantee any particular growth or allocation strategy.\nThat also applies to this trait impl.

    \n

    Note: This section covers implementation details and is therefore exempt from\nstability guarantees.

    \n

    Vec may use any or none of the following strategies,\ndepending on the supplied iterator:

    \n
      \n
    • preallocate based on Iterator::size_hint()\n
        \n
      • and panic if the number of items is outside the provided lower/upper bounds
      • \n
      \n
    • \n
    • use an amortized growth strategy similar to pushing one item at a time
    • \n
    • perform the iteration in-place on the original allocation backing the iterator
    • \n
    \n

    The last case warrants some attention. It is an optimization that in many cases reduces peak memory\nconsumption and improves cache locality. But when big, short-lived allocations are created,\nonly a small fraction of their items get collected, no further use is made of the spare capacity\nand the resulting Vec is moved into a longer-lived structure, then this can lead to the large\nallocations having their lifetimes unnecessarily extended which can result in increased memory\nfootprint.

    \n

    In cases where this is an issue, the excess capacity can be discarded with Vec::shrink_to(),\nVec::shrink_to_fit() or by collecting into Box<[T]> instead, which additionally reduces\nthe size of the long-lived struct.

    \n\n
    static LONG_LIVED: Mutex<Vec<Vec<u16>>> = Mutex::new(Vec::new());\n\nfor i in 0..10 {\n    let big_temporary: Vec<u16> = (0..1024).collect();\n    // discard most items\n    let mut result: Vec<_> = big_temporary.into_iter().filter(|i| i % 100 == 0).collect();\n    // without this a lot of unused capacity might be moved into the global\n    result.shrink_to_fit();\n    LONG_LIVED.lock().unwrap().push(result);\n}
    \n
    source§

    fn from_iter<I>(iter: I) -> Vec<T>
    where\n I: IntoIterator<Item = T>,

    Creates a value from an iterator. Read more
    ","FromIterator","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> FromParallelIterator<T> for Vec<T>
    where\n T: Send,

    Collects items from a parallel iterator into a vector.

    \n
    §

    fn from_par_iter<I>(par_iter: I) -> Vec<T>
    where\n I: IntoParallelIterator<Item = T>,

    Creates an instance of the collection from the parallel iterator par_iter. Read more
    ","FromParallelIterator","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Hash for Vec<T, A>
    where\n T: Hash,\n A: Allocator,

    The hash of a vector is the same as that of the corresponding slice,\nas required by the core::borrow::Borrow implementation.

    \n\n
    use std::hash::BuildHasher;\n\nlet b = std::hash::RandomState::new();\nlet v: Vec<u8> = vec![0xa8, 0x3c, 0x09];\nlet s: &[u8] = &[0xa8, 0x3c, 0x09];\nassert_eq!(b.hash_one(v), b.hash_one(s));
    \n
    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, I, A> Index<I> for Vec<T, A>
    where\n I: SliceIndex<[T]>,\n A: Allocator,

    §

    type Output = <I as SliceIndex<[T]>>::Output

    The returned type after indexing.
    source§

    fn index(&self, index: I) -> &<Vec<T, A> as Index<I>>::Output

    Performs the indexing (container[index]) operation. Read more
    ","Index","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Index<PatternID> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: PatternID) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Index<PatternID> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: PatternID) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Index<SmallIndex> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: SmallIndex) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Index<SmallIndex> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: SmallIndex) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Index<StateID> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: StateID) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Index<StateID> for Vec<T>

    §

    type Output = T

    The returned type after indexing.
    §

    fn index(&self, index: StateID) -> &T

    Performs the indexing (container[index]) operation. Read more
    ","Index","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, I, A> IndexMut<I> for Vec<T, A>
    where\n I: SliceIndex<[T]>,\n A: Allocator,

    source§

    fn index_mut(&mut self, index: I) -> &mut <Vec<T, A> as Index<I>>::Output

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> IndexMut<PatternID> for Vec<T>

    §

    fn index_mut(&mut self, index: PatternID) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> IndexMut<PatternID> for Vec<T>

    §

    fn index_mut(&mut self, index: PatternID) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> IndexMut<SmallIndex> for Vec<T>

    §

    fn index_mut(&mut self, index: SmallIndex) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> IndexMut<SmallIndex> for Vec<T>

    §

    fn index_mut(&mut self, index: SmallIndex) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> IndexMut<StateID> for Vec<T>

    §

    fn index_mut(&mut self, index: StateID) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> IndexMut<StateID> for Vec<T>

    §

    fn index_mut(&mut self, index: StateID) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<'de, T, E> IntoDeserializer<'de, E> for Vec<T>
    where\n T: IntoDeserializer<'de, E>,\n E: Error,

    §

    type Deserializer = SeqDeserializer<<Vec<T> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(self) -> <Vec<T> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> IntoIterator for Vec<T, A>
    where\n A: Allocator,

    source§

    fn into_iter(self) -> <Vec<T, A> as IntoIterator>::IntoIter

    Creates a consuming iterator, that is, one that moves each value out of\nthe vector (from start to end). The vector cannot be used after calling\nthis.

    \n
    §Examples
    \n
    let v = vec![\"a\".to_string(), \"b\".to_string()];\nlet mut v_iter = v.into_iter();\n\nlet first_element: Option<String> = v_iter.next();\n\nassert_eq!(first_element, Some(\"a\".to_string()));\nassert_eq!(v_iter.next(), Some(\"b\".to_string()));\nassert_eq!(v_iter.next(), None);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> IntoParallelIterator for Vec<T>
    where\n T: Send,

    §

    type Item = T

    The type of item that the parallel iterator will produce.
    §

    type Iter = IntoIter<T>

    The parallel iterator type that will be created.
    §

    fn into_par_iter(self) -> <Vec<T> as IntoParallelIterator>::Iter

    Converts self into a parallel iterator. Read more
    ","IntoParallelIterator","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> JsonSchema for Vec<T>
    where\n T: JsonSchema,

    §

    fn is_referenceable() -> bool

    Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
    §

    fn schema_name() -> String

    The name of the generated JSON Schema. Read more
    §

    fn schema_id() -> Cow<'static, str>

    Returns a string that uniquely identifies the schema produced by this type. Read more
    §

    fn json_schema(gen: &mut SchemaGenerator) -> Schema

    Generates a JSON Schema for this type. Read more
    ","JsonSchema","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Ord for Vec<T, A>
    where\n T: Ord,\n A: Allocator,

    Implements ordering of vectors, lexicographically.

    \n
    source§

    fn cmp(&self, other: &Vec<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<'a, T> ParallelExtend<&'a T> for Vec<T>
    where\n T: 'a + Copy + Send + Sync,

    Extends a vector with copied items from a parallel iterator.

    \n
    §

    fn par_extend<I>(&mut self, par_iter: I)
    where\n I: IntoParallelIterator<Item = &'a T>,

    Extends an instance of the collection with the elements drawn\nfrom the parallel iterator par_iter. Read more
    ","ParallelExtend<&'a T>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> ParallelExtend<T> for Vec<T>
    where\n T: Send,

    Extends a vector with items from a parallel iterator.

    \n
    §

    fn par_extend<I>(&mut self, par_iter: I)
    where\n I: IntoParallelIterator<Item = T>,

    Extends an instance of the collection with the elements drawn\nfrom the parallel iterator par_iter. Read more
    ","ParallelExtend","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, U, A> PartialEq<&[U]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&[U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&[U]>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<&[U; N]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&[U; N]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&[U; N]>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, U, A> PartialEq<&mut [U]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &&mut [U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&mut [U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&mut [U]>","massa_factory_exports::types::ProductionHistory"],["
    1.48.0 · source§

    impl<T, U, A> PartialEq<[U]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &[U]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<[U]>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, U, A, const N: usize> PartialEq<[U; N]> for Vec<T, A>
    where\n A: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &[U; N]) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<[U; N]>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T, U> PartialEq<ArchivedVec<U>> for Vec<T>
    where\n T: PartialEq<U>,

    §

    fn eq(&self, other: &ArchivedVec<U>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, U, A1, A2> PartialEq<Vec<U, A2>> for Vec<T, A1>
    where\n A1: Allocator,\n A2: Allocator,\n T: PartialEq<U>,

    source§

    fn eq(&self, other: &Vec<U, A2>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Vec<U, A2>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> PartialOrd<ArchivedVec<T>> for Vec<T>
    where\n T: PartialOrd,

    §

    fn partial_cmp(&self, other: &ArchivedVec<T>) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd>","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A1, A2> PartialOrd<Vec<T, A2>> for Vec<T, A1>
    where\n T: PartialOrd,\n A1: Allocator,\n A2: Allocator,

    Implements comparison of vectors, lexicographically.

    \n
    source§

    fn partial_cmp(&self, other: &Vec<T, A2>) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T, S> Serialize<S> for Vec<T>
    where\n T: Serialize<S>,\n S: ScratchSpace + Serializer + ?Sized,

    §

    fn serialize(\n &self,\n serializer: &mut S,\n) -> Result<<Vec<T> as Archive>::Resolver, <S as Fallible>::Error>

    Writes the dependencies for the object and returns a resolver that can create the archived\ntype.
    ","Serialize","massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T> Serialize for Vec<T>
    where\n T: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T, U> SerializeAs<Vec<T>> for Vec<U>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &Vec<T>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Sink<T> for Vec<T>

    §

    type Error = Infallible

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Vec<T>>,\n _: &mut Context<'_>,\n) -> Poll<Result<(), <Vec<T> as Sink<T>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Vec<T>>,\n item: T,\n) -> Result<(), <Vec<T> as Sink<T>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Vec<T>>,\n _: &mut Context<'_>,\n) -> Poll<Result<(), <Vec<T> as Sink<T>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Vec<T>>,\n _: &mut Context<'_>,\n) -> Poll<Result<(), <Vec<T> as Sink<T>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> Source for Vec<T>
    where\n T: Source + Sync + Send + Clone + 'static,

    §

    fn clone_into_box(&self) -> Box<dyn Source + Send + Sync>

    §

    fn collect(&self) -> Result<HashMap<String, Value>, ConfigError>

    Collect all configuration properties available from this source and return\na Map.
    §

    fn collect_to(&self, cache: &mut Value) -> Result<(), ConfigError>

    Collects all configuration properties to a provided cache.
    ","Source","massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T> Vec<T>

    1.0.0 (const: 1.39.0) · source

    pub const fn new() -> Vec<T>

    Constructs a new, empty Vec<T>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    §Examples
    \n
    let mut vec: Vec<i32> = Vec::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> Vec<T>

    Constructs a new, empty Vec<T> with at least the specified capacity.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n

    It is important to note that although the returned vector has the\nminimum capacity specified, the vector will have a zero length. For\nan explanation of the difference between length and capacity, see\nCapacity and reallocation.

    \n

    If it is important to know the exact allocated capacity of a Vec,\nalways use the capacity method after construction.

    \n

    For Vec<T> where T is a zero-sized type, there will be no allocation\nand the capacity will always be usize::MAX.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = Vec::with_capacity(10);\n\n// The vector contains no items, even though it has capacity for more\nassert_eq!(vec.len(), 0);\nassert!(vec.capacity() >= 10);\n\n// These are all done without reallocating...\nfor i in 0..10 {\n    vec.push(i);\n}\nassert_eq!(vec.len(), 10);\nassert!(vec.capacity() >= 10);\n\n// ...but this may make the vector reallocate\nvec.push(11);\nassert_eq!(vec.len(), 11);\nassert!(vec.capacity() >= 11);\n\n// A vector of a zero-sized type will always over-allocate, since no\n// allocation is necessary\nlet vec_units = Vec::<()>::with_capacity(10);\nassert_eq!(vec_units.capacity(), usize::MAX);
    \n
    source

    pub fn try_with_capacity(capacity: usize) -> Result<Vec<T>, TryReserveError>

    🔬This is a nightly-only experimental API. (try_with_capacity)

    Constructs a new, empty Vec<T> with at least the specified capacity.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n
    §Errors
    \n

    Returns an error if the capacity exceeds isize::MAX bytes,\nor if the allocator reports allocation failure.

    \n
    1.0.0 · source

    pub unsafe fn from_raw_parts(\n ptr: *mut T,\n length: usize,\n capacity: usize,\n) -> Vec<T>

    Creates a Vec<T> directly from a pointer, a length, and a capacity.

    \n
    §Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • ptr must have been allocated using the global allocator, such as via\nthe alloc::alloc function.
    • \n
    • T needs to have the same alignment as what ptr was allocated with.\n(T having a less strict alignment is not sufficient, the alignment really\nneeds to be equal to satisfy the dealloc requirement that memory must be\nallocated and deallocated with the same layout.)
    • \n
    • The size of T times the capacity (ie. the allocated size in bytes) needs\nto be the same size as the pointer was allocated with. (Because similar to\nalignment, dealloc must be called with the same layout size.)
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • The first length values must be properly initialized values of type T.
    • \n
    • capacity needs to be the capacity that the pointer was allocated with.
    • \n
    • The allocated size in bytes must be no larger than isize::MAX.\nSee the safety documentation of pointer::offset.
    • \n
    \n

    These requirements are always upheld by any ptr that has been allocated\nvia Vec<T>. Other allocation sources are allowed if the invariants are\nupheld.

    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example it is normally not safe\nto build a Vec<u8> from a pointer to a C char array with length\nsize_t, doing so is only safe if the array was initially allocated by\na Vec or String.\nIt’s also not safe to build one from a Vec<u16> and its length, because\nthe allocator cares about the alignment, and these two types have different\nalignments. The buffer was allocated with alignment 2 (for u16), but after\nturning it into a Vec<u8> it’ll be deallocated with alignment 1. To avoid\nthese issues, it is often preferable to do casting/transmuting using\nslice::from_raw_parts instead.

    \n

    The ownership of ptr is effectively transferred to the\nVec<T> which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    §Examples
    \n
    use std::ptr;\nuse std::mem;\n\nlet v = vec![1, 2, 3];\n\n// Prevent running `v`'s destructor so we are in complete control\n// of the allocation.\nlet mut v = mem::ManuallyDrop::new(v);\n\n// Pull out the various important pieces of information about `v`\nlet p = v.as_mut_ptr();\nlet len = v.len();\nlet cap = v.capacity();\n\nunsafe {\n    // Overwrite memory with 4, 5, 6\n    for i in 0..len {\n        ptr::write(p.add(i), 4 + i);\n    }\n\n    // Put everything back together into a Vec\n    let rebuilt = Vec::from_raw_parts(p, len, cap);\n    assert_eq!(rebuilt, [4, 5, 6]);\n}
    \n

    Using memory that was allocated elsewhere:

    \n\n
    use std::alloc::{alloc, Layout};\n\nfn main() {\n    let layout = Layout::array::<u32>(16).expect(\"overflow cannot happen\");\n\n    let vec = unsafe {\n        let mem = alloc(layout).cast::<u32>();\n        if mem.is_null() {\n            return;\n        }\n\n        mem.write(1_000_000);\n\n        Vec::from_raw_parts(mem, 1, 16)\n    };\n\n    assert_eq!(vec, &[1_000_000]);\n    assert_eq!(vec.capacity(), 16);\n}
    \n
    ",0,"massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T, A> Vec<T, A>
    where\n T: Clone,\n A: Allocator,

    1.5.0 · source

    pub fn resize(&mut self, new_len: usize, value: T)

    Resizes the Vec in-place so that len is equal to new_len.

    \n

    If new_len is greater than len, the Vec is extended by the\ndifference, with each additional slot filled with value.\nIf new_len is less than len, the Vec is simply truncated.

    \n

    This method requires T to implement Clone,\nin order to be able to clone the passed value.\nIf you need more flexibility (or want to rely on Default instead of\nClone), use Vec::resize_with.\nIf you only need to resize to a smaller size, use Vec::truncate.

    \n
    §Examples
    \n
    let mut vec = vec![\"hello\"];\nvec.resize(3, \"world\");\nassert_eq!(vec, [\"hello\", \"world\", \"world\"]);\n\nlet mut vec = vec![1, 2, 3, 4];\nvec.resize(2, 0);\nassert_eq!(vec, [1, 2]);
    \n
    1.6.0 · source

    pub fn extend_from_slice(&mut self, other: &[T])

    Clones and appends all elements in a slice to the Vec.

    \n

    Iterates over the slice other, clones each element, and then appends\nit to this Vec. The other slice is traversed in-order.

    \n

    Note that this function is same as extend except that it is\nspecialized to work with slices instead. If and when Rust gets\nspecialization this function will likely be deprecated (but still\navailable).

    \n
    §Examples
    \n
    let mut vec = vec![1];\nvec.extend_from_slice(&[2, 3, 4]);\nassert_eq!(vec, [1, 2, 3, 4]);
    \n
    1.53.0 · source

    pub fn extend_from_within<R>(&mut self, src: R)
    where\n R: RangeBounds<usize>,

    Copies elements from src range to the end of the vector.

    \n
    §Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    §Examples
    \n
    let mut vec = vec![0, 1, 2, 3, 4];\n\nvec.extend_from_within(2..);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4]);\n\nvec.extend_from_within(..2);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1]);\n\nvec.extend_from_within(4..8);\nassert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1, 4, 2, 3, 4]);
    \n
    ",0,"massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T, A> Vec<T, A>
    where\n T: PartialEq,\n A: Allocator,

    1.0.0 · source

    pub fn dedup(&mut self)

    Removes consecutive repeated elements in the vector according to the\nPartialEq trait implementation.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 2, 3, 2];\n\nvec.dedup();\n\nassert_eq!(vec, [1, 2, 3, 2]);
    \n
    ",0,"massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T, A> Vec<T, A>
    where\n A: Allocator,

    1.21.0 · source

    pub fn splice<R, I>(\n &mut self,\n range: R,\n replace_with: I,\n) -> Splice<'_, <I as IntoIterator>::IntoIter, A>
    where\n R: RangeBounds<usize>,\n I: IntoIterator<Item = T>,

    Creates a splicing iterator that replaces the specified range in the vector\nwith the given replace_with iterator and yields the removed items.\nreplace_with does not need to be the same length as range.

    \n

    range is removed even if the iterator is not consumed until the end.

    \n

    It is unspecified how many elements are removed from the vector\nif the Splice value is leaked.

    \n

    The input iterator replace_with is only consumed when the Splice value is dropped.

    \n

    This is optimal if:

    \n
      \n
    • The tail (elements in the vector after range) is empty,
    • \n
    • or replace_with yields fewer or equal elements than range’s length
    • \n
    • or the lower bound of its size_hint() is exact.
    • \n
    \n

    Otherwise, a temporary vector is allocated and the tail is moved twice.

    \n
    §Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    §Examples
    \n
    let mut v = vec![1, 2, 3, 4];\nlet new = [7, 8, 9];\nlet u: Vec<_> = v.splice(1..3, new).collect();\nassert_eq!(v, &[1, 7, 8, 9, 4]);\nassert_eq!(u, &[2, 3]);
    \n
    source

    pub fn extract_if<F>(&mut self, filter: F) -> ExtractIf<'_, T, F, A>
    where\n F: FnMut(&mut T) -> bool,

    🔬This is a nightly-only experimental API. (extract_if)

    Creates an iterator which uses a closure to determine if an element should be removed.

    \n

    If the closure returns true, then the element is removed and yielded.\nIf the closure returns false, the element will remain in the vector and will not be yielded\nby the iterator.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n

    Using this method is equivalent to the following code:

    \n\n
    let mut i = 0;\nwhile i < vec.len() {\n    if some_predicate(&mut vec[i]) {\n        let val = vec.remove(i);\n        // your code here\n    } else {\n        i += 1;\n    }\n}\n
    \n

    But extract_if is easier to use. extract_if is also more efficient,\nbecause it can backshift the elements of the array in bulk.

    \n

    Note that extract_if also lets you mutate every element in the filter closure,\nregardless of whether you choose to keep or remove it.

    \n
    §Examples
    \n

    Splitting an array into evens and odds, reusing the original allocation:

    \n\n
    #![feature(extract_if)]\nlet mut numbers = vec![1, 2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 15];\n\nlet evens = numbers.extract_if(|x| *x % 2 == 0).collect::<Vec<_>>();\nlet odds = numbers;\n\nassert_eq!(evens, vec![2, 4, 6, 8, 14]);\nassert_eq!(odds, vec![1, 3, 5, 9, 11, 13, 15]);
    \n
    ",0,"massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T, A> Vec<T, A>
    where\n A: Allocator,

    source

    pub const fn new_in(alloc: A) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A>.

    \n

    The vector will not allocate until elements are pushed onto it.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet mut vec: Vec<i32, _> = Vec::new_in(System);
    \n
    source

    pub fn with_capacity_in(capacity: usize, alloc: A) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A> with at least the specified capacity\nwith the provided allocator.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n

    It is important to note that although the returned vector has the\nminimum capacity specified, the vector will have a zero length. For\nan explanation of the difference between length and capacity, see\nCapacity and reallocation.

    \n

    If it is important to know the exact allocated capacity of a Vec,\nalways use the capacity method after construction.

    \n

    For Vec<T, A> where T is a zero-sized type, there will be no allocation\nand the capacity will always be usize::MAX.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet mut vec = Vec::with_capacity_in(10, System);\n\n// The vector contains no items, even though it has capacity for more\nassert_eq!(vec.len(), 0);\nassert!(vec.capacity() >= 10);\n\n// These are all done without reallocating...\nfor i in 0..10 {\n    vec.push(i);\n}\nassert_eq!(vec.len(), 10);\nassert!(vec.capacity() >= 10);\n\n// ...but this may make the vector reallocate\nvec.push(11);\nassert_eq!(vec.len(), 11);\nassert!(vec.capacity() >= 11);\n\n// A vector of a zero-sized type will always over-allocate, since no\n// allocation is necessary\nlet vec_units = Vec::<(), System>::with_capacity_in(10, System);\nassert_eq!(vec_units.capacity(), usize::MAX);
    \n
    source

    pub fn try_with_capacity_in(\n capacity: usize,\n alloc: A,\n) -> Result<Vec<T, A>, TryReserveError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new, empty Vec<T, A> with at least the specified capacity\nwith the provided allocator.

    \n

    The vector will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the vector will not allocate.

    \n
    §Errors
    \n

    Returns an error if the capacity exceeds isize::MAX bytes,\nor if the allocator reports allocation failure.

    \n
    source

    pub unsafe fn from_raw_parts_in(\n ptr: *mut T,\n length: usize,\n capacity: usize,\n alloc: A,\n) -> Vec<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Creates a Vec<T, A> directly from a pointer, a length, a capacity,\nand an allocator.

    \n
    §Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • ptr must be currently allocated via the given allocator alloc.
    • \n
    • T needs to have the same alignment as what ptr was allocated with.\n(T having a less strict alignment is not sufficient, the alignment really\nneeds to be equal to satisfy the dealloc requirement that memory must be\nallocated and deallocated with the same layout.)
    • \n
    • The size of T times the capacity (ie. the allocated size in bytes) needs\nto be the same size as the pointer was allocated with. (Because similar to\nalignment, dealloc must be called with the same layout size.)
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • The first length values must be properly initialized values of type T.
    • \n
    • capacity needs to fit the layout size that the pointer was allocated with.
    • \n
    • The allocated size in bytes must be no larger than isize::MAX.\nSee the safety documentation of pointer::offset.
    • \n
    \n

    These requirements are always upheld by any ptr that has been allocated\nvia Vec<T, A>. Other allocation sources are allowed if the invariants are\nupheld.

    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example it is not safe\nto build a Vec<u8> from a pointer to a C char array with length size_t.\nIt’s also not safe to build one from a Vec<u16> and its length, because\nthe allocator cares about the alignment, and these two types have different\nalignments. The buffer was allocated with alignment 2 (for u16), but after\nturning it into a Vec<u8> it’ll be deallocated with alignment 1.

    \n

    The ownership of ptr is effectively transferred to the\nVec<T> which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nuse std::ptr;\nuse std::mem;\n\nlet mut v = Vec::with_capacity_in(3, System);\nv.push(1);\nv.push(2);\nv.push(3);\n\n// Prevent running `v`'s destructor so we are in complete control\n// of the allocation.\nlet mut v = mem::ManuallyDrop::new(v);\n\n// Pull out the various important pieces of information about `v`\nlet p = v.as_mut_ptr();\nlet len = v.len();\nlet cap = v.capacity();\nlet alloc = v.allocator();\n\nunsafe {\n    // Overwrite memory with 4, 5, 6\n    for i in 0..len {\n        ptr::write(p.add(i), 4 + i);\n    }\n\n    // Put everything back together into a Vec\n    let rebuilt = Vec::from_raw_parts_in(p, len, cap, alloc.clone());\n    assert_eq!(rebuilt, [4, 5, 6]);\n}
    \n

    Using memory that was allocated elsewhere:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{AllocError, Allocator, Global, Layout};\n\nfn main() {\n    let layout = Layout::array::<u32>(16).expect(\"overflow cannot happen\");\n\n    let vec = unsafe {\n        let mem = match Global.allocate(layout) {\n            Ok(mem) => mem.cast::<u32>().as_ptr(),\n            Err(AllocError) => return,\n        };\n\n        mem.write(1_000_000);\n\n        Vec::from_raw_parts_in(mem, 1, 16, Global)\n    };\n\n    assert_eq!(vec, &[1_000_000]);\n    assert_eq!(vec.capacity(), 16);\n}
    \n
    source

    pub fn into_raw_parts(self) -> (*mut T, usize, usize)

    🔬This is a nightly-only experimental API. (vec_into_raw_parts)

    Decomposes a Vec<T> into its raw components: (pointer, length, capacity).

    \n

    Returns the raw pointer to the underlying data, the length of\nthe vector (in elements), and the allocated capacity of the\ndata (in elements). These are the same arguments in the same\norder as the arguments to from_raw_parts.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Vec. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a Vec with the from_raw_parts function, allowing\nthe destructor to perform the cleanup.

    \n
    §Examples
    \n
    #![feature(vec_into_raw_parts)]\nlet v: Vec<i32> = vec![-1, 0, 1];\n\nlet (ptr, len, cap) = v.into_raw_parts();\n\nlet rebuilt = unsafe {\n    // We can now make changes to the components, such as\n    // transmuting the raw pointer to a compatible type.\n    let ptr = ptr as *mut u32;\n\n    Vec::from_raw_parts(ptr, len, cap)\n};\nassert_eq!(rebuilt, [4294967295, 0, 1]);
    \n
    source

    pub fn into_raw_parts_with_alloc(self) -> (*mut T, usize, usize, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Decomposes a Vec<T> into its raw components: (pointer, length, capacity, allocator).

    \n

    Returns the raw pointer to the underlying data, the length of the vector (in elements),\nthe allocated capacity of the data (in elements), and the allocator. These are the same\narguments in the same order as the arguments to from_raw_parts_in.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Vec. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a Vec with the from_raw_parts_in function, allowing\nthe destructor to perform the cleanup.

    \n
    §Examples
    \n
    #![feature(allocator_api, vec_into_raw_parts)]\n\nuse std::alloc::System;\n\nlet mut v: Vec<i32, System> = Vec::new_in(System);\nv.push(-1);\nv.push(0);\nv.push(1);\n\nlet (ptr, len, cap, alloc) = v.into_raw_parts_with_alloc();\n\nlet rebuilt = unsafe {\n    // We can now make changes to the components, such as\n    // transmuting the raw pointer to a compatible type.\n    let ptr = ptr as *mut u32;\n\n    Vec::from_raw_parts_in(ptr, len, cap, alloc)\n};\nassert_eq!(rebuilt, [4294967295, 0, 1]);
    \n
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the total number of elements the vector can hold without\nreallocating.

    \n
    §Examples
    \n
    let mut vec: Vec<i32> = Vec::with_capacity(10);\nvec.push(42);\nassert!(vec.capacity() >= 10);
    \n
    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the given Vec<T>. The collection may reserve more space to\nspeculatively avoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = vec![1];\nvec.reserve(10);\nassert!(vec.capacity() >= 11);
    \n
    1.0.0 · source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional more elements to\nbe inserted in the given Vec<T>. Unlike reserve, this will not\ndeliberately over-allocate to speculatively avoid frequent allocations.\nAfter calling reserve_exact, capacity will be greater than or equal to\nself.len() + additional. Does nothing if the capacity is already\nsufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer reserve if future insertions are expected.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = vec![1];\nvec.reserve_exact(10);\nassert!(vec.capacity() >= 11);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the given Vec<T>. The collection may reserve more space to speculatively avoid\nfrequent reallocations. After calling try_reserve, capacity will be\ngreater than or equal to self.len() + additional if it returns\nOk(()). Does nothing if capacity is already sufficient. This method\npreserves the contents even if an error occurs.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &[u32]) -> Result<Vec<u32>, TryReserveError> {\n    let mut output = Vec::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.extend(data.iter().map(|&val| {\n        val * 2 + 5 // very complicated\n    }));\n\n    Ok(output)\n}
    \n
    1.57.0 · source

    pub fn try_reserve_exact(\n &mut self,\n additional: usize,\n) -> Result<(), TryReserveError>

    Tries to reserve the minimum capacity for at least additional\nelements to be inserted in the given Vec<T>. Unlike try_reserve,\nthis will not deliberately over-allocate to speculatively avoid frequent\nallocations. After calling try_reserve_exact, capacity will be greater\nthan or equal to self.len() + additional if it returns Ok(()).\nDoes nothing if the capacity is already sufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer try_reserve if future insertions are expected.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &[u32]) -> Result<Vec<u32>, TryReserveError> {\n    let mut output = Vec::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve_exact(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.extend(data.iter().map(|&val| {\n        val * 2 + 5 // very complicated\n    }));\n\n    Ok(output)\n}
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the vector as much as possible.

    \n

    The behavior of this method depends on the allocator, which may either shrink the vector\nin-place or reallocate. The resulting vector might still have some excess capacity, just as\nis the case for with_capacity. See Allocator::shrink for more details.

    \n
    §Examples
    \n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\nassert!(vec.capacity() >= 10);\nvec.shrink_to_fit();\nassert!(vec.capacity() >= 3);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the vector with a lower bound.

    \n

    The capacity will remain at least as large as both the length\nand the supplied value.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\nassert!(vec.capacity() >= 10);\nvec.shrink_to(4);\nassert!(vec.capacity() >= 4);\nvec.shrink_to(0);\nassert!(vec.capacity() >= 3);
    \n
    1.0.0 · source

    pub fn into_boxed_slice(self) -> Box<[T], A>

    Converts the vector into Box<[T]>.

    \n

    Before doing the conversion, this method discards excess capacity like shrink_to_fit.

    \n
    §Examples
    \n
    let v = vec![1, 2, 3];\n\nlet slice = v.into_boxed_slice();
    \n

    Any excess capacity is removed:

    \n\n
    let mut vec = Vec::with_capacity(10);\nvec.extend([1, 2, 3]);\n\nassert!(vec.capacity() >= 10);\nlet slice = vec.into_boxed_slice();\nassert_eq!(slice.into_vec().capacity(), 3);
    \n
    1.0.0 · source

    pub fn truncate(&mut self, len: usize)

    Shortens the vector, keeping the first len elements and dropping\nthe rest.

    \n

    If len is greater or equal to the vector’s current length, this has\nno effect.

    \n

    The drain method can emulate truncate, but causes the excess\nelements to be returned instead of dropped.

    \n

    Note that this method has no effect on the allocated capacity\nof the vector.

    \n
    §Examples
    \n

    Truncating a five element vector to two elements:

    \n\n
    let mut vec = vec![1, 2, 3, 4, 5];\nvec.truncate(2);\nassert_eq!(vec, [1, 2]);
    \n

    No truncation occurs when len is greater than the vector’s current\nlength:

    \n\n
    let mut vec = vec![1, 2, 3];\nvec.truncate(8);\nassert_eq!(vec, [1, 2, 3]);
    \n

    Truncating when len == 0 is equivalent to calling the clear\nmethod.

    \n\n
    let mut vec = vec![1, 2, 3];\nvec.truncate(0);\nassert_eq!(vec, []);
    \n
    1.7.0 · source

    pub fn as_slice(&self) -> &[T]

    Extracts a slice containing the entire vector.

    \n

    Equivalent to &s[..].

    \n
    §Examples
    \n
    use std::io::{self, Write};\nlet buffer = vec![1, 2, 3, 5, 8];\nio::sink().write(buffer.as_slice()).unwrap();
    \n
    1.7.0 · source

    pub fn as_mut_slice(&mut self) -> &mut [T]

    Extracts a mutable slice of the entire vector.

    \n

    Equivalent to &mut s[..].

    \n
    §Examples
    \n
    use std::io::{self, Read};\nlet mut buffer = vec![0; 3];\nio::repeat(0b101).read_exact(buffer.as_mut_slice()).unwrap();
    \n
    1.37.0 · source

    pub fn as_ptr(&self) -> *const T

    Returns a raw pointer to the vector’s buffer, or a dangling raw pointer\nvalid for zero sized reads if the vector didn’t allocate.

    \n

    The caller must ensure that the vector outlives the pointer this\nfunction returns, or else it will end up pointing to garbage.\nModifying the vector may cause its buffer to be reallocated,\nwhich would also make any pointers to it invalid.

    \n

    The caller must also ensure that the memory the pointer (non-transitively) points to\nis never written to (except inside an UnsafeCell) using this pointer or any pointer\nderived from it. If you need to mutate the contents of the slice, use as_mut_ptr.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\ndoes not materialize a reference to the underlying slice, and thus the returned pointer\nwill remain valid when mixed with other calls to as_ptr and as_mut_ptr.\nNote that calling other methods that materialize mutable references to the slice,\nor mutable references to specific elements you are planning on accessing through this pointer,\nas well as writing to those elements, may still invalidate this pointer.\nSee the second example below for how this guarantee can be used.

    \n
    §Examples
    \n
    let x = vec![1, 2, 4];\nlet x_ptr = x.as_ptr();\n\nunsafe {\n    for i in 0..x.len() {\n        assert_eq!(*x_ptr.add(i), 1 << i);\n    }\n}
    \n

    Due to the aliasing guarantee, the following code is legal:

    \n\n
    unsafe {\n    let mut v = vec![0, 1, 2];\n    let ptr1 = v.as_ptr();\n    let _ = ptr1.read();\n    let ptr2 = v.as_mut_ptr().offset(2);\n    ptr2.write(2);\n    // Notably, the write to `ptr2` did *not* invalidate `ptr1`\n    // because it mutated a different element:\n    let _ = ptr1.read();\n}
    \n
    1.37.0 · source

    pub fn as_mut_ptr(&mut self) -> *mut T

    Returns an unsafe mutable pointer to the vector’s buffer, or a dangling\nraw pointer valid for zero sized reads if the vector didn’t allocate.

    \n

    The caller must ensure that the vector outlives the pointer this\nfunction returns, or else it will end up pointing to garbage.\nModifying the vector may cause its buffer to be reallocated,\nwhich would also make any pointers to it invalid.

    \n

    This method guarantees that for the purpose of the aliasing model, this method\ndoes not materialize a reference to the underlying slice, and thus the returned pointer\nwill remain valid when mixed with other calls to as_ptr and as_mut_ptr.\nNote that calling other methods that materialize references to the slice,\nor references to specific elements you are planning on accessing through this pointer,\nmay still invalidate this pointer.\nSee the second example below for how this guarantee can be used.

    \n
    §Examples
    \n
    // Allocate vector big enough for 4 elements.\nlet size = 4;\nlet mut x: Vec<i32> = Vec::with_capacity(size);\nlet x_ptr = x.as_mut_ptr();\n\n// Initialize elements via raw pointer writes, then set length.\nunsafe {\n    for i in 0..size {\n        *x_ptr.add(i) = i as i32;\n    }\n    x.set_len(size);\n}\nassert_eq!(&*x, &[0, 1, 2, 3]);
    \n

    Due to the aliasing guarantee, the following code is legal:

    \n\n
    unsafe {\n    let mut v = vec![0];\n    let ptr1 = v.as_mut_ptr();\n    ptr1.write(1);\n    let ptr2 = v.as_mut_ptr();\n    ptr2.write(2);\n    // Notably, the write to `ptr2` did *not* invalidate `ptr1`:\n    ptr1.write(3);\n}
    \n
    source

    pub fn allocator(&self) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n
    1.0.0 · source

    pub unsafe fn set_len(&mut self, new_len: usize)

    Forces the length of the vector to new_len.

    \n

    This is a low-level operation that maintains none of the normal\ninvariants of the type. Normally changing the length of a vector\nis done using one of the safe operations instead, such as\ntruncate, resize, extend, or clear.

    \n
    §Safety
    \n
      \n
    • new_len must be less than or equal to capacity().
    • \n
    • The elements at old_len..new_len must be initialized.
    • \n
    \n
    §Examples
    \n

    This method can be useful for situations in which the vector\nis serving as a buffer for other code, particularly over FFI:

    \n\n
    pub fn get_dictionary(&self) -> Option<Vec<u8>> {\n    // Per the FFI method's docs, \"32768 bytes is always enough\".\n    let mut dict = Vec::with_capacity(32_768);\n    let mut dict_length = 0;\n    // SAFETY: When `deflateGetDictionary` returns `Z_OK`, it holds that:\n    // 1. `dict_length` elements were initialized.\n    // 2. `dict_length` <= the capacity (32_768)\n    // which makes `set_len` safe to call.\n    unsafe {\n        // Make the FFI call...\n        let r = deflateGetDictionary(self.strm, dict.as_mut_ptr(), &mut dict_length);\n        if r == Z_OK {\n            // ...and update the length to what was initialized.\n            dict.set_len(dict_length);\n            Some(dict)\n        } else {\n            None\n        }\n    }\n}
    \n

    While the following example is sound, there is a memory leak since\nthe inner vectors were not freed prior to the set_len call:

    \n\n
    let mut vec = vec![vec![1, 0, 0],\n                   vec![0, 1, 0],\n                   vec![0, 0, 1]];\n// SAFETY:\n// 1. `old_len..0` is empty so no elements need to be initialized.\n// 2. `0 <= capacity` always holds whatever `capacity` is.\nunsafe {\n    vec.set_len(0);\n}
    \n

    Normally, here, one would use clear instead to correctly drop\nthe contents and thus not leak memory.

    \n
    1.0.0 · source

    pub fn swap_remove(&mut self, index: usize) -> T

    Removes an element from the vector and returns it.

    \n

    The removed element is replaced by the last element of the vector.

    \n

    This does not preserve ordering of the remaining elements, but is O(1).\nIf you need to preserve the element order, use remove instead.

    \n
    §Panics
    \n

    Panics if index is out of bounds.

    \n
    §Examples
    \n
    let mut v = vec![\"foo\", \"bar\", \"baz\", \"qux\"];\n\nassert_eq!(v.swap_remove(1), \"bar\");\nassert_eq!(v, [\"foo\", \"qux\", \"baz\"]);\n\nassert_eq!(v.swap_remove(0), \"foo\");\nassert_eq!(v, [\"baz\", \"qux\"]);
    \n
    1.0.0 · source

    pub fn insert(&mut self, index: usize, element: T)

    Inserts an element at position index within the vector, shifting all\nelements after it to the right.

    \n
    §Panics
    \n

    Panics if index > len.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nvec.insert(1, 4);\nassert_eq!(vec, [1, 4, 2, 3]);\nvec.insert(4, 5);\nassert_eq!(vec, [1, 4, 2, 3, 5]);
    \n
    §Time complexity
    \n

    Takes O(Vec::len) time. All items after the insertion index must be\nshifted to the right. In the worst case, all elements are shifted when\nthe insertion index is 0.

    \n
    1.0.0 · source

    pub fn remove(&mut self, index: usize) -> T

    Removes and returns the element at position index within the vector,\nshifting all elements after it to the left.

    \n

    Note: Because this shifts over the remaining elements, it has a\nworst-case performance of O(n). If you don’t need the order of elements\nto be preserved, use swap_remove instead. If you’d like to remove\nelements from the beginning of the Vec, consider using\nVecDeque::pop_front instead.

    \n
    §Panics
    \n

    Panics if index is out of bounds.

    \n
    §Examples
    \n
    let mut v = vec![1, 2, 3];\nassert_eq!(v.remove(1), 2);\nassert_eq!(v, [1, 3]);
    \n
    1.0.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\nThis method operates in place, visiting each element exactly once in the\noriginal order, and preserves the order of the retained elements.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3, 4];\nvec.retain(|&x| x % 2 == 0);\nassert_eq!(vec, [2, 4]);
    \n

    Because the elements are visited exactly once in the original order,\nexternal state may be used to decide which elements to keep.

    \n\n
    let mut vec = vec![1, 2, 3, 4, 5];\nlet keep = [false, true, true, false, true];\nlet mut iter = keep.iter();\nvec.retain(|_| *iter.next().unwrap());\nassert_eq!(vec, [2, 3, 5]);
    \n
    1.61.0 · source

    pub fn retain_mut<F>(&mut self, f: F)
    where\n F: FnMut(&mut T) -> bool,

    Retains only the elements specified by the predicate, passing a mutable reference to it.

    \n

    In other words, remove all elements e such that f(&mut e) returns false.\nThis method operates in place, visiting each element exactly once in the\noriginal order, and preserves the order of the retained elements.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3, 4];\nvec.retain_mut(|x| if *x <= 3 {\n    *x += 1;\n    true\n} else {\n    false\n});\nassert_eq!(vec, [2, 3, 4]);
    \n
    1.16.0 · source

    pub fn dedup_by_key<F, K>(&mut self, key: F)
    where\n F: FnMut(&mut T) -> K,\n K: PartialEq,

    Removes all but the first of consecutive elements in the vector that resolve to the same\nkey.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    §Examples
    \n
    let mut vec = vec![10, 20, 21, 30, 20];\n\nvec.dedup_by_key(|i| *i / 10);\n\nassert_eq!(vec, [10, 20, 30, 20]);
    \n
    1.16.0 · source

    pub fn dedup_by<F>(&mut self, same_bucket: F)
    where\n F: FnMut(&mut T, &mut T) -> bool,

    Removes all but the first of consecutive elements in the vector satisfying a given equality\nrelation.

    \n

    The same_bucket function is passed references to two elements from the vector and\nmust determine if the elements compare equal. The elements are passed in opposite order\nfrom their order in the slice, so if same_bucket(a, b) returns true, a is removed.

    \n

    If the vector is sorted, this removes all duplicates.

    \n
    §Examples
    \n
    let mut vec = vec![\"foo\", \"bar\", \"Bar\", \"baz\", \"bar\"];\n\nvec.dedup_by(|a, b| a.eq_ignore_ascii_case(b));\n\nassert_eq!(vec, [\"foo\", \"bar\", \"baz\", \"bar\"]);
    \n
    1.0.0 · source

    pub fn push(&mut self, value: T)

    Appends an element to the back of a collection.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2];\nvec.push(3);\nassert_eq!(vec, [1, 2, 3]);
    \n
    §Time complexity
    \n

    Takes amortized O(1) time. If the vector’s length would exceed its\ncapacity after the push, O(capacity) time is taken to copy the\nvector’s elements to a larger allocation. This expensive operation is\noffset by the capacity O(1) insertions it allows.

    \n
    source

    pub fn push_within_capacity(&mut self, value: T) -> Result<(), T>

    🔬This is a nightly-only experimental API. (vec_push_within_capacity)

    Appends an element if there is sufficient spare capacity, otherwise an error is returned\nwith the element.

    \n

    Unlike push this method will not reallocate when there’s insufficient capacity.\nThe caller should use reserve or try_reserve to ensure that there is enough capacity.

    \n
    §Examples
    \n

    A manual, panic-free alternative to FromIterator:

    \n\n
    #![feature(vec_push_within_capacity)]\n\nuse std::collections::TryReserveError;\nfn from_iter_fallible<T>(iter: impl Iterator<Item=T>) -> Result<Vec<T>, TryReserveError> {\n    let mut vec = Vec::new();\n    for value in iter {\n        if let Err(value) = vec.push_within_capacity(value) {\n            vec.try_reserve(1)?;\n            // this cannot fail, the previous line either returned or added at least 1 free slot\n            let _ = vec.push_within_capacity(value);\n        }\n    }\n    Ok(vec)\n}\nassert_eq!(from_iter_fallible(0..100), Ok(Vec::from_iter(0..100)));
    \n
    §Time complexity
    \n

    Takes O(1) time.

    \n
    1.0.0 · source

    pub fn pop(&mut self) -> Option<T>

    Removes the last element from a vector and returns it, or None if it\nis empty.

    \n

    If you’d like to pop the first element, consider using\nVecDeque::pop_front instead.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nassert_eq!(vec.pop(), Some(3));\nassert_eq!(vec, [1, 2]);
    \n
    §Time complexity
    \n

    Takes O(1) time.

    \n
    source

    pub fn pop_if<F>(&mut self, f: F) -> Option<T>
    where\n F: FnOnce(&mut T) -> bool,

    🔬This is a nightly-only experimental API. (vec_pop_if)

    Removes and returns the last element in a vector if the predicate\nreturns true, or None if the predicate returns false or the vector\nis empty.

    \n
    §Examples
    \n
    #![feature(vec_pop_if)]\n\nlet mut vec = vec![1, 2, 3, 4];\nlet pred = |x: &mut i32| *x % 2 == 0;\n\nassert_eq!(vec.pop_if(pred), Some(4));\nassert_eq!(vec, [1, 2, 3]);\nassert_eq!(vec.pop_if(pred), None);
    \n
    1.4.0 · source

    pub fn append(&mut self, other: &mut Vec<T, A>)

    Moves all the elements of other into self, leaving other empty.

    \n
    §Panics
    \n

    Panics if the new capacity exceeds isize::MAX bytes.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nlet mut vec2 = vec![4, 5, 6];\nvec.append(&mut vec2);\nassert_eq!(vec, [1, 2, 3, 4, 5, 6]);\nassert_eq!(vec2, []);
    \n
    1.6.0 · source

    pub fn drain<R>(&mut self, range: R) -> Drain<'_, T, A>
    where\n R: RangeBounds<usize>,

    Removes the specified range from the vector in bulk, returning all\nremoved elements as an iterator. If the iterator is dropped before\nbeing fully consumed, it drops the remaining removed elements.

    \n

    The returned iterator keeps a mutable borrow on the vector to optimize\nits implementation.

    \n
    §Panics
    \n

    Panics if the starting point is greater than the end point or if\nthe end point is greater than the length of the vector.

    \n
    §Leaking
    \n

    If the returned iterator goes out of scope without being dropped (due to\nmem::forget, for example), the vector may have lost and leaked\nelements arbitrarily, including elements outside the range.

    \n
    §Examples
    \n
    let mut v = vec![1, 2, 3];\nlet u: Vec<_> = v.drain(1..).collect();\nassert_eq!(v, &[1]);\nassert_eq!(u, &[2, 3]);\n\n// A full range clears the vector, like `clear()` does\nv.drain(..);\nassert_eq!(v, &[]);
    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the vector, removing all values.

    \n

    Note that this method has no effect on the allocated capacity\nof the vector.

    \n
    §Examples
    \n
    let mut v = vec![1, 2, 3];\n\nv.clear();\n\nassert!(v.is_empty());
    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the vector, also referred to\nas its ‘length’.

    \n
    §Examples
    \n
    let a = vec![1, 2, 3];\nassert_eq!(a.len(), 3);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the vector contains no elements.

    \n
    §Examples
    \n
    let mut v = Vec::new();\nassert!(v.is_empty());\n\nv.push(1);\nassert!(!v.is_empty());
    \n
    1.4.0 · source

    pub fn split_off(&mut self, at: usize) -> Vec<T, A>
    where\n A: Clone,

    Splits the collection into two at the given index.

    \n

    Returns a newly allocated vector containing the elements in the range\n[at, len). After the call, the original vector will be left containing\nthe elements [0, at) with its previous capacity unchanged.

    \n
      \n
    • If you want to take ownership of the entire contents and capacity of\nthe vector, see mem::take or mem::replace.
    • \n
    • If you don’t need the returned vector at all, see Vec::truncate.
    • \n
    • If you want to take ownership of an arbitrary subslice, or you don’t\nnecessarily want to store the removed items in a vector, see Vec::drain.
    • \n
    \n
    §Panics
    \n

    Panics if at > len.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nlet vec2 = vec.split_off(1);\nassert_eq!(vec, [1]);\nassert_eq!(vec2, [2, 3]);
    \n
    1.33.0 · source

    pub fn resize_with<F>(&mut self, new_len: usize, f: F)
    where\n F: FnMut() -> T,

    Resizes the Vec in-place so that len is equal to new_len.

    \n

    If new_len is greater than len, the Vec is extended by the\ndifference, with each additional slot filled with the result of\ncalling the closure f. The return values from f will end up\nin the Vec in the order they have been generated.

    \n

    If new_len is less than len, the Vec is simply truncated.

    \n

    This method uses a closure to create new values on every push. If\nyou’d rather Clone a given value, use Vec::resize. If you\nwant to use the Default trait to generate values, you can\npass Default::default as the second argument.

    \n
    §Examples
    \n
    let mut vec = vec![1, 2, 3];\nvec.resize_with(5, Default::default);\nassert_eq!(vec, [1, 2, 3, 0, 0]);\n\nlet mut vec = vec![];\nlet mut p = 1;\nvec.resize_with(4, || { p *= 2; p });\nassert_eq!(vec, [2, 4, 8, 16]);
    \n
    1.47.0 · source

    pub fn leak<'a>(self) -> &'a mut [T]
    where\n A: 'a,

    Consumes and leaks the Vec, returning a mutable reference to the contents,\n&'a mut [T]. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    As of Rust 1.57, this method does not reallocate or shrink the Vec,\nso the leaked allocation may include unused capacity that is not part\nof the returned slice.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak.

    \n
    §Examples
    \n

    Simple usage:

    \n\n
    let x = vec![1, 2, 3];\nlet static_ref: &'static mut [usize] = x.leak();\nstatic_ref[0] += 1;\nassert_eq!(static_ref, &[2, 2, 3]);
    \n
    1.60.0 · source

    pub fn spare_capacity_mut(&mut self) -> &mut [MaybeUninit<T>]

    Returns the remaining spare capacity of the vector as a slice of\nMaybeUninit<T>.

    \n

    The returned slice can be used to fill the vector with data (e.g. by\nreading from a file) before marking the data as initialized using the\nset_len method.

    \n
    §Examples
    \n
    // Allocate vector big enough for 10 elements.\nlet mut v = Vec::with_capacity(10);\n\n// Fill in the first 3 elements.\nlet uninit = v.spare_capacity_mut();\nuninit[0].write(0);\nuninit[1].write(1);\nuninit[2].write(2);\n\n// Mark the first 3 elements of the vector as being initialized.\nunsafe {\n    v.set_len(3);\n}\n\nassert_eq!(&v, &[0, 1, 2]);
    \n
    source

    pub fn split_at_spare_mut(&mut self) -> (&mut [T], &mut [MaybeUninit<T>])

    🔬This is a nightly-only experimental API. (vec_split_at_spare)

    Returns vector content as a slice of T, along with the remaining spare\ncapacity of the vector as a slice of MaybeUninit<T>.

    \n

    The returned spare capacity slice can be used to fill the vector with data\n(e.g. by reading from a file) before marking the data as initialized using\nthe set_len method.

    \n

    Note that this is a low-level API, which should be used with care for\noptimization purposes. If you need to append data to a Vec\nyou can use push, extend, extend_from_slice,\nextend_from_within, insert, append, resize or\nresize_with, depending on your exact needs.

    \n
    §Examples
    \n
    #![feature(vec_split_at_spare)]\n\nlet mut v = vec![1, 1, 2];\n\n// Reserve additional space big enough for 10 elements.\nv.reserve(10);\n\nlet (init, uninit) = v.split_at_spare_mut();\nlet sum = init.iter().copied().sum::<u32>();\n\n// Fill in the next 4 elements.\nuninit[0].write(sum);\nuninit[1].write(sum * 2);\nuninit[2].write(sum * 3);\nuninit[3].write(sum * 4);\n\n// Mark the 4 elements of the vector as being initialized.\nunsafe {\n    let len = v.len();\n    v.set_len(len + 4);\n}\n\nassert_eq!(&v, &[1, 1, 2, 4, 8, 12, 16]);
    \n
    ",0,"massa_factory_exports::types::ProductionHistory"],["
    §

    impl<'a, T> Yokeable<'a> for Vec<T>
    where\n T: 'static,

    §

    type Output = Vec<T>

    This type MUST be Self with the 'static replaced with 'a, i.e. Self<'a>
    §

    fn transform(&'a self) -> &'a Vec<T>

    This method must cast self between &'a Self<'static> and &'a Self<'a>. Read more
    §

    fn transform_owned(self) -> Vec<T>

    This method must cast self between Self<'static> and Self<'a>. Read more
    §

    unsafe fn make(from: Vec<T>) -> Vec<T>

    This method can be used to cast away Self<'a>’s lifetime. Read more
    §

    fn transform_mut<F>(&'a mut self, f: F)
    where\n F: 'static + for<'b> FnOnce(&'b mut <Vec<T> as Yokeable<'a>>::Output),

    This method must cast self between &'a mut Self<'static> and &'a mut Self<'a>,\nand pass it to f. Read more
    ","Yokeable<'a>","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<Z> Zeroize for Vec<Z>
    where\n Z: Zeroize,

    §

    fn zeroize(&mut self)

    “Best effort” zeroization for Vec.

    \n

    Ensures the entire capacity of the Vec is zeroed. Cannot ensure that\nprevious reallocations did not leave values on the heap.

    \n
    ","Zeroize","massa_factory_exports::types::ProductionHistory"],["
    source§

    impl<T, A> DerefPure for Vec<T, A>
    where\n A: Allocator,

    ","DerefPure","massa_factory_exports::types::ProductionHistory"],["
    1.0.0 · source§

    impl<T, A> Eq for Vec<T, A>
    where\n T: Eq,\n A: Allocator,

    ","Eq","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> FromStream<T> for Vec<T>

    ","FromStream","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<T> StableDeref for Vec<T>

    ","StableDeref","massa_factory_exports::types::ProductionHistory"],["
    §

    impl<Z> ZeroizeOnDrop for Vec<Z>
    where\n Z: ZeroizeOnDrop,

    ","ZeroizeOnDrop","massa_factory_exports::types::ProductionHistory"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/core/pin/struct.Pin.js b/type.impl/core/pin/struct.Pin.js index c57a36bfcf4..d983299a694 100644 --- a/type.impl/core/pin/struct.Pin.js +++ b/type.impl/core/pin/struct.Pin.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"massa_grpc":[["
    §

    impl<P> AsyncBufRead for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncBufRead,

    §

    fn poll_fill_buf(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Pin<P>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> AsyncBufRead for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncBufRead,

    §

    fn poll_fill_buf(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Pin<P>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<P> AsyncIterator for Pin<P>
    where\n P: DerefMut,\n <P as Deref>::Target: AsyncIterator,

    §

    type Item = <<P as Deref>::Target as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Option<<Pin<P> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> AsyncRead for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncRead,

    §

    fn poll_read(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>,\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> AsyncRead for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncRead,

    §

    fn poll_read(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &mut [u8],\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>],\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> AsyncSeek for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncSeek,

    §

    fn poll_seek(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n pos: SeekFrom,\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> AsyncSeek for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncSeek,

    §

    fn start_seek(self: Pin<&mut Pin<P>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> AsyncWrite for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncWrite,

    §

    fn poll_write(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &[u8],\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>],\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> AsyncWrite for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncWrite,

    §

    fn poll_write(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &[u8],\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>],\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<P> Body for Pin<P>
    where\n P: Unpin + DerefMut,\n <P as Deref>::Target: Body,

    §

    type Data = <<P as Deref>::Target as Body>::Data

    Values yielded by the Body.
    §

    type Error = <<P as Deref>::Target as Body>::Error

    The error type this Body might generate.
    source§

    fn poll_data(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Option<Result<<Pin<P> as Body>::Data, <Pin<P> as Body>::Error>>>

    Attempt to pull out the next data buffer of this stream.
    source§

    fn poll_trailers(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<Option<HeaderMap>, <Pin<P> as Body>::Error>>

    Poll for an optional single HeaderMap of trailers. Read more
    source§

    fn is_end_stream(&self) -> bool

    Returns true when the end of stream has been reached. Read more
    source§

    fn size_hint(&self) -> SizeHint

    Returns the bounds on the remaining length of the stream. Read more
    source§

    fn data(&mut self) -> Data<'_, Self>
    where\n Self: Sized + Unpin,

    Returns future that resolves to next data chunk, if any.
    source§

    fn trailers(&mut self) -> Trailers<'_, Self>
    where\n Self: Sized + Unpin,

    Returns future that resolves to trailers, if any.
    source§

    fn map_data<F, B>(self, f: F) -> MapData<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Data) -> B,\n B: Buf,

    Maps this body’s data value to a different value.
    source§

    fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Error) -> E,

    Maps this body’s error value to a different value.
    source§

    fn collect(self) -> Collect<Self>
    where\n Self: Sized,

    Turn this body into Collected body which will collect all the DATA frames\nand trailers.
    ","Body","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> Body for Pin<P>
    where\n P: Unpin + DerefMut,\n <P as Deref>::Target: Body,

    §

    type Data = <<P as Deref>::Target as Body>::Data

    Values yielded by the Body.
    §

    type Error = <<P as Deref>::Target as Body>::Error

    The error type this Body might generate.
    §

    fn poll_frame(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Option<Result<Frame<<Pin<P> as Body>::Data>, <Pin<P> as Body>::Error>>>

    Attempt to pull out the next data buffer of this stream.
    §

    fn is_end_stream(&self) -> bool

    Returns true when the end of stream has been reached. Read more
    §

    fn size_hint(&self) -> SizeHint

    Returns the bounds on the remaining length of the stream. Read more
    ","Body","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr> Clone for Pin<Ptr>
    where\n Ptr: Clone,

    source§

    fn clone(&self) -> Pin<Ptr>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<G, R, A> Coroutine<R> for Pin<Box<G, A>>
    where\n G: Coroutine<R> + ?Sized,\n A: Allocator + 'static,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Pin<Box<G, A>>>,\n arg: R,\n) -> CoroutineState<<Pin<Box<G, A>> as Coroutine<R>>::Yield, <Pin<Box<G, A>> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr> Debug for Pin<Ptr>
    where\n Ptr: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr> Deref for Pin<Ptr>
    where\n Ptr: Deref,

    §

    type Target = <Ptr as Deref>::Target

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &<Ptr as Deref>::Target

    Dereferences the value.
    ","Deref","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr> DerefMut for Pin<Ptr>
    where\n Ptr: DerefMut,\n <Ptr as Deref>::Target: Unpin,

    source§

    fn deref_mut(&mut self) -> &mut <Ptr as Deref>::Target

    Mutably dereferences the value.
    ","DerefMut","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<'de, T, U> DeserializeAs<'de, Pin<Box<T>>> for Pin<Box<U>>
    where\n U: DeserializeAs<'de, T>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Pin<Box<T>>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Pin>>","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr> Display for Pin<Ptr>
    where\n Ptr: Display,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<T, A> From<Box<T, A>> for Pin<Box<T, A>>
    where\n A: Allocator + 'static,\n T: ?Sized,

    source§

    fn from(boxed: Box<T, A>) -> Pin<Box<T, A>>

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via Box::into_pin.

    \n

    Constructing and pinning a Box with <Pin<Box<T>>>::from(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis From implementation is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    ","From>","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> FusedFuture for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: FusedFuture,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> FusedStream for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: FusedStream,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.36.0 · source§

    impl<P> Future for Pin<P>
    where\n P: DerefMut,\n <P as Deref>::Target: Future,

    §

    type Output = <<P as Deref>::Target as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<<Pin<P> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.41.0 · source§

    impl<Ptr> Hash for Pin<Ptr>
    where\n Ptr: Deref,\n <Ptr as Deref>::Target: Hash,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.41.0 · source§

    impl<Ptr> Ord for Pin<Ptr>
    where\n Ptr: Deref,\n <Ptr as Deref>::Target: Ord,

    source§

    fn cmp(&self, other: &Pin<Ptr>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.41.0 · source§

    impl<Ptr, Q> PartialEq<Pin<Q>> for Pin<Ptr>
    where\n Ptr: Deref,\n Q: Deref,\n <Ptr as Deref>::Target: PartialEq<<Q as Deref>::Target>,

    source§

    fn eq(&self, other: &Pin<Q>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Pin<Q>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.41.0 · source§

    impl<Ptr, Q> PartialOrd<Pin<Q>> for Pin<Ptr>
    where\n Ptr: Deref,\n Q: Deref,\n <Ptr as Deref>::Target: PartialOrd<<Q as Deref>::Target>,

    source§

    fn partial_cmp(&self, other: &Pin<Q>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Pin<Q>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Pin<Q>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn gt(&self, other: &Pin<Q>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source§

    fn ge(&self, other: &Pin<Q>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd>","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<Ptr> Pin<Ptr>
    where\n Ptr: Deref,\n <Ptr as Deref>::Target: Unpin,

    1.33.0 (const: unstable) · source

    pub fn new(pointer: Ptr) -> Pin<Ptr>

    Construct a new Pin<Ptr> around a pointer to some data of a type that\nimplements Unpin.

    \n

    Unlike Pin::new_unchecked, this method is safe because the pointer\nPtr dereferences to an Unpin type, which cancels the pinning guarantees.

    \n
    §Examples
    \n
    use std::pin::Pin;\n\nlet mut val: u8 = 5;\n\n// Since `val` doesn't care about being moved, we can safely create a \"facade\" `Pin`\n// which will allow `val` to participate in `Pin`-bound apis  without checking that\n// pinning guarantees are actually upheld.\nlet mut pinned: Pin<&mut u8> = Pin::new(&mut val);
    \n
    1.39.0 (const: unstable) · source

    pub fn into_inner(pin: Pin<Ptr>) -> Ptr

    Unwraps this Pin<Ptr>, returning the underlying pointer.

    \n

    Doing this operation safely requires that the data pointed at by this pinning pointer\nimplements Unpin so that we can ignore the pinning invariants when unwrapping it.

    \n
    §Examples
    \n
    use std::pin::Pin;\n\nlet mut val: u8 = 5;\nlet pinned: Pin<&mut u8> = Pin::new(&mut val);\n\n// Unwrap the pin to get the underlying mutable reference to the value. We can do\n// this because `val` doesn't care about being moved, so the `Pin` was just\n// a \"facade\" anyway.\nlet r = Pin::into_inner(pinned);\nassert_eq!(*r, 5);
    \n
    ",0,"massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<Ptr> Pin<Ptr>
    where\n Ptr: Deref,

    1.33.0 (const: unstable) · source

    pub unsafe fn new_unchecked(pointer: Ptr) -> Pin<Ptr>

    Construct a new Pin<Ptr> around a reference to some data of a type that\nmay or may not implement Unpin.

    \n

    If pointer dereferences to an Unpin type, Pin::new should be used\ninstead.

    \n
    §Safety
    \n

    This constructor is unsafe because we cannot guarantee that the data\npointed to by pointer is pinned. At its core, pinning a value means making the\nguarantee that the value’s data will not be moved nor have its storage invalidated until\nit gets dropped. For a more thorough explanation of pinning, see the pin module docs.

    \n

    If the caller that is constructing this Pin<Ptr> does not ensure that the data Ptr\npoints to is pinned, that is a violation of the API contract and may lead to undefined\nbehavior in later (even safe) operations.

    \n

    By using this method, you are also making a promise about the Deref and\nDerefMut implementations of Ptr, if they exist. Most importantly, they\nmust not move out of their self arguments: Pin::as_mut and Pin::as_ref\nwill call DerefMut::deref_mut and Deref::deref on the pointer type Ptr\nand expect these methods to uphold the pinning invariants.\nMoreover, by calling this method you promise that the reference Ptr\ndereferences to will not be moved out of again; in particular, it\nmust not be possible to obtain a &mut Ptr::Target and then\nmove out of that reference (using, for example mem::swap).

    \n

    For example, calling Pin::new_unchecked on an &'a mut T is unsafe because\nwhile you are able to pin it for the given lifetime 'a, you have no control\nover whether it is kept pinned once 'a ends, and therefore cannot uphold the\nguarantee that a value, once pinned, remains pinned until it is dropped:

    \n\n
    use std::mem;\nuse std::pin::Pin;\n\nfn move_pinned_ref<T>(mut a: T, mut b: T) {\n    unsafe {\n        let p: Pin<&mut T> = Pin::new_unchecked(&mut a);\n        // This should mean the pointee `a` can never move again.\n    }\n    mem::swap(&mut a, &mut b); // Potential UB down the road ⚠️\n    // The address of `a` changed to `b`'s stack slot, so `a` got moved even\n    // though we have previously pinned it! We have violated the pinning API contract.\n}
    \n

    A value, once pinned, must remain pinned until it is dropped (unless its type implements\nUnpin). Because Pin<&mut T> does not own the value, dropping the Pin will not drop\nthe value and will not end the pinning contract. So moving the value after dropping the\nPin<&mut T> is still a violation of the API contract.

    \n

    Similarly, calling Pin::new_unchecked on an Rc<T> is unsafe because there could be\naliases to the same data that are not subject to the pinning restrictions:

    \n\n
    use std::rc::Rc;\nuse std::pin::Pin;\n\nfn move_pinned_rc<T>(mut x: Rc<T>) {\n    // This should mean the pointee can never move again.\n    let pin = unsafe { Pin::new_unchecked(Rc::clone(&x)) };\n    {\n        let p: Pin<&T> = pin.as_ref();\n        // ...\n    }\n    drop(pin);\n\n    let content = Rc::get_mut(&mut x).unwrap(); // Potential UB down the road ⚠️\n    // Now, if `x` was the only reference, we have a mutable reference to\n    // data that we pinned above, which we could use to move it as we have\n    // seen in the previous example. We have violated the pinning API contract.\n }
    \n
    §Pinning of closure captures
    \n

    Particular care is required when using Pin::new_unchecked in a closure:\nPin::new_unchecked(&mut var) where var is a by-value (moved) closure capture\nimplicitly makes the promise that the closure itself is pinned, and that all uses\nof this closure capture respect that pinning.

    \n\n
    use std::pin::Pin;\nuse std::task::Context;\nuse std::future::Future;\n\nfn move_pinned_closure(mut x: impl Future, cx: &mut Context<'_>) {\n    // Create a closure that moves `x`, and then internally uses it in a pinned way.\n    let mut closure = move || unsafe {\n        let _ignore = Pin::new_unchecked(&mut x).poll(cx);\n    };\n    // Call the closure, so the future can assume it has been pinned.\n    closure();\n    // Move the closure somewhere else. This also moves `x`!\n    let mut moved = closure;\n    // Calling it again means we polled the future from two different locations,\n    // violating the pinning API contract.\n    moved(); // Potential UB ⚠️\n}
    \n

    When passing a closure to another API, it might be moving the closure any time, so\nPin::new_unchecked on closure captures may only be used if the API explicitly documents\nthat the closure is pinned.

    \n

    The better alternative is to avoid all that trouble and do the pinning in the outer function\ninstead (here using the pin! macro):

    \n\n
    use std::pin::pin;\nuse std::task::Context;\nuse std::future::Future;\n\nfn move_pinned_closure(mut x: impl Future, cx: &mut Context<'_>) {\n    let mut x = pin!(x);\n    // Create a closure that captures `x: Pin<&mut _>`, which is safe to move.\n    let mut closure = move || {\n        let _ignore = x.as_mut().poll(cx);\n    };\n    // Call the closure, so the future can assume it has been pinned.\n    closure();\n    // Move the closure somewhere else.\n    let mut moved = closure;\n    // Calling it again here is fine (except that we might be polling a future that already\n    // returned `Poll::Ready`, but that is a separate problem).\n    moved();\n}
    \n
    1.33.0 · source

    pub fn as_ref(&self) -> Pin<&<Ptr as Deref>::Target>

    Gets a shared reference to the pinned value this Pin points to.

    \n

    This is a generic method to go from &Pin<Pointer<T>> to Pin<&T>.\nIt is safe because, as part of the contract of Pin::new_unchecked,\nthe pointee cannot move after Pin<Pointer<T>> got created.\n“Malicious” implementations of Pointer::Deref are likewise\nruled out by the contract of Pin::new_unchecked.

    \n
    1.39.0 (const: unstable) · source

    pub unsafe fn into_inner_unchecked(pin: Pin<Ptr>) -> Ptr

    Unwraps this Pin<Ptr>, returning the underlying Ptr.

    \n
    §Safety
    \n

    This function is unsafe. You must guarantee that you will continue to\ntreat the pointer Ptr as pinned after you call this function, so that\nthe invariants on the Pin type can be upheld. If the code using the\nresulting Ptr does not continue to maintain the pinning invariants that\nis a violation of the API contract and may lead to undefined behavior in\nlater (safe) operations.

    \n

    Note that you must be able to guarantee that the data pointed to by Ptr\nwill be treated as pinned all the way until its drop handler is complete!

    \n

    For more information, see the pin module docs

    \n

    If the underlying data is Unpin, Pin::into_inner should be used\ninstead.

    \n
    ",0,"massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<Ptr> Pin<Ptr>
    where\n Ptr: DerefMut,

    1.33.0 · source

    pub fn as_mut(&mut self) -> Pin<&mut <Ptr as Deref>::Target>

    Gets a mutable reference to the pinned value this Pin<Ptr> points to.

    \n

    This is a generic method to go from &mut Pin<Pointer<T>> to Pin<&mut T>.\nIt is safe because, as part of the contract of Pin::new_unchecked,\nthe pointee cannot move after Pin<Pointer<T>> got created.\n“Malicious” implementations of Pointer::DerefMut are likewise\nruled out by the contract of Pin::new_unchecked.

    \n

    This method is useful when doing multiple calls to functions that consume the\npinning pointer.

    \n
    §Example
    \n
    use std::pin::Pin;\n\nimpl Type {\n    fn method(self: Pin<&mut Self>) {\n        // do something\n    }\n\n    fn call_method_twice(mut self: Pin<&mut Self>) {\n        // `method` consumes `self`, so reborrow the `Pin<&mut Self>` via `as_mut`.\n        self.as_mut().method();\n        self.as_mut().method();\n    }\n}
    \n
    1.33.0 · source

    pub fn set(&mut self, value: <Ptr as Deref>::Target)
    where\n <Ptr as Deref>::Target: Sized,

    Assigns a new value to the memory location pointed to by the Pin<Ptr>.

    \n

    This overwrites pinned data, but that is okay: the original pinned value’s destructor gets\nrun before being overwritten and the new value is also a valid value of the same type, so\nno pinning invariant is violated. See the pin module documentation\nfor more information on how this upholds the pinning invariants.

    \n
    §Example
    \n
    use std::pin::Pin;\n\nlet mut val: u8 = 5;\nlet mut pinned: Pin<&mut u8> = Pin::new(&mut val);\nprintln!(\"{}\", pinned); // 5\npinned.set(10);\nprintln!(\"{}\", pinned); // 10
    \n
    ",0,"massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr> Pointer for Pin<Ptr>
    where\n Ptr: Pointer,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Pointer","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> Read for Pin<P>
    where\n P: DerefMut,\n <P as Deref>::Target: Read,

    §

    fn poll_read(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: ReadBufCursor<'_>,\n) -> Poll<Result<(), Error>>

    Attempts to read bytes into the buf. Read more
    ","Read","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<T, U> SerializeAs<Pin<Box<T>>> for Pin<Box<U>>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &Pin<Box<T>>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>>","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P, Item> Sink<Item> for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: Sink<Item>,

    §

    type Error = <<P as Deref>::Target as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), <Pin<P> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Pin<P>>,\n item: Item,\n) -> Result<(), <Pin<P> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), <Pin<P> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), <Pin<P> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> Stream for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: Stream,

    §

    type Item = <<P as Deref>::Target as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Option<<Pin<P> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Pin<Box<F>>
    where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> Write for Pin<P>
    where\n P: DerefMut,\n <P as Deref>::Target: Write,

    §

    fn poll_write(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &[u8],\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the destination. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>],\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers.
    §

    fn is_write_vectored(&self) -> bool

    Returns whether this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Attempts to flush the object. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Attempts to shut down this writer.
    ","Write","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr, U> CoerceUnsized<Pin<U>> for Pin<Ptr>
    where\n Ptr: CoerceUnsized<U>,

    ","CoerceUnsized>","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr> Copy for Pin<Ptr>
    where\n Ptr: Copy,

    ","Copy","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<Ptr> DerefPure for Pin<Ptr>
    where\n Ptr: DerefPure,

    ","DerefPure","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr, U> DispatchFromDyn<Pin<U>> for Pin<Ptr>
    where\n Ptr: DispatchFromDyn<U>,

    ","DispatchFromDyn>","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.41.0 · source§

    impl<Ptr> Eq for Pin<Ptr>
    where\n Ptr: Deref,\n <Ptr as Deref>::Target: Eq,

    ","Eq","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"]] +"massa_grpc":[["
    §

    impl<P> AsyncBufRead for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncBufRead,

    §

    fn poll_fill_buf(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Pin<P>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> AsyncBufRead for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncBufRead,

    §

    fn poll_fill_buf(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Pin<P>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<P> AsyncIterator for Pin<P>
    where\n P: DerefMut,\n <P as Deref>::Target: AsyncIterator,

    §

    type Item = <<P as Deref>::Target as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Option<<Pin<P> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> AsyncRead for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncRead,

    §

    fn poll_read(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>,\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> AsyncRead for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncRead,

    §

    fn poll_read(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &mut [u8],\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>],\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> AsyncSeek for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncSeek,

    §

    fn poll_seek(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n pos: SeekFrom,\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> AsyncSeek for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncSeek,

    §

    fn start_seek(self: Pin<&mut Pin<P>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> AsyncWrite for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncWrite,

    §

    fn poll_write(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &[u8],\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>],\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> AsyncWrite for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: AsyncWrite,

    §

    fn poll_write(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &[u8],\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>],\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<P> Body for Pin<P>
    where\n P: Unpin + DerefMut,\n <P as Deref>::Target: Body,

    §

    type Data = <<P as Deref>::Target as Body>::Data

    Values yielded by the Body.
    §

    type Error = <<P as Deref>::Target as Body>::Error

    The error type this Body might generate.
    source§

    fn poll_data(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Option<Result<<Pin<P> as Body>::Data, <Pin<P> as Body>::Error>>>

    Attempt to pull out the next data buffer of this stream.
    source§

    fn poll_trailers(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<Option<HeaderMap>, <Pin<P> as Body>::Error>>

    Poll for an optional single HeaderMap of trailers. Read more
    source§

    fn is_end_stream(&self) -> bool

    Returns true when the end of stream has been reached. Read more
    source§

    fn size_hint(&self) -> SizeHint

    Returns the bounds on the remaining length of the stream. Read more
    source§

    fn data(&mut self) -> Data<'_, Self>
    where\n Self: Sized + Unpin,

    Returns future that resolves to next data chunk, if any.
    source§

    fn trailers(&mut self) -> Trailers<'_, Self>
    where\n Self: Sized + Unpin,

    Returns future that resolves to trailers, if any.
    source§

    fn map_data<F, B>(self, f: F) -> MapData<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Data) -> B,\n B: Buf,

    Maps this body’s data value to a different value.
    source§

    fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Error) -> E,

    Maps this body’s error value to a different value.
    source§

    fn collect(self) -> Collect<Self>
    where\n Self: Sized,

    Turn this body into Collected body which will collect all the DATA frames\nand trailers.
    ","Body","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> Body for Pin<P>
    where\n P: Unpin + DerefMut,\n <P as Deref>::Target: Body,

    §

    type Data = <<P as Deref>::Target as Body>::Data

    Values yielded by the Body.
    §

    type Error = <<P as Deref>::Target as Body>::Error

    The error type this Body might generate.
    §

    fn poll_frame(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Option<Result<Frame<<Pin<P> as Body>::Data>, <Pin<P> as Body>::Error>>>

    Attempt to pull out the next data buffer of this stream.
    §

    fn is_end_stream(&self) -> bool

    Returns true when the end of stream has been reached. Read more
    §

    fn size_hint(&self) -> SizeHint

    Returns the bounds on the remaining length of the stream. Read more
    ","Body","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr> Clone for Pin<Ptr>
    where\n Ptr: Clone,

    source§

    fn clone(&self) -> Pin<Ptr>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<G, R, A> Coroutine<R> for Pin<Box<G, A>>
    where\n G: Coroutine<R> + ?Sized,\n A: Allocator + 'static,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Pin<Box<G, A>>>,\n arg: R,\n) -> CoroutineState<<Pin<Box<G, A>> as Coroutine<R>>::Yield, <Pin<Box<G, A>> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr> Debug for Pin<Ptr>
    where\n Ptr: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr> Deref for Pin<Ptr>
    where\n Ptr: Deref,

    §

    type Target = <Ptr as Deref>::Target

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &<Ptr as Deref>::Target

    Dereferences the value.
    ","Deref","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr> DerefMut for Pin<Ptr>
    where\n Ptr: DerefMut,\n <Ptr as Deref>::Target: Unpin,

    source§

    fn deref_mut(&mut self) -> &mut <Ptr as Deref>::Target

    Mutably dereferences the value.
    ","DerefMut","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<'de, T, U> DeserializeAs<'de, Pin<Box<T>>> for Pin<Box<U>>
    where\n U: DeserializeAs<'de, T>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Pin<Box<T>>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Pin>>","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr> Display for Pin<Ptr>
    where\n Ptr: Display,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<T, A> From<Box<T, A>> for Pin<Box<T, A>>
    where\n A: Allocator + 'static,\n T: ?Sized,

    source§

    fn from(boxed: Box<T, A>) -> Pin<Box<T, A>>

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via Box::into_pin.

    \n

    Constructing and pinning a Box with <Pin<Box<T>>>::from(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis From implementation is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    ","From>","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> FusedFuture for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: FusedFuture,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> FusedStream for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: FusedStream,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.36.0 · source§

    impl<P> Future for Pin<P>
    where\n P: DerefMut,\n <P as Deref>::Target: Future,

    §

    type Output = <<P as Deref>::Target as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<<Pin<P> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.41.0 · source§

    impl<Ptr> Hash for Pin<Ptr>
    where\n Ptr: Deref,\n <Ptr as Deref>::Target: Hash,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.41.0 · source§

    impl<Ptr> Ord for Pin<Ptr>
    where\n Ptr: Deref,\n <Ptr as Deref>::Target: Ord,

    source§

    fn cmp(&self, other: &Pin<Ptr>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.41.0 · source§

    impl<Ptr, Q> PartialEq<Pin<Q>> for Pin<Ptr>
    where\n Ptr: Deref,\n Q: Deref,\n <Ptr as Deref>::Target: PartialEq<<Q as Deref>::Target>,

    source§

    fn eq(&self, other: &Pin<Q>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Pin<Q>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.41.0 · source§

    impl<Ptr, Q> PartialOrd<Pin<Q>> for Pin<Ptr>
    where\n Ptr: Deref,\n Q: Deref,\n <Ptr as Deref>::Target: PartialOrd<<Q as Deref>::Target>,

    source§

    fn partial_cmp(&self, other: &Pin<Q>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Pin<Q>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Pin<Q>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn gt(&self, other: &Pin<Q>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source§

    fn ge(&self, other: &Pin<Q>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd>","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<Ptr> Pin<Ptr>
    where\n Ptr: Deref,\n <Ptr as Deref>::Target: Unpin,

    1.33.0 (const: unstable) · source

    pub fn new(pointer: Ptr) -> Pin<Ptr>

    Construct a new Pin<Ptr> around a pointer to some data of a type that\nimplements Unpin.

    \n

    Unlike Pin::new_unchecked, this method is safe because the pointer\nPtr dereferences to an Unpin type, which cancels the pinning guarantees.

    \n
    §Examples
    \n
    use std::pin::Pin;\n\nlet mut val: u8 = 5;\n\n// Since `val` doesn't care about being moved, we can safely create a \"facade\" `Pin`\n// which will allow `val` to participate in `Pin`-bound apis  without checking that\n// pinning guarantees are actually upheld.\nlet mut pinned: Pin<&mut u8> = Pin::new(&mut val);
    \n
    1.39.0 (const: unstable) · source

    pub fn into_inner(pin: Pin<Ptr>) -> Ptr

    Unwraps this Pin<Ptr>, returning the underlying pointer.

    \n

    Doing this operation safely requires that the data pointed at by this pinning pointer\nimplements Unpin so that we can ignore the pinning invariants when unwrapping it.

    \n
    §Examples
    \n
    use std::pin::Pin;\n\nlet mut val: u8 = 5;\nlet pinned: Pin<&mut u8> = Pin::new(&mut val);\n\n// Unwrap the pin to get the underlying mutable reference to the value. We can do\n// this because `val` doesn't care about being moved, so the `Pin` was just\n// a \"facade\" anyway.\nlet r = Pin::into_inner(pinned);\nassert_eq!(*r, 5);
    \n
    ",0,"massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<Ptr> Pin<Ptr>
    where\n Ptr: Deref,

    1.33.0 (const: unstable) · source

    pub unsafe fn new_unchecked(pointer: Ptr) -> Pin<Ptr>

    Construct a new Pin<Ptr> around a reference to some data of a type that\nmay or may not implement Unpin.

    \n

    If pointer dereferences to an Unpin type, Pin::new should be used\ninstead.

    \n
    §Safety
    \n

    This constructor is unsafe because we cannot guarantee that the data\npointed to by pointer is pinned. At its core, pinning a value means making the\nguarantee that the value’s data will not be moved nor have its storage invalidated until\nit gets dropped. For a more thorough explanation of pinning, see the pin module docs.

    \n

    If the caller that is constructing this Pin<Ptr> does not ensure that the data Ptr\npoints to is pinned, that is a violation of the API contract and may lead to undefined\nbehavior in later (even safe) operations.

    \n

    By using this method, you are also making a promise about the Deref and\nDerefMut implementations of Ptr, if they exist. Most importantly, they\nmust not move out of their self arguments: Pin::as_mut and Pin::as_ref\nwill call DerefMut::deref_mut and Deref::deref on the pointer type Ptr\nand expect these methods to uphold the pinning invariants.\nMoreover, by calling this method you promise that the reference Ptr\ndereferences to will not be moved out of again; in particular, it\nmust not be possible to obtain a &mut Ptr::Target and then\nmove out of that reference (using, for example mem::swap).

    \n

    For example, calling Pin::new_unchecked on an &'a mut T is unsafe because\nwhile you are able to pin it for the given lifetime 'a, you have no control\nover whether it is kept pinned once 'a ends, and therefore cannot uphold the\nguarantee that a value, once pinned, remains pinned until it is dropped:

    \n\n
    use std::mem;\nuse std::pin::Pin;\n\nfn move_pinned_ref<T>(mut a: T, mut b: T) {\n    unsafe {\n        let p: Pin<&mut T> = Pin::new_unchecked(&mut a);\n        // This should mean the pointee `a` can never move again.\n    }\n    mem::swap(&mut a, &mut b); // Potential UB down the road ⚠️\n    // The address of `a` changed to `b`'s stack slot, so `a` got moved even\n    // though we have previously pinned it! We have violated the pinning API contract.\n}
    \n

    A value, once pinned, must remain pinned until it is dropped (unless its type implements\nUnpin). Because Pin<&mut T> does not own the value, dropping the Pin will not drop\nthe value and will not end the pinning contract. So moving the value after dropping the\nPin<&mut T> is still a violation of the API contract.

    \n

    Similarly, calling Pin::new_unchecked on an Rc<T> is unsafe because there could be\naliases to the same data that are not subject to the pinning restrictions:

    \n\n
    use std::rc::Rc;\nuse std::pin::Pin;\n\nfn move_pinned_rc<T>(mut x: Rc<T>) {\n    // This should mean the pointee can never move again.\n    let pin = unsafe { Pin::new_unchecked(Rc::clone(&x)) };\n    {\n        let p: Pin<&T> = pin.as_ref();\n        // ...\n    }\n    drop(pin);\n\n    let content = Rc::get_mut(&mut x).unwrap(); // Potential UB down the road ⚠️\n    // Now, if `x` was the only reference, we have a mutable reference to\n    // data that we pinned above, which we could use to move it as we have\n    // seen in the previous example. We have violated the pinning API contract.\n }
    \n
    §Pinning of closure captures
    \n

    Particular care is required when using Pin::new_unchecked in a closure:\nPin::new_unchecked(&mut var) where var is a by-value (moved) closure capture\nimplicitly makes the promise that the closure itself is pinned, and that all uses\nof this closure capture respect that pinning.

    \n\n
    use std::pin::Pin;\nuse std::task::Context;\nuse std::future::Future;\n\nfn move_pinned_closure(mut x: impl Future, cx: &mut Context<'_>) {\n    // Create a closure that moves `x`, and then internally uses it in a pinned way.\n    let mut closure = move || unsafe {\n        let _ignore = Pin::new_unchecked(&mut x).poll(cx);\n    };\n    // Call the closure, so the future can assume it has been pinned.\n    closure();\n    // Move the closure somewhere else. This also moves `x`!\n    let mut moved = closure;\n    // Calling it again means we polled the future from two different locations,\n    // violating the pinning API contract.\n    moved(); // Potential UB ⚠️\n}
    \n

    When passing a closure to another API, it might be moving the closure any time, so\nPin::new_unchecked on closure captures may only be used if the API explicitly documents\nthat the closure is pinned.

    \n

    The better alternative is to avoid all that trouble and do the pinning in the outer function\ninstead (here using the pin! macro):

    \n\n
    use std::pin::pin;\nuse std::task::Context;\nuse std::future::Future;\n\nfn move_pinned_closure(mut x: impl Future, cx: &mut Context<'_>) {\n    let mut x = pin!(x);\n    // Create a closure that captures `x: Pin<&mut _>`, which is safe to move.\n    let mut closure = move || {\n        let _ignore = x.as_mut().poll(cx);\n    };\n    // Call the closure, so the future can assume it has been pinned.\n    closure();\n    // Move the closure somewhere else.\n    let mut moved = closure;\n    // Calling it again here is fine (except that we might be polling a future that already\n    // returned `Poll::Ready`, but that is a separate problem).\n    moved();\n}
    \n
    1.33.0 · source

    pub fn as_ref(&self) -> Pin<&<Ptr as Deref>::Target>

    Gets a shared reference to the pinned value this Pin points to.

    \n

    This is a generic method to go from &Pin<Pointer<T>> to Pin<&T>.\nIt is safe because, as part of the contract of Pin::new_unchecked,\nthe pointee cannot move after Pin<Pointer<T>> got created.\n“Malicious” implementations of Pointer::Deref are likewise\nruled out by the contract of Pin::new_unchecked.

    \n
    1.39.0 (const: unstable) · source

    pub unsafe fn into_inner_unchecked(pin: Pin<Ptr>) -> Ptr

    Unwraps this Pin<Ptr>, returning the underlying Ptr.

    \n
    §Safety
    \n

    This function is unsafe. You must guarantee that you will continue to\ntreat the pointer Ptr as pinned after you call this function, so that\nthe invariants on the Pin type can be upheld. If the code using the\nresulting Ptr does not continue to maintain the pinning invariants that\nis a violation of the API contract and may lead to undefined behavior in\nlater (safe) operations.

    \n

    Note that you must be able to guarantee that the data pointed to by Ptr\nwill be treated as pinned all the way until its drop handler is complete!

    \n

    For more information, see the pin module docs

    \n

    If the underlying data is Unpin, Pin::into_inner should be used\ninstead.

    \n
    ",0,"massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<Ptr> Pin<Ptr>
    where\n Ptr: DerefMut,

    1.33.0 · source

    pub fn as_mut(&mut self) -> Pin<&mut <Ptr as Deref>::Target>

    Gets a mutable reference to the pinned value this Pin<Ptr> points to.

    \n

    This is a generic method to go from &mut Pin<Pointer<T>> to Pin<&mut T>.\nIt is safe because, as part of the contract of Pin::new_unchecked,\nthe pointee cannot move after Pin<Pointer<T>> got created.\n“Malicious” implementations of Pointer::DerefMut are likewise\nruled out by the contract of Pin::new_unchecked.

    \n

    This method is useful when doing multiple calls to functions that consume the\npinning pointer.

    \n
    §Example
    \n
    use std::pin::Pin;\n\nimpl Type {\n    fn method(self: Pin<&mut Self>) {\n        // do something\n    }\n\n    fn call_method_twice(mut self: Pin<&mut Self>) {\n        // `method` consumes `self`, so reborrow the `Pin<&mut Self>` via `as_mut`.\n        self.as_mut().method();\n        self.as_mut().method();\n    }\n}
    \n
    1.33.0 · source

    pub fn set(&mut self, value: <Ptr as Deref>::Target)
    where\n <Ptr as Deref>::Target: Sized,

    Assigns a new value to the memory location pointed to by the Pin<Ptr>.

    \n

    This overwrites pinned data, but that is okay: the original pinned value’s destructor gets\nrun before being overwritten and the new value is also a valid value of the same type, so\nno pinning invariant is violated. See the pin module documentation\nfor more information on how this upholds the pinning invariants.

    \n
    §Example
    \n
    use std::pin::Pin;\n\nlet mut val: u8 = 5;\nlet mut pinned: Pin<&mut u8> = Pin::new(&mut val);\nprintln!(\"{}\", pinned); // 5\npinned.set(10);\nprintln!(\"{}\", pinned); // 10
    \n
    ",0,"massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr> Pointer for Pin<Ptr>
    where\n Ptr: Pointer,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Pointer","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> Read for Pin<P>
    where\n P: DerefMut,\n <P as Deref>::Target: Read,

    §

    fn poll_read(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: ReadBufCursor<'_>,\n) -> Poll<Result<(), Error>>

    Attempts to read bytes into the buf. Read more
    ","Read","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<T, U> SerializeAs<Pin<Box<T>>> for Pin<Box<U>>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &Pin<Box<T>>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>>","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P, Item> Sink<Item> for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: Sink<Item>,

    §

    type Error = <<P as Deref>::Target as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), <Pin<P> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Pin<P>>,\n item: Item,\n) -> Result<(), <Pin<P> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), <Pin<P> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), <Pin<P> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> Stream for Pin<P>
    where\n P: DerefMut + Unpin,\n <P as Deref>::Target: Stream,

    §

    type Item = <<P as Deref>::Target as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Option<<Pin<P> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Pin<Box<F>>
    where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    §

    impl<P> Write for Pin<P>
    where\n P: DerefMut,\n <P as Deref>::Target: Write,

    §

    fn poll_write(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n buf: &[u8],\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the destination. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>],\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers.
    §

    fn is_write_vectored(&self) -> bool

    Returns whether this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Attempts to flush the object. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Pin<P>>,\n cx: &mut Context<'_>,\n) -> Poll<Result<(), Error>>

    Attempts to shut down this writer.
    ","Write","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr, U> CoerceUnsized<Pin<U>> for Pin<Ptr>
    where\n Ptr: CoerceUnsized<U>,

    ","CoerceUnsized>","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr> Copy for Pin<Ptr>
    where\n Ptr: Copy,

    ","Copy","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    source§

    impl<Ptr> DerefPure for Pin<Ptr>
    where\n Ptr: DerefPure,

    ","DerefPure","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.33.0 · source§

    impl<Ptr, U> DispatchFromDyn<Pin<U>> for Pin<Ptr>
    where\n Ptr: DispatchFromDyn<U>,

    ","DispatchFromDyn>","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"],["
    1.41.0 · source§

    impl<Ptr> Eq for Pin<Ptr>
    where\n Ptr: Deref,\n <Ptr as Deref>::Target: Eq,

    ","Eq","massa_grpc::stream::new_blocks::NewBlocksStreamType","massa_grpc::stream::new_endorsements::NewEndorsementsStreamType","massa_grpc::stream::new_filled_blocks::NewFilledBlocksStreamType","massa_grpc::stream::new_operations::NewOperationsStreamType","massa_grpc::stream::new_slot_abi_call_stacks::NewSlotABICallStacksStreamType","massa_grpc::stream::new_slot_execution_outputs::NewSlotExecutionOutputsStreamType","massa_grpc::stream::new_slot_transfers::NewSlotTransfersStreamType","massa_grpc::stream::send_blocks::SendBlocksStreamType","massa_grpc::stream::send_endorsements::SendEndorsementsStreamType","massa_grpc::stream::send_operations::SendOperationsStreamType","massa_grpc::stream::tx_throughput::TransactionsThroughputStreamType"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/core/result/enum.Result.js b/type.impl/core/result/enum.Result.js index 56b5fb22b27..d24c8edbc6b 100644 --- a/type.impl/core/result/enum.Result.js +++ b/type.impl/core/result/enum.Result.js @@ -1,5 +1,5 @@ (function() {var type_impls = { -"massa_factory_exports":[["
    §

    impl<T, E> Archive for Result<T, E>
    where\n T: Archive,\n E: Archive,

    §

    type Archived = ArchivedResult<<T as Archive>::Archived, <E as Archive>::Archived>

    The archived representation of this type. Read more
    §

    type Resolver = Result<<T as Archive>::Resolver, <E as Archive>::Resolver>

    The resolver for this type. It must contain all the additional information from serializing\nneeded to make the archived type from the normal type.
    §

    unsafe fn resolve(\n &self,\n pos: usize,\n resolver: <Result<T, E> as Archive>::Resolver,\n out: *mut <Result<T, E> as Archive>::Archived,\n)

    Creates the archived version of this value at the given position and writes it to the given\noutput. Read more
    ","Archive","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>
    where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Context<T, E> for Result<T, E>
    where\n E: StdError + Send + Sync + 'static,

    source§

    fn context<C>(self, context: C) -> Result<T, Error>
    where\n C: Display + Send + Sync + 'static,

    Wrap the error value with additional context.
    source§

    fn with_context<C, F>(self, context: F) -> Result<T, Error>
    where\n C: Display + Send + Sync + 'static,\n F: FnOnce() -> C,

    Wrap the error value with additional context that is evaluated lazily\nonly once an error does occur.
    ","Context","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<C, E> ControlFlow for Result<C, E>
    where\n C: ControlFlow,

    ","ControlFlow","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>
    where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>
    where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<'de, T, TAs, E, EAs> DeserializeAs<'de, Result<T, E>> for Result<TAs, EAs>
    where\n TAs: DeserializeAs<'de, T>,\n EAs: DeserializeAs<'de, E>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Result>","massa_factory_exports::error::FactoryResult"],["
    §

    impl<I, O, E> Finish<I, O, E> for Result<(I, O), Err<E>>

    §

    fn finish(self) -> Result<(I, O), E>

    converts the parser’s result to a type that is more consumable by error\nmanagement libraries. It keeps the same Ok branch, and merges Err::Error\nand Err::Failure into the Err side. Read more
    ","Finish","massa_factory_exports::error::FactoryResult"],["
    source§

    impl From<&StreamResult> for Result<MZStatus, MZError>

    source§

    fn from(res: &StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From<&StreamResult>","massa_factory_exports::error::FactoryResult"],["
    §

    impl From<&StreamResult> for Result<MZStatus, MZError>

    §

    fn from(res: &StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From<&StreamResult>","massa_factory_exports::error::FactoryResult"],["
    §

    impl From<Errors> for Result<(), Errors>

    §

    fn from(e: Errors) -> Result<(), Errors>

    Converts to this type from the input type.
    ","From","massa_factory_exports::error::FactoryResult"],["
    §

    impl From<Result> for Result<(), Unspecified>

    §

    fn from(ret: Result) -> Result<(), Unspecified>

    Converts to this type from the input type.
    ","From","massa_factory_exports::error::FactoryResult"],["
    source§

    impl From<StreamResult> for Result<MZStatus, MZError>

    source§

    fn from(res: StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From","massa_factory_exports::error::FactoryResult"],["
    §

    impl From<StreamResult> for Result<MZStatus, MZError>

    §

    fn from(res: StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
    where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>
    where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","massa_factory_exports::error::FactoryResult"],["
    §

    impl<C, T, E> FromParallelIterator<Result<T, E>> for Result<C, E>
    where\n C: FromParallelIterator<T>,\n T: Send,\n E: Send,

    Collect an arbitrary Result-wrapped collection.

    \n

    If any item is Err, then all previous Ok items collected are\ndiscarded, and it returns that error. If there are multiple errors, the\none returned is not deterministic.

    \n
    §

    fn from_par_iter<I>(par_iter: I) -> Result<C, E>
    where\n I: IntoParallelIterator<Item = Result<T, E>>,

    Creates an instance of the collection from the parallel iterator par_iter. Read more
    ","FromParallelIterator>","massa_factory_exports::error::FactoryResult"],["
    §

    impl<S, T> FromRequest<S> for Result<T, <T as FromRequest<S>>::Rejection>
    where\n T: FromRequest<S>,\n S: Send + Sync,

    §

    type Rejection = Infallible

    If the extractor fails it’ll use this “rejection” type. A rejection is\na kind of error that can be converted into a response.
    §

    fn from_request<'life0, 'async_trait>(\n req: Request<Body>,\n state: &'life0 S,\n) -> Pin<Box<dyn Future<Output = Result<Result<T, <T as FromRequest<S>>::Rejection>, <Result<T, <T as FromRequest<S>>::Rejection> as FromRequest<S>>::Rejection>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n Result<T, <T as FromRequest<S>>::Rejection>: 'async_trait,

    Perform the extraction.
    ","FromRequest","massa_factory_exports::error::FactoryResult"],["
    §

    impl<S, T> FromRequestParts<S> for Result<T, <T as FromRequestParts<S>>::Rejection>
    where\n T: FromRequestParts<S>,\n S: Send + Sync,

    §

    type Rejection = Infallible

    If the extractor fails it’ll use this “rejection” type. A rejection is\na kind of error that can be converted into a response.
    §

    fn from_request_parts<'life0, 'life1, 'async_trait>(\n parts: &'life0 mut Parts,\n state: &'life1 S,\n) -> Pin<Box<dyn Future<Output = Result<Result<T, <T as FromRequestParts<S>>::Rejection>, <Result<T, <T as FromRequestParts<S>>::Rejection> as FromRequestParts<S>>::Rejection>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n 'life1: 'async_trait,\n Result<T, <T as FromRequestParts<S>>::Rejection>: 'async_trait,

    Perform the extraction.
    ","FromRequestParts","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>
    where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)
    where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_factory_exports::error::FactoryResult"],["
    §

    impl<B, E> IntoMapRequestResult<B> for Result<Request<B>, E>
    where\n E: IntoResponse,

    §

    fn into_map_request_result(self) -> Result<Request<B>, Response<Body>>

    Perform the conversion.
    ","IntoMapRequestResult","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T, E> IntoParallelIterator for Result<T, E>
    where\n T: Send,

    §

    type Item = T

    The type of item that the parallel iterator will produce.
    §

    type Iter = IntoIter<T>

    The parallel iterator type that will be created.
    §

    fn into_par_iter(self) -> <Result<T, E> as IntoParallelIterator>::Iter

    Converts self into a parallel iterator. Read more
    ","IntoParallelIterator","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T, E> IntoResponse for Result<T, E>
    where\n T: IntoResponse,\n E: IntoResponse,

    §

    fn into_response(self) -> Response<Body>

    Create a response.
    ","IntoResponse","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T> IntoResponse for Result<T, ErrorResponse>
    where\n T: IntoResponse,

    §

    fn into_response(self) -> Response<Body>

    Create a response.
    ","IntoResponse","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T, E> JsonSchema for Result<T, E>
    where\n T: JsonSchema,\n E: JsonSchema,

    §

    fn schema_name() -> String

    The name of the generated JSON Schema. Read more
    §

    fn schema_id() -> Cow<'static, str>

    Returns a string that uniquely identifies the schema produced by this type. Read more
    §

    fn json_schema(gen: &mut SchemaGenerator) -> Schema

    Generates a JSON Schema for this type. Read more
    §

    fn is_referenceable() -> bool

    Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
    ","JsonSchema","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>
    where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T, U, E, F> PartialEq<ArchivedResult<T, E>> for Result<U, F>
    where\n T: PartialEq<U>,\n E: PartialEq<F>,

    §

    fn eq(&self, other: &ArchivedResult<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>
    where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>
    where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T> ProcErrorExt for Result<T, ProcError>

    §

    fn error_path(self, path: &Path) -> Result<T, ProcError>

    Add path information to the error.
    ","ProcErrorExt","massa_factory_exports::error::FactoryResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>
    where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    §Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    §Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    §Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    §Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    §Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    §Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    §Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok(\"hello\"));\nassert_eq!(Ok(\"hello\"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok(\"hello\")));\nassert_eq!(Ok(Ok(\"hello\")), x.flatten());\nassert_eq!(Ok(\"hello\"), x.flatten().flatten());
    \n
    ",0,"massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    §Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    §Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> U
    where\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
    where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    §Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    §Examples
    \n
    fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
    \n
    1.76.0 · source

    pub fn inspect<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&T),

    Calls a function with a reference to the contained value if Ok.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
    \n
    1.76.0 · source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&E),

    Calls a function with a reference to the contained value if Err.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
    where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    §Examples
    \n
    let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
    where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    §Examples
    \n
    let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
    \n
    §Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> T
    where\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    §Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
    \n
    source

    pub fn into_ok(self) -> T
    where\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    §Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
    \n
    source

    pub fn into_err(self) -> E
    where\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    §Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    §Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    §Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> T
    where\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    §Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    §Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    §Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
    \n
    ",0,"massa_factory_exports::error::FactoryResult"],["
    §

    impl<T, E, S> Serialize<S> for Result<T, E>
    where\n T: Serialize<S>,\n E: Serialize<S>,\n S: Fallible + ?Sized,

    §

    fn serialize(\n &self,\n serializer: &mut S,\n) -> Result<<Result<T, E> as Archive>::Resolver, <S as Fallible>::Error>

    Writes the dependencies for the object and returns a resolver that can create the archived\ntype.
    ","Serialize","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>
    where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, TAs, E, EAs> SerializeAs<Result<T, E>> for Result<TAs, EAs>
    where\n TAs: SerializeAs<T>,\n EAs: SerializeAs<E>,

    source§

    fn serialize_as<S>(\n source: &Result<T, E>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_factory_exports::error::FactoryResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
    where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    §Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
    \n
    ","Sum>","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T, E> TapFallible for Result<T, E>

    §

    type Ok = T

    The interior type used to indicate a successful construction.
    §

    type Err = E

    The interior type used to indicate a failed construction.
    §

    fn tap_ok(self, func: impl FnOnce(&T)) -> Result<T, E>

    Immutably accesses an interior success value. Read more
    §

    fn tap_ok_mut(self, func: impl FnOnce(&mut T)) -> Result<T, E>

    Mutably accesses an interior success value. Read more
    §

    fn tap_err(self, func: impl FnOnce(&E)) -> Result<T, E>

    Immutably accesses an interior failure value. Read more
    §

    fn tap_err_mut(self, func: impl FnOnce(&mut E)) -> Result<T, E>

    Mutably accesses an interior failure value. Read more
    §

    fn tap_ok_dbg(self, func: impl FnOnce(&Self::Ok)) -> Self

    Calls .tap_ok() only in debug builds, and is erased in release builds.
    §

    fn tap_ok_mut_dbg(self, func: impl FnOnce(&mut Self::Ok)) -> Self

    Calls .tap_ok_mut() only in debug builds, and is erased in release\nbuilds.
    §

    fn tap_err_dbg(self, func: impl FnOnce(&Self::Err)) -> Self

    Calls .tap_err() only in debug builds, and is erased in release\nbuilds.
    §

    fn tap_err_mut_dbg(self, func: impl FnOnce(&mut Self::Err)) -> Self

    Calls .tap_err_mut() only in debug builds, and is erased in release\nbuilds.
    ","TapFallible","massa_factory_exports::error::FactoryResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>
    where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self,\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T, E> TryWriteable for Result<T, E>
    where\n T: Writeable,\n E: Writeable + Clone,

    §

    type Error = E

    §

    fn try_write_to<W>(\n &self,\n sink: &mut W,\n) -> Result<Result<(), <Result<T, E> as TryWriteable>::Error>, Error>
    where\n W: Write + ?Sized,

    Writes the content of this writeable to a sink. Read more
    §

    fn try_write_to_parts<S>(\n &self,\n sink: &mut S,\n) -> Result<Result<(), <Result<T, E> as TryWriteable>::Error>, Error>
    where\n S: PartsWrite + ?Sized,

    Writes the content of this writeable to a sink with parts (annotations). Read more
    §

    fn writeable_length_hint(&self) -> LengthHint

    Returns a hint for the number of UTF-8 bytes that will be written to the sink. Read more
    §

    fn try_write_to_string(\n &self,\n) -> Result<Cow<'_, str>, (<Result<T, E> as TryWriteable>::Error, Cow<'_, str>)>

    Writes the content of this writeable to a string. Read more
    §

    fn writeable_cmp_bytes(&self, other: &[u8]) -> Ordering

    Compares the content of this writeable to a byte slice. Read more
    ","TryWriteable","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>
    where\n T: Copy,\n E: Copy,

    ","Copy","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>
    where\n T: Eq,\n E: Eq,

    ","Eq","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T, U, E> FromStream<Result<T, E>> for Result<U, E>
    where\n U: FromStream<T>,

    ","FromStream>","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","massa_factory_exports::error::FactoryResult"]], -"massa_models":[["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>
    where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","massa_models::error::ModelsResult"],["
    source§

    impl<C, E> ControlFlow for Result<C, E>
    where\n C: ControlFlow,

    ","ControlFlow","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>
    where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_models::error::ModelsResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>
    where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_models::error::ModelsResult"],["
    source§

    impl<'de, T, TAs, E, EAs> DeserializeAs<'de, Result<T, E>> for Result<TAs, EAs>
    where\n TAs: DeserializeAs<'de, T>,\n EAs: DeserializeAs<'de, E>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Result>","massa_models::error::ModelsResult"],["
    §

    impl<I, O, E> Finish<I, O, E> for Result<(I, O), Err<E>>

    §

    fn finish(self) -> Result<(I, O), E>

    converts the parser’s result to a type that is more consumable by error\nmanagement libraries. It keeps the same Ok branch, and merges Err::Error\nand Err::Failure into the Err side. Read more
    ","Finish","massa_models::error::ModelsResult"],["
    source§

    impl From<&StreamResult> for Result<MZStatus, MZError>

    source§

    fn from(res: &StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From<&StreamResult>","massa_models::error::ModelsResult"],["
    §

    impl From<&StreamResult> for Result<MZStatus, MZError>

    §

    fn from(res: &StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From<&StreamResult>","massa_models::error::ModelsResult"],["
    §

    impl From<Result> for Result<(), Unspecified>

    §

    fn from(ret: Result) -> Result<(), Unspecified>

    Converts to this type from the input type.
    ","From","massa_models::error::ModelsResult"],["
    source§

    impl From<StreamResult> for Result<MZStatus, MZError>

    source§

    fn from(res: StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From","massa_models::error::ModelsResult"],["
    §

    impl From<StreamResult> for Result<MZStatus, MZError>

    §

    fn from(res: StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
    where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>
    where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","massa_models::error::ModelsResult"],["
    §

    impl<S, T> FromRequest<S> for Result<T, <T as FromRequest<S>>::Rejection>
    where\n T: FromRequest<S>,\n S: Send + Sync,

    §

    type Rejection = Infallible

    If the extractor fails it’ll use this “rejection” type. A rejection is\na kind of error that can be converted into a response.
    §

    fn from_request<'life0, 'async_trait>(\n req: Request<Body>,\n state: &'life0 S,\n) -> Pin<Box<dyn Future<Output = Result<Result<T, <T as FromRequest<S>>::Rejection>, <Result<T, <T as FromRequest<S>>::Rejection> as FromRequest<S>>::Rejection>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n Result<T, <T as FromRequest<S>>::Rejection>: 'async_trait,

    Perform the extraction.
    ","FromRequest","massa_models::error::ModelsResult"],["
    §

    impl<S, T> FromRequestParts<S> for Result<T, <T as FromRequestParts<S>>::Rejection>
    where\n T: FromRequestParts<S>,\n S: Send + Sync,

    §

    type Rejection = Infallible

    If the extractor fails it’ll use this “rejection” type. A rejection is\na kind of error that can be converted into a response.
    §

    fn from_request_parts<'life0, 'life1, 'async_trait>(\n parts: &'life0 mut Parts,\n state: &'life1 S,\n) -> Pin<Box<dyn Future<Output = Result<Result<T, <T as FromRequestParts<S>>::Rejection>, <Result<T, <T as FromRequestParts<S>>::Rejection> as FromRequestParts<S>>::Rejection>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n 'life1: 'async_trait,\n Result<T, <T as FromRequestParts<S>>::Rejection>: 'async_trait,

    Perform the extraction.
    ","FromRequestParts","massa_models::error::ModelsResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","massa_models::error::ModelsResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>
    where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)
    where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_models::error::ModelsResult"],["
    §

    impl<B, E> IntoMapRequestResult<B> for Result<Request<B>, E>
    where\n E: IntoResponse,

    §

    fn into_map_request_result(self) -> Result<Request<B>, Response<Body>>

    Perform the conversion.
    ","IntoMapRequestResult","massa_models::error::ModelsResult"],["
    §

    impl<T, E> IntoResponse for Result<T, E>
    where\n T: IntoResponse,\n E: IntoResponse,

    §

    fn into_response(self) -> Response<Body>

    Create a response.
    ","IntoResponse","massa_models::error::ModelsResult"],["
    §

    impl<T> IntoResponse for Result<T, ErrorResponse>
    where\n T: IntoResponse,

    §

    fn into_response(self) -> Response<Body>

    Create a response.
    ","IntoResponse","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>
    where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>
    where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>
    where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd","massa_models::error::ModelsResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>
    where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    §Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","massa_models::error::ModelsResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","massa_models::error::ModelsResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    §Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    §Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"massa_models::error::ModelsResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    §Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    §Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"massa_models::error::ModelsResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    §Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"massa_models::error::ModelsResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    §Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok(\"hello\"));\nassert_eq!(Ok(\"hello\"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok(\"hello\")));\nassert_eq!(Ok(Ok(\"hello\")), x.flatten());\nassert_eq!(Ok(\"hello\"), x.flatten().flatten());
    \n
    ",0,"massa_models::error::ModelsResult"],["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    §Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    §Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> U
    where\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
    where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    §Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    §Examples
    \n
    fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
    \n
    1.76.0 · source

    pub fn inspect<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&T),

    Calls a function with a reference to the contained value if Ok.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
    \n
    1.76.0 · source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&E),

    Calls a function with a reference to the contained value if Err.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
    where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    §Examples
    \n
    let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
    where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    §Examples
    \n
    let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
    \n
    §Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> T
    where\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    §Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
    \n
    source

    pub fn into_ok(self) -> T
    where\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    §Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
    \n
    source

    pub fn into_err(self) -> E
    where\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    §Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    §Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    §Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> T
    where\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    §Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    §Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    §Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
    \n
    ",0,"massa_models::error::ModelsResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>
    where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_models::error::ModelsResult"],["
    source§

    impl<T, TAs, E, EAs> SerializeAs<Result<T, E>> for Result<TAs, EAs>
    where\n TAs: SerializeAs<T>,\n EAs: SerializeAs<E>,

    source§

    fn serialize_as<S>(\n source: &Result<T, E>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::error::ModelsResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
    where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    §Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
    \n
    ","Sum>","massa_models::error::ModelsResult"],["
    §

    impl<T, E> TapFallible for Result<T, E>

    §

    type Ok = T

    The interior type used to indicate a successful construction.
    §

    type Err = E

    The interior type used to indicate a failed construction.
    §

    fn tap_ok(self, func: impl FnOnce(&T)) -> Result<T, E>

    Immutably accesses an interior success value. Read more
    §

    fn tap_ok_mut(self, func: impl FnOnce(&mut T)) -> Result<T, E>

    Mutably accesses an interior success value. Read more
    §

    fn tap_err(self, func: impl FnOnce(&E)) -> Result<T, E>

    Immutably accesses an interior failure value. Read more
    §

    fn tap_err_mut(self, func: impl FnOnce(&mut E)) -> Result<T, E>

    Mutably accesses an interior failure value. Read more
    §

    fn tap_ok_dbg(self, func: impl FnOnce(&Self::Ok)) -> Self

    Calls .tap_ok() only in debug builds, and is erased in release builds.
    §

    fn tap_ok_mut_dbg(self, func: impl FnOnce(&mut Self::Ok)) -> Self

    Calls .tap_ok_mut() only in debug builds, and is erased in release\nbuilds.
    §

    fn tap_err_dbg(self, func: impl FnOnce(&Self::Err)) -> Self

    Calls .tap_err() only in debug builds, and is erased in release\nbuilds.
    §

    fn tap_err_mut_dbg(self, func: impl FnOnce(&mut Self::Err)) -> Self

    Calls .tap_err_mut() only in debug builds, and is erased in release\nbuilds.
    ","TapFallible","massa_models::error::ModelsResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>
    where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","massa_models::error::ModelsResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self,\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>
    where\n T: Copy,\n E: Copy,

    ","Copy","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>
    where\n T: Eq,\n E: Eq,

    ","Eq","massa_models::error::ModelsResult"],["
    §

    impl<T, U, E> FromStream<Result<T, E>> for Result<U, E>
    where\n U: FromStream<T>,

    ","FromStream>","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","massa_models::error::ModelsResult"]], -"massa_pos_exports":[["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>
    where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","massa_pos_exports::error::PosResult"],["
    source§

    impl<C, E> ControlFlow for Result<C, E>
    where\n C: ControlFlow,

    ","ControlFlow","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>
    where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_pos_exports::error::PosResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>
    where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_pos_exports::error::PosResult"],["
    source§

    impl<'de, T, TAs, E, EAs> DeserializeAs<'de, Result<T, E>> for Result<TAs, EAs>
    where\n TAs: DeserializeAs<'de, T>,\n EAs: DeserializeAs<'de, E>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Result>","massa_pos_exports::error::PosResult"],["
    §

    impl<I, O, E> Finish<I, O, E> for Result<(I, O), Err<E>>

    §

    fn finish(self) -> Result<(I, O), E>

    converts the parser’s result to a type that is more consumable by error\nmanagement libraries. It keeps the same Ok branch, and merges Err::Error\nand Err::Failure into the Err side. Read more
    ","Finish","massa_pos_exports::error::PosResult"],["
    source§

    impl From<&StreamResult> for Result<MZStatus, MZError>

    source§

    fn from(res: &StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From<&StreamResult>","massa_pos_exports::error::PosResult"],["
    §

    impl From<&StreamResult> for Result<MZStatus, MZError>

    §

    fn from(res: &StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From<&StreamResult>","massa_pos_exports::error::PosResult"],["
    §

    impl From<Result> for Result<(), Unspecified>

    §

    fn from(ret: Result) -> Result<(), Unspecified>

    Converts to this type from the input type.
    ","From","massa_pos_exports::error::PosResult"],["
    source§

    impl From<StreamResult> for Result<MZStatus, MZError>

    source§

    fn from(res: StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From","massa_pos_exports::error::PosResult"],["
    §

    impl From<StreamResult> for Result<MZStatus, MZError>

    §

    fn from(res: StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
    where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>
    where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","massa_pos_exports::error::PosResult"],["
    §

    impl<S, T> FromRequest<S> for Result<T, <T as FromRequest<S>>::Rejection>
    where\n T: FromRequest<S>,\n S: Send + Sync,

    §

    type Rejection = Infallible

    If the extractor fails it’ll use this “rejection” type. A rejection is\na kind of error that can be converted into a response.
    §

    fn from_request<'life0, 'async_trait>(\n req: Request<Body>,\n state: &'life0 S,\n) -> Pin<Box<dyn Future<Output = Result<Result<T, <T as FromRequest<S>>::Rejection>, <Result<T, <T as FromRequest<S>>::Rejection> as FromRequest<S>>::Rejection>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n Result<T, <T as FromRequest<S>>::Rejection>: 'async_trait,

    Perform the extraction.
    ","FromRequest","massa_pos_exports::error::PosResult"],["
    §

    impl<S, T> FromRequestParts<S> for Result<T, <T as FromRequestParts<S>>::Rejection>
    where\n T: FromRequestParts<S>,\n S: Send + Sync,

    §

    type Rejection = Infallible

    If the extractor fails it’ll use this “rejection” type. A rejection is\na kind of error that can be converted into a response.
    §

    fn from_request_parts<'life0, 'life1, 'async_trait>(\n parts: &'life0 mut Parts,\n state: &'life1 S,\n) -> Pin<Box<dyn Future<Output = Result<Result<T, <T as FromRequestParts<S>>::Rejection>, <Result<T, <T as FromRequestParts<S>>::Rejection> as FromRequestParts<S>>::Rejection>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n 'life1: 'async_trait,\n Result<T, <T as FromRequestParts<S>>::Rejection>: 'async_trait,

    Perform the extraction.
    ","FromRequestParts","massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>
    where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)
    where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_pos_exports::error::PosResult"],["
    §

    impl<B, E> IntoMapRequestResult<B> for Result<Request<B>, E>
    where\n E: IntoResponse,

    §

    fn into_map_request_result(self) -> Result<Request<B>, Response<Body>>

    Perform the conversion.
    ","IntoMapRequestResult","massa_pos_exports::error::PosResult"],["
    §

    impl<T, E> IntoResponse for Result<T, E>
    where\n T: IntoResponse,\n E: IntoResponse,

    §

    fn into_response(self) -> Response<Body>

    Create a response.
    ","IntoResponse","massa_pos_exports::error::PosResult"],["
    §

    impl<T> IntoResponse for Result<T, ErrorResponse>
    where\n T: IntoResponse,

    §

    fn into_response(self) -> Response<Body>

    Create a response.
    ","IntoResponse","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>
    where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>
    where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>
    where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd","massa_pos_exports::error::PosResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>
    where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    §Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    §Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    §Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    §Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    §Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    §Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    §Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok(\"hello\"));\nassert_eq!(Ok(\"hello\"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok(\"hello\")));\nassert_eq!(Ok(Ok(\"hello\")), x.flatten());\nassert_eq!(Ok(\"hello\"), x.flatten().flatten());
    \n
    ",0,"massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    §Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    §Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> U
    where\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
    where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    §Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    §Examples
    \n
    fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
    \n
    1.76.0 · source

    pub fn inspect<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&T),

    Calls a function with a reference to the contained value if Ok.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
    \n
    1.76.0 · source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&E),

    Calls a function with a reference to the contained value if Err.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
    where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    §Examples
    \n
    let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
    where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    §Examples
    \n
    let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
    \n
    §Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> T
    where\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    §Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
    \n
    source

    pub fn into_ok(self) -> T
    where\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    §Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
    \n
    source

    pub fn into_err(self) -> E
    where\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    §Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    §Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    §Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> T
    where\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    §Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    §Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    §Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
    \n
    ",0,"massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>
    where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_pos_exports::error::PosResult"],["
    source§

    impl<T, TAs, E, EAs> SerializeAs<Result<T, E>> for Result<TAs, EAs>
    where\n TAs: SerializeAs<T>,\n EAs: SerializeAs<E>,

    source§

    fn serialize_as<S>(\n source: &Result<T, E>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_pos_exports::error::PosResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
    where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    §Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
    \n
    ","Sum>","massa_pos_exports::error::PosResult"],["
    §

    impl<T, E> TapFallible for Result<T, E>

    §

    type Ok = T

    The interior type used to indicate a successful construction.
    §

    type Err = E

    The interior type used to indicate a failed construction.
    §

    fn tap_ok(self, func: impl FnOnce(&T)) -> Result<T, E>

    Immutably accesses an interior success value. Read more
    §

    fn tap_ok_mut(self, func: impl FnOnce(&mut T)) -> Result<T, E>

    Mutably accesses an interior success value. Read more
    §

    fn tap_err(self, func: impl FnOnce(&E)) -> Result<T, E>

    Immutably accesses an interior failure value. Read more
    §

    fn tap_err_mut(self, func: impl FnOnce(&mut E)) -> Result<T, E>

    Mutably accesses an interior failure value. Read more
    §

    fn tap_ok_dbg(self, func: impl FnOnce(&Self::Ok)) -> Self

    Calls .tap_ok() only in debug builds, and is erased in release builds.
    §

    fn tap_ok_mut_dbg(self, func: impl FnOnce(&mut Self::Ok)) -> Self

    Calls .tap_ok_mut() only in debug builds, and is erased in release\nbuilds.
    §

    fn tap_err_dbg(self, func: impl FnOnce(&Self::Err)) -> Self

    Calls .tap_err() only in debug builds, and is erased in release\nbuilds.
    §

    fn tap_err_mut_dbg(self, func: impl FnOnce(&mut Self::Err)) -> Self

    Calls .tap_err_mut() only in debug builds, and is erased in release\nbuilds.
    ","TapFallible","massa_pos_exports::error::PosResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>
    where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self,\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>
    where\n T: Copy,\n E: Copy,

    ","Copy","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>
    where\n T: Eq,\n E: Eq,

    ","Eq","massa_pos_exports::error::PosResult"],["
    §

    impl<T, U, E> FromStream<Result<T, E>> for Result<U, E>
    where\n U: FromStream<T>,

    ","FromStream>","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","massa_pos_exports::error::PosResult"]] +"massa_factory_exports":[["
    §

    impl<T, E> Archive for Result<T, E>
    where\n T: Archive,\n E: Archive,

    §

    type Archived = ArchivedResult<<T as Archive>::Archived, <E as Archive>::Archived>

    The archived representation of this type. Read more
    §

    type Resolver = Result<<T as Archive>::Resolver, <E as Archive>::Resolver>

    The resolver for this type. It must contain all the additional information from serializing\nneeded to make the archived type from the normal type.
    §

    unsafe fn resolve(\n &self,\n pos: usize,\n resolver: <Result<T, E> as Archive>::Resolver,\n out: *mut <Result<T, E> as Archive>::Archived,\n)

    Creates the archived version of this value at the given position and writes it to the given\noutput. Read more
    ","Archive","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>
    where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Context<T, E> for Result<T, E>
    where\n E: StdError + Send + Sync + 'static,

    source§

    fn context<C>(self, context: C) -> Result<T, Error>
    where\n C: Display + Send + Sync + 'static,

    Wrap the error value with additional context.
    source§

    fn with_context<C, F>(self, context: F) -> Result<T, Error>
    where\n C: Display + Send + Sync + 'static,\n F: FnOnce() -> C,

    Wrap the error value with additional context that is evaluated lazily\nonly once an error does occur.
    ","Context","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<C, E> ControlFlow for Result<C, E>
    where\n C: ControlFlow,

    ","ControlFlow","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>
    where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>
    where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<'de, T, TAs, E, EAs> DeserializeAs<'de, Result<T, E>> for Result<TAs, EAs>
    where\n TAs: DeserializeAs<'de, T>,\n EAs: DeserializeAs<'de, E>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Result>","massa_factory_exports::error::FactoryResult"],["
    §

    impl<I, O, E> Finish<I, O, E> for Result<(I, O), Err<E>>

    §

    fn finish(self) -> Result<(I, O), E>

    converts the parser’s result to a type that is more consumable by error\nmanagement libraries. It keeps the same Ok branch, and merges Err::Error\nand Err::Failure into the Err side. Read more
    ","Finish","massa_factory_exports::error::FactoryResult"],["
    source§

    impl From<&StreamResult> for Result<MZStatus, MZError>

    source§

    fn from(res: &StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From<&StreamResult>","massa_factory_exports::error::FactoryResult"],["
    §

    impl From<&StreamResult> for Result<MZStatus, MZError>

    §

    fn from(res: &StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From<&StreamResult>","massa_factory_exports::error::FactoryResult"],["
    §

    impl From<Errors> for Result<(), Errors>

    §

    fn from(e: Errors) -> Result<(), Errors>

    Converts to this type from the input type.
    ","From","massa_factory_exports::error::FactoryResult"],["
    §

    impl From<Result> for Result<(), Unspecified>

    §

    fn from(ret: Result) -> Result<(), Unspecified>

    Converts to this type from the input type.
    ","From","massa_factory_exports::error::FactoryResult"],["
    source§

    impl From<StreamResult> for Result<MZStatus, MZError>

    source§

    fn from(res: StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From","massa_factory_exports::error::FactoryResult"],["
    §

    impl From<StreamResult> for Result<MZStatus, MZError>

    §

    fn from(res: StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
    where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>
    where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","massa_factory_exports::error::FactoryResult"],["
    §

    impl<C, T, E> FromParallelIterator<Result<T, E>> for Result<C, E>
    where\n C: FromParallelIterator<T>,\n T: Send,\n E: Send,

    Collect an arbitrary Result-wrapped collection.

    \n

    If any item is Err, then all previous Ok items collected are\ndiscarded, and it returns that error. If there are multiple errors, the\none returned is not deterministic.

    \n
    §

    fn from_par_iter<I>(par_iter: I) -> Result<C, E>
    where\n I: IntoParallelIterator<Item = Result<T, E>>,

    Creates an instance of the collection from the parallel iterator par_iter. Read more
    ","FromParallelIterator>","massa_factory_exports::error::FactoryResult"],["
    §

    impl<S, T> FromRequest<S> for Result<T, <T as FromRequest<S>>::Rejection>
    where\n T: FromRequest<S>,\n S: Send + Sync,

    §

    type Rejection = Infallible

    If the extractor fails it’ll use this “rejection” type. A rejection is\na kind of error that can be converted into a response.
    §

    fn from_request<'life0, 'async_trait>(\n req: Request<Body>,\n state: &'life0 S,\n) -> Pin<Box<dyn Future<Output = Result<Result<T, <T as FromRequest<S>>::Rejection>, <Result<T, <T as FromRequest<S>>::Rejection> as FromRequest<S>>::Rejection>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n Result<T, <T as FromRequest<S>>::Rejection>: 'async_trait,

    Perform the extraction.
    ","FromRequest","massa_factory_exports::error::FactoryResult"],["
    §

    impl<S, T> FromRequestParts<S> for Result<T, <T as FromRequestParts<S>>::Rejection>
    where\n T: FromRequestParts<S>,\n S: Send + Sync,

    §

    type Rejection = Infallible

    If the extractor fails it’ll use this “rejection” type. A rejection is\na kind of error that can be converted into a response.
    §

    fn from_request_parts<'life0, 'life1, 'async_trait>(\n parts: &'life0 mut Parts,\n state: &'life1 S,\n) -> Pin<Box<dyn Future<Output = Result<Result<T, <T as FromRequestParts<S>>::Rejection>, <Result<T, <T as FromRequestParts<S>>::Rejection> as FromRequestParts<S>>::Rejection>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n 'life1: 'async_trait,\n Result<T, <T as FromRequestParts<S>>::Rejection>: 'async_trait,

    Perform the extraction.
    ","FromRequestParts","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>
    where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)
    where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_factory_exports::error::FactoryResult"],["
    §

    impl<B, E> IntoMapRequestResult<B> for Result<Request<B>, E>
    where\n E: IntoResponse,

    §

    fn into_map_request_result(self) -> Result<Request<B>, Response<Body>>

    Perform the conversion.
    ","IntoMapRequestResult","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T, E> IntoParallelIterator for Result<T, E>
    where\n T: Send,

    §

    type Item = T

    The type of item that the parallel iterator will produce.
    §

    type Iter = IntoIter<T>

    The parallel iterator type that will be created.
    §

    fn into_par_iter(self) -> <Result<T, E> as IntoParallelIterator>::Iter

    Converts self into a parallel iterator. Read more
    ","IntoParallelIterator","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T, E> IntoResponse for Result<T, E>
    where\n T: IntoResponse,\n E: IntoResponse,

    §

    fn into_response(self) -> Response<Body>

    Create a response.
    ","IntoResponse","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T> IntoResponse for Result<T, ErrorResponse>
    where\n T: IntoResponse,

    §

    fn into_response(self) -> Response<Body>

    Create a response.
    ","IntoResponse","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T, E> JsonSchema for Result<T, E>
    where\n T: JsonSchema,\n E: JsonSchema,

    §

    fn schema_name() -> String

    The name of the generated JSON Schema. Read more
    §

    fn schema_id() -> Cow<'static, str>

    Returns a string that uniquely identifies the schema produced by this type. Read more
    §

    fn json_schema(gen: &mut SchemaGenerator) -> Schema

    Generates a JSON Schema for this type. Read more
    §

    fn is_referenceable() -> bool

    Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
    ","JsonSchema","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>
    where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T, U, E, F> PartialEq<ArchivedResult<T, E>> for Result<U, F>
    where\n T: PartialEq<U>,\n E: PartialEq<F>,

    §

    fn eq(&self, other: &ArchivedResult<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>
    where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>
    where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T> ProcErrorExt for Result<T, ProcError>

    §

    fn error_path(self, path: &Path) -> Result<T, ProcError>

    Add path information to the error.
    ","ProcErrorExt","massa_factory_exports::error::FactoryResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>
    where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    §Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    §Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    §Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    §Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    §Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    §Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    §Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok(\"hello\"));\nassert_eq!(Ok(\"hello\"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok(\"hello\")));\nassert_eq!(Ok(Ok(\"hello\")), x.flatten());\nassert_eq!(Ok(\"hello\"), x.flatten().flatten());
    \n
    ",0,"massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    §Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    §Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> U
    where\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
    where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    §Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    §Examples
    \n
    fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
    \n
    1.76.0 · source

    pub fn inspect<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&T),

    Calls a function with a reference to the contained value if Ok.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
    \n
    1.76.0 · source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&E),

    Calls a function with a reference to the contained value if Err.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
    where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    §Examples
    \n
    let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
    where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    §Examples
    \n
    let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
    \n
    §Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> T
    where\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    §Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
    \n
    source

    pub fn into_ok(self) -> T
    where\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    §Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
    \n
    source

    pub fn into_err(self) -> E
    where\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    §Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    §Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    §Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> T
    where\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    §Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    §Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    §Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
    \n
    ",0,"massa_factory_exports::error::FactoryResult"],["
    §

    impl<T, E, S> Serialize<S> for Result<T, E>
    where\n T: Serialize<S>,\n E: Serialize<S>,\n S: Fallible + ?Sized,

    §

    fn serialize(\n &self,\n serializer: &mut S,\n) -> Result<<Result<T, E> as Archive>::Resolver, <S as Fallible>::Error>

    Writes the dependencies for the object and returns a resolver that can create the archived\ntype.
    ","Serialize","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>
    where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, TAs, E, EAs> SerializeAs<Result<T, E>> for Result<TAs, EAs>
    where\n TAs: SerializeAs<T>,\n EAs: SerializeAs<E>,

    source§

    fn serialize_as<S>(\n source: &Result<T, E>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_factory_exports::error::FactoryResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
    where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    §Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
    \n
    ","Sum>","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T, E> TapFallible for Result<T, E>

    §

    type Ok = T

    The interior type used to indicate a successful construction.
    §

    type Err = E

    The interior type used to indicate a failed construction.
    §

    fn tap_ok(self, func: impl FnOnce(&T)) -> Result<T, E>

    Immutably accesses an interior success value. Read more
    §

    fn tap_ok_mut(self, func: impl FnOnce(&mut T)) -> Result<T, E>

    Mutably accesses an interior success value. Read more
    §

    fn tap_err(self, func: impl FnOnce(&E)) -> Result<T, E>

    Immutably accesses an interior failure value. Read more
    §

    fn tap_err_mut(self, func: impl FnOnce(&mut E)) -> Result<T, E>

    Mutably accesses an interior failure value. Read more
    §

    fn tap_ok_dbg(self, func: impl FnOnce(&Self::Ok)) -> Self

    Calls .tap_ok() only in debug builds, and is erased in release builds.
    §

    fn tap_ok_mut_dbg(self, func: impl FnOnce(&mut Self::Ok)) -> Self

    Calls .tap_ok_mut() only in debug builds, and is erased in release\nbuilds.
    §

    fn tap_err_dbg(self, func: impl FnOnce(&Self::Err)) -> Self

    Calls .tap_err() only in debug builds, and is erased in release\nbuilds.
    §

    fn tap_err_mut_dbg(self, func: impl FnOnce(&mut Self::Err)) -> Self

    Calls .tap_err_mut() only in debug builds, and is erased in release\nbuilds.
    ","TapFallible","massa_factory_exports::error::FactoryResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>
    where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","massa_factory_exports::error::FactoryResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self,\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T, E> TryWriteable for Result<T, E>
    where\n T: Writeable,\n E: Writeable + Clone,

    §

    type Error = E

    §

    fn try_write_to<W>(\n &self,\n sink: &mut W,\n) -> Result<Result<(), <Result<T, E> as TryWriteable>::Error>, Error>
    where\n W: Write + ?Sized,

    Writes the content of this writeable to a sink. Read more
    §

    fn try_write_to_parts<S>(\n &self,\n sink: &mut S,\n) -> Result<Result<(), <Result<T, E> as TryWriteable>::Error>, Error>
    where\n S: PartsWrite + ?Sized,

    Writes the content of this writeable to a sink with parts (annotations). Read more
    §

    fn writeable_length_hint(&self) -> LengthHint

    Returns a hint for the number of UTF-8 bytes that will be written to the sink. Read more
    §

    fn try_write_to_string(\n &self,\n) -> Result<Cow<'_, str>, (<Result<T, E> as TryWriteable>::Error, Cow<'_, str>)>

    Writes the content of this writeable to a string. Read more
    §

    fn writeable_cmp_bytes(&self, other: &[u8]) -> Ordering

    Compares the content of this writeable to a byte slice. Read more
    ","TryWriteable","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>
    where\n T: Copy,\n E: Copy,

    ","Copy","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>
    where\n T: Eq,\n E: Eq,

    ","Eq","massa_factory_exports::error::FactoryResult"],["
    §

    impl<T, U, E> FromStream<Result<T, E>> for Result<U, E>
    where\n U: FromStream<T>,

    ","FromStream>","massa_factory_exports::error::FactoryResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","massa_factory_exports::error::FactoryResult"]], +"massa_models":[["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>
    where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","massa_models::error::ModelsResult"],["
    source§

    impl<C, E> ControlFlow for Result<C, E>
    where\n C: ControlFlow,

    ","ControlFlow","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>
    where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_models::error::ModelsResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>
    where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_models::error::ModelsResult"],["
    source§

    impl<'de, T, TAs, E, EAs> DeserializeAs<'de, Result<T, E>> for Result<TAs, EAs>
    where\n TAs: DeserializeAs<'de, T>,\n EAs: DeserializeAs<'de, E>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Result>","massa_models::error::ModelsResult"],["
    §

    impl<I, O, E> Finish<I, O, E> for Result<(I, O), Err<E>>

    §

    fn finish(self) -> Result<(I, O), E>

    converts the parser’s result to a type that is more consumable by error\nmanagement libraries. It keeps the same Ok branch, and merges Err::Error\nand Err::Failure into the Err side. Read more
    ","Finish","massa_models::error::ModelsResult"],["
    source§

    impl From<&StreamResult> for Result<MZStatus, MZError>

    source§

    fn from(res: &StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From<&StreamResult>","massa_models::error::ModelsResult"],["
    §

    impl From<&StreamResult> for Result<MZStatus, MZError>

    §

    fn from(res: &StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From<&StreamResult>","massa_models::error::ModelsResult"],["
    §

    impl From<Result> for Result<(), Unspecified>

    §

    fn from(ret: Result) -> Result<(), Unspecified>

    Converts to this type from the input type.
    ","From","massa_models::error::ModelsResult"],["
    source§

    impl From<StreamResult> for Result<MZStatus, MZError>

    source§

    fn from(res: StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From","massa_models::error::ModelsResult"],["
    §

    impl From<StreamResult> for Result<MZStatus, MZError>

    §

    fn from(res: StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
    where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>
    where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","massa_models::error::ModelsResult"],["
    §

    impl<S, T> FromRequest<S> for Result<T, <T as FromRequest<S>>::Rejection>
    where\n T: FromRequest<S>,\n S: Send + Sync,

    §

    type Rejection = Infallible

    If the extractor fails it’ll use this “rejection” type. A rejection is\na kind of error that can be converted into a response.
    §

    fn from_request<'life0, 'async_trait>(\n req: Request<Body>,\n state: &'life0 S,\n) -> Pin<Box<dyn Future<Output = Result<Result<T, <T as FromRequest<S>>::Rejection>, <Result<T, <T as FromRequest<S>>::Rejection> as FromRequest<S>>::Rejection>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n Result<T, <T as FromRequest<S>>::Rejection>: 'async_trait,

    Perform the extraction.
    ","FromRequest","massa_models::error::ModelsResult"],["
    §

    impl<S, T> FromRequestParts<S> for Result<T, <T as FromRequestParts<S>>::Rejection>
    where\n T: FromRequestParts<S>,\n S: Send + Sync,

    §

    type Rejection = Infallible

    If the extractor fails it’ll use this “rejection” type. A rejection is\na kind of error that can be converted into a response.
    §

    fn from_request_parts<'life0, 'life1, 'async_trait>(\n parts: &'life0 mut Parts,\n state: &'life1 S,\n) -> Pin<Box<dyn Future<Output = Result<Result<T, <T as FromRequestParts<S>>::Rejection>, <Result<T, <T as FromRequestParts<S>>::Rejection> as FromRequestParts<S>>::Rejection>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n 'life1: 'async_trait,\n Result<T, <T as FromRequestParts<S>>::Rejection>: 'async_trait,

    Perform the extraction.
    ","FromRequestParts","massa_models::error::ModelsResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","massa_models::error::ModelsResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>
    where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)
    where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_models::error::ModelsResult"],["
    §

    impl<B, E> IntoMapRequestResult<B> for Result<Request<B>, E>
    where\n E: IntoResponse,

    §

    fn into_map_request_result(self) -> Result<Request<B>, Response<Body>>

    Perform the conversion.
    ","IntoMapRequestResult","massa_models::error::ModelsResult"],["
    §

    impl<T, E> IntoResponse for Result<T, E>
    where\n T: IntoResponse,\n E: IntoResponse,

    §

    fn into_response(self) -> Response<Body>

    Create a response.
    ","IntoResponse","massa_models::error::ModelsResult"],["
    §

    impl<T> IntoResponse for Result<T, ErrorResponse>
    where\n T: IntoResponse,

    §

    fn into_response(self) -> Response<Body>

    Create a response.
    ","IntoResponse","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>
    where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>
    where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>
    where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd","massa_models::error::ModelsResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>
    where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    §Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","massa_models::error::ModelsResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","massa_models::error::ModelsResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    §Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    §Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"massa_models::error::ModelsResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    §Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    §Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"massa_models::error::ModelsResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    §Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"massa_models::error::ModelsResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    §Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok(\"hello\"));\nassert_eq!(Ok(\"hello\"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok(\"hello\")));\nassert_eq!(Ok(Ok(\"hello\")), x.flatten());\nassert_eq!(Ok(\"hello\"), x.flatten().flatten());
    \n
    ",0,"massa_models::error::ModelsResult"],["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    §Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    §Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> U
    where\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
    where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    §Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    §Examples
    \n
    fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
    \n
    1.76.0 · source

    pub fn inspect<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&T),

    Calls a function with a reference to the contained value if Ok.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
    \n
    1.76.0 · source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&E),

    Calls a function with a reference to the contained value if Err.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
    where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    §Examples
    \n
    let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
    where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    §Examples
    \n
    let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
    \n
    §Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> T
    where\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    §Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
    \n
    source

    pub fn into_ok(self) -> T
    where\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    §Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
    \n
    source

    pub fn into_err(self) -> E
    where\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    §Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    §Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    §Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> T
    where\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    §Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    §Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    §Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
    \n
    ",0,"massa_models::error::ModelsResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>
    where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_models::error::ModelsResult"],["
    source§

    impl<T, TAs, E, EAs> SerializeAs<Result<T, E>> for Result<TAs, EAs>
    where\n TAs: SerializeAs<T>,\n EAs: SerializeAs<E>,

    source§

    fn serialize_as<S>(\n source: &Result<T, E>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::error::ModelsResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
    where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    §Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
    \n
    ","Sum>","massa_models::error::ModelsResult"],["
    §

    impl<T, E> TapFallible for Result<T, E>

    §

    type Ok = T

    The interior type used to indicate a successful construction.
    §

    type Err = E

    The interior type used to indicate a failed construction.
    §

    fn tap_ok(self, func: impl FnOnce(&T)) -> Result<T, E>

    Immutably accesses an interior success value. Read more
    §

    fn tap_ok_mut(self, func: impl FnOnce(&mut T)) -> Result<T, E>

    Mutably accesses an interior success value. Read more
    §

    fn tap_err(self, func: impl FnOnce(&E)) -> Result<T, E>

    Immutably accesses an interior failure value. Read more
    §

    fn tap_err_mut(self, func: impl FnOnce(&mut E)) -> Result<T, E>

    Mutably accesses an interior failure value. Read more
    §

    fn tap_ok_dbg(self, func: impl FnOnce(&Self::Ok)) -> Self

    Calls .tap_ok() only in debug builds, and is erased in release builds.
    §

    fn tap_ok_mut_dbg(self, func: impl FnOnce(&mut Self::Ok)) -> Self

    Calls .tap_ok_mut() only in debug builds, and is erased in release\nbuilds.
    §

    fn tap_err_dbg(self, func: impl FnOnce(&Self::Err)) -> Self

    Calls .tap_err() only in debug builds, and is erased in release\nbuilds.
    §

    fn tap_err_mut_dbg(self, func: impl FnOnce(&mut Self::Err)) -> Self

    Calls .tap_err_mut() only in debug builds, and is erased in release\nbuilds.
    ","TapFallible","massa_models::error::ModelsResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>
    where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","massa_models::error::ModelsResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self,\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>
    where\n T: Copy,\n E: Copy,

    ","Copy","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>
    where\n T: Eq,\n E: Eq,

    ","Eq","massa_models::error::ModelsResult"],["
    §

    impl<T, U, E> FromStream<Result<T, E>> for Result<U, E>
    where\n U: FromStream<T>,

    ","FromStream>","massa_models::error::ModelsResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","massa_models::error::ModelsResult"]], +"massa_pos_exports":[["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>
    where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","massa_pos_exports::error::PosResult"],["
    source§

    impl<C, E> ControlFlow for Result<C, E>
    where\n C: ControlFlow,

    ","ControlFlow","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>
    where\n T: Debug,\n E: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_pos_exports::error::PosResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>
    where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_pos_exports::error::PosResult"],["
    source§

    impl<'de, T, TAs, E, EAs> DeserializeAs<'de, Result<T, E>> for Result<TAs, EAs>
    where\n TAs: DeserializeAs<'de, T>,\n EAs: DeserializeAs<'de, E>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Result>","massa_pos_exports::error::PosResult"],["
    §

    impl<I, O, E> Finish<I, O, E> for Result<(I, O), Err<E>>

    §

    fn finish(self) -> Result<(I, O), E>

    converts the parser’s result to a type that is more consumable by error\nmanagement libraries. It keeps the same Ok branch, and merges Err::Error\nand Err::Failure into the Err side. Read more
    ","Finish","massa_pos_exports::error::PosResult"],["
    source§

    impl From<&StreamResult> for Result<MZStatus, MZError>

    source§

    fn from(res: &StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From<&StreamResult>","massa_pos_exports::error::PosResult"],["
    §

    impl From<&StreamResult> for Result<MZStatus, MZError>

    §

    fn from(res: &StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From<&StreamResult>","massa_pos_exports::error::PosResult"],["
    §

    impl From<Result> for Result<(), Unspecified>

    §

    fn from(ret: Result) -> Result<(), Unspecified>

    Converts to this type from the input type.
    ","From","massa_pos_exports::error::PosResult"],["
    source§

    impl From<StreamResult> for Result<MZStatus, MZError>

    source§

    fn from(res: StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From","massa_pos_exports::error::PosResult"],["
    §

    impl From<StreamResult> for Result<MZStatus, MZError>

    §

    fn from(res: StreamResult) -> Result<MZStatus, MZError>

    Converts to this type from the input type.
    ","From","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
    where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>
    where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","massa_pos_exports::error::PosResult"],["
    §

    impl<S, T> FromRequest<S> for Result<T, <T as FromRequest<S>>::Rejection>
    where\n T: FromRequest<S>,\n S: Send + Sync,

    §

    type Rejection = Infallible

    If the extractor fails it’ll use this “rejection” type. A rejection is\na kind of error that can be converted into a response.
    §

    fn from_request<'life0, 'async_trait>(\n req: Request<Body>,\n state: &'life0 S,\n) -> Pin<Box<dyn Future<Output = Result<Result<T, <T as FromRequest<S>>::Rejection>, <Result<T, <T as FromRequest<S>>::Rejection> as FromRequest<S>>::Rejection>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n Result<T, <T as FromRequest<S>>::Rejection>: 'async_trait,

    Perform the extraction.
    ","FromRequest","massa_pos_exports::error::PosResult"],["
    §

    impl<S, T> FromRequestParts<S> for Result<T, <T as FromRequestParts<S>>::Rejection>
    where\n T: FromRequestParts<S>,\n S: Send + Sync,

    §

    type Rejection = Infallible

    If the extractor fails it’ll use this “rejection” type. A rejection is\na kind of error that can be converted into a response.
    §

    fn from_request_parts<'life0, 'life1, 'async_trait>(\n parts: &'life0 mut Parts,\n state: &'life1 S,\n) -> Pin<Box<dyn Future<Output = Result<Result<T, <T as FromRequestParts<S>>::Rejection>, <Result<T, <T as FromRequestParts<S>>::Rejection> as FromRequestParts<S>>::Rejection>> + Send + 'async_trait>>
    where\n 'life0: 'async_trait,\n 'life1: 'async_trait,\n Result<T, <T as FromRequestParts<S>>::Rejection>: 'async_trait,

    Perform the extraction.
    ","FromRequestParts","massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>
    where\n T: Hash,\n E: Hash,

    source§

    fn hash<__H>(&self, state: &mut __H)
    where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_pos_exports::error::PosResult"],["
    §

    impl<B, E> IntoMapRequestResult<B> for Result<Request<B>, E>
    where\n E: IntoResponse,

    §

    fn into_map_request_result(self) -> Result<Request<B>, Response<Body>>

    Perform the conversion.
    ","IntoMapRequestResult","massa_pos_exports::error::PosResult"],["
    §

    impl<T, E> IntoResponse for Result<T, E>
    where\n T: IntoResponse,\n E: IntoResponse,

    §

    fn into_response(self) -> Response<Body>

    Create a response.
    ","IntoResponse","massa_pos_exports::error::PosResult"],["
    §

    impl<T> IntoResponse for Result<T, ErrorResponse>
    where\n T: IntoResponse,

    §

    fn into_response(self) -> Response<Body>

    Create a response.
    ","IntoResponse","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>
    where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n 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\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>
    where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>
    where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> 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 <=\noperator. 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 >=\noperator. Read more
    ","PartialOrd","massa_pos_exports::error::PosResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>
    where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    §Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    §Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    §Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    §Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    §Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    §Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

    🔬This is a nightly-only experimental API. (result_flattening)

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    §Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok(\"hello\"));\nassert_eq!(Ok(\"hello\"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok(\"hello\")));\nassert_eq!(Ok(Ok(\"hello\")), x.flatten());\nassert_eq!(Ok(\"hello\"), x.flatten().flatten());
    \n
    ",0,"massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    §Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    §Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> U
    where\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
    where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    §Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    §Examples
    \n
    fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
    \n
    1.76.0 · source

    pub fn inspect<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&T),

    Calls a function with a reference to the contained value if Ok.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
    \n
    1.76.0 · source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&E),

    Calls a function with a reference to the contained value if Err.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
    where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    §Examples
    \n
    let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
    where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    §Examples
    \n
    let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
    \n
    §Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> T
    where\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    §Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
    \n
    source

    pub fn into_ok(self) -> T
    where\n E: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    §Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
    \n
    source

    pub fn into_err(self) -> E
    where\n T: Into<!>,

    🔬This is a nightly-only experimental API. (unwrap_infallible)

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    §Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    §Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    §Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> T
    where\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    §Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    §Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    §Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
    \n
    ",0,"massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>
    where\n T: Serialize,\n E: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_pos_exports::error::PosResult"],["
    source§

    impl<T, TAs, E, EAs> SerializeAs<Result<T, E>> for Result<TAs, EAs>
    where\n TAs: SerializeAs<T>,\n EAs: SerializeAs<E>,

    source§

    fn serialize_as<S>(\n source: &Result<T, E>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_pos_exports::error::PosResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
    where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    §Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
    \n
    ","Sum>","massa_pos_exports::error::PosResult"],["
    §

    impl<T, E> TapFallible for Result<T, E>

    §

    type Ok = T

    The interior type used to indicate a successful construction.
    §

    type Err = E

    The interior type used to indicate a failed construction.
    §

    fn tap_ok(self, func: impl FnOnce(&T)) -> Result<T, E>

    Immutably accesses an interior success value. Read more
    §

    fn tap_ok_mut(self, func: impl FnOnce(&mut T)) -> Result<T, E>

    Mutably accesses an interior success value. Read more
    §

    fn tap_err(self, func: impl FnOnce(&E)) -> Result<T, E>

    Immutably accesses an interior failure value. Read more
    §

    fn tap_err_mut(self, func: impl FnOnce(&mut E)) -> Result<T, E>

    Mutably accesses an interior failure value. Read more
    §

    fn tap_ok_dbg(self, func: impl FnOnce(&Self::Ok)) -> Self

    Calls .tap_ok() only in debug builds, and is erased in release builds.
    §

    fn tap_ok_mut_dbg(self, func: impl FnOnce(&mut Self::Ok)) -> Self

    Calls .tap_ok_mut() only in debug builds, and is erased in release\nbuilds.
    §

    fn tap_err_dbg(self, func: impl FnOnce(&Self::Err)) -> Self

    Calls .tap_err() only in debug builds, and is erased in release\nbuilds.
    §

    fn tap_err_mut_dbg(self, func: impl FnOnce(&mut Self::Err)) -> Self

    Calls .tap_err_mut() only in debug builds, and is erased in release\nbuilds.
    ","TapFallible","massa_pos_exports::error::PosResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>
    where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","massa_pos_exports::error::PosResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self,\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>
    where\n T: Copy,\n E: Copy,

    ","Copy","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>
    where\n T: Eq,\n E: Eq,

    ","Eq","massa_pos_exports::error::PosResult"],["
    §

    impl<T, U, E> FromStream<Result<T, E>> for Result<U, E>
    where\n U: FromStream<T>,

    ","FromStream>","massa_pos_exports::error::PosResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","massa_pos_exports::error::PosResult"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/massa_models/secure_share/struct.SecureShare.js b/type.impl/massa_models/secure_share/struct.SecureShare.js index 4170956d5ce..0be7275f493 100644 --- a/type.impl/massa_models/secure_share/struct.SecureShare.js +++ b/type.impl/massa_models/secure_share/struct.SecureShare.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"massa_models":[["
    source§

    impl<T, ID> Clone for SecureShare<T, ID>
    where\n T: Display + SecureShareContent + Clone,\n ID: Id + Clone,

    source§

    fn clone(&self) -> SecureShare<T, ID>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"],["
    source§

    impl<T, ID> Debug for SecureShare<T, ID>
    where\n T: Display + SecureShareContent + Debug,\n ID: Id + Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Debug","massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"],["
    source§

    impl<'de, T, ID> Deserialize<'de> for SecureShare<T, ID>
    where\n T: Display + SecureShareContent + Deserialize<'de>,\n ID: Id + Deserialize<'de>,

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"],["
    source§

    impl<T, ID> Display for SecureShare<T, ID>
    where\n T: Display + SecureShareContent,\n ID: Id,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Display","massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"],["
    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\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"],["
    source§

    impl<T, ID> SecureShare<T, ID>
    where\n T: Display + SecureShareContent,\n ID: Id,

    source

    pub fn sign(\n keypair: &KeyPair,\n content_hash: &Hash,\n _content: &T,\n) -> Result<Signature, ModelsError>

    Sign the SecureShare given the content

    \n
    source

    pub fn verify_signature(&self) -> Result<(), ModelsError>

    check if self has been signed by public key

    \n
    source

    pub fn compute_signed_hash(&self) -> Hash

    Compute the signed hash

    \n
    source

    pub fn serialized_size(&self) -> usize

    get full serialized size

    \n
    ",0,"massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"],["
    source§

    impl<T, ID> Serialize for SecureShare<T, ID>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"],["
    source§

    impl<T, ID> Eq for SecureShare<T, ID>
    where\n T: Display + SecureShareContent + Eq,\n ID: Id + Eq,

    ","Eq","massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"],["
    source§

    impl<T, ID> StructuralPartialEq for SecureShare<T, ID>
    where\n T: Display + SecureShareContent,\n ID: Id,

    ","StructuralPartialEq","massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"]] +"massa_models":[["
    source§

    impl<T, ID> Clone for SecureShare<T, ID>
    where\n T: Display + SecureShareContent + Clone,\n ID: Id + Clone,

    source§

    fn clone(&self) -> SecureShare<T, ID>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"],["
    source§

    impl<T, ID> Debug for SecureShare<T, ID>
    where\n T: Display + SecureShareContent + Debug,\n ID: Id + Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Debug","massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"],["
    source§

    impl<'de, T, ID> Deserialize<'de> for SecureShare<T, ID>
    where\n T: Display + SecureShareContent + Deserialize<'de>,\n ID: Id + Deserialize<'de>,

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"],["
    source§

    impl<T, ID> Display for SecureShare<T, ID>
    where\n T: Display + SecureShareContent,\n ID: Id,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Display","massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"],["
    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\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"],["
    source§

    impl<T, ID> SecureShare<T, ID>
    where\n T: Display + SecureShareContent,\n ID: Id,

    source

    pub fn sign(\n keypair: &KeyPair,\n content_hash: &Hash,\n _content: &T,\n) -> Result<Signature, ModelsError>

    Sign the SecureShare given the content

    \n
    source

    pub fn verify_signature(&self) -> Result<(), ModelsError>

    check if self has been signed by public key

    \n
    source

    pub fn compute_signed_hash(&self) -> Hash

    Compute the signed hash

    \n
    source

    pub fn serialized_size(&self) -> usize

    get full serialized size

    \n
    ",0,"massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"],["
    source§

    impl<T, ID> Serialize for SecureShare<T, ID>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"],["
    source§

    impl<T, ID> Eq for SecureShare<T, ID>
    where\n T: Display + SecureShareContent + Eq,\n ID: Id + Eq,

    ","Eq","massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"],["
    source§

    impl<T, ID> StructuralPartialEq for SecureShare<T, ID>
    where\n T: Display + SecureShareContent,\n ID: Id,

    ","StructuralPartialEq","massa_models::block::SecureShareBlock","massa_models::block_header::SecuredHeader","massa_models::endorsement::SecureShareEndorsement","massa_models::operation::SecureShareOperation"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/massa_models/types/enum.SetOrDelete.js b/type.impl/massa_models/types/enum.SetOrDelete.js index cc017be9553..79b3b352f97 100644 --- a/type.impl/massa_models/types/enum.SetOrDelete.js +++ b/type.impl/massa_models/types/enum.SetOrDelete.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"massa_deferred_calls":[["
    §

    impl<T> Applicable<SetOrDelete<T>> for SetOrDelete<T>
    where\n T: Clone,

    allows applying another SetOrDelete to the current one

    \n
    §

    fn apply(&mut self, other: SetOrDelete<T>)

    apply changes from other to mutable self
    ","Applicable>","massa_deferred_calls::DeferredRegistryCallChange"],["
    §

    impl<T> Clone for SetOrDelete<T>
    where\n T: Clone,

    §

    fn clone(&self) -> SetOrDelete<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","massa_deferred_calls::DeferredRegistryCallChange"],["
    §

    impl<T> Debug for SetOrDelete<T>
    where\n T: Debug + Clone,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_deferred_calls::DeferredRegistryCallChange"],["
    §

    impl<'de, T> Deserialize<'de> for SetOrDelete<T>
    where\n T: Clone + Deserialize<'de>,

    §

    fn deserialize<__D>(\n __deserializer: __D,\n) -> Result<SetOrDelete<T>, <__D as Deserializer<'de>>::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_deferred_calls::DeferredRegistryCallChange"],["
    §

    impl<T> PartialEq for SetOrDelete<T>
    where\n T: PartialEq + Clone,

    §

    fn eq(&self, other: &SetOrDelete<T>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_deferred_calls::DeferredRegistryCallChange"],["
    §

    impl<T> Serialize for SetOrDelete<T>
    where\n T: Clone + Serialize,

    §

    fn serialize<__S>(\n &self,\n __serializer: __S,\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_deferred_calls::DeferredRegistryCallChange"],["
    §

    impl<T> Eq for SetOrDelete<T>
    where\n T: Eq + Clone,

    ","Eq","massa_deferred_calls::DeferredRegistryCallChange"],["
    §

    impl<T> StructuralPartialEq for SetOrDelete<T>
    where\n T: Clone,

    ","StructuralPartialEq","massa_deferred_calls::DeferredRegistryCallChange"]] +"massa_deferred_calls":[["
    §

    impl<T> Applicable<SetOrDelete<T>> for SetOrDelete<T>
    where\n T: Clone,

    allows applying another SetOrDelete to the current one

    \n
    §

    fn apply(&mut self, other: SetOrDelete<T>)

    apply changes from other to mutable self
    ","Applicable>","massa_deferred_calls::DeferredRegistryCallChange"],["
    §

    impl<T> Clone for SetOrDelete<T>
    where\n T: Clone,

    §

    fn clone(&self) -> SetOrDelete<T>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","massa_deferred_calls::DeferredRegistryCallChange"],["
    §

    impl<T> Debug for SetOrDelete<T>
    where\n T: Debug + Clone,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_deferred_calls::DeferredRegistryCallChange"],["
    §

    impl<'de, T> Deserialize<'de> for SetOrDelete<T>
    where\n T: Clone + Deserialize<'de>,

    §

    fn deserialize<__D>(\n __deserializer: __D,\n) -> Result<SetOrDelete<T>, <__D as Deserializer<'de>>::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_deferred_calls::DeferredRegistryCallChange"],["
    §

    impl<T> PartialEq for SetOrDelete<T>
    where\n T: PartialEq + Clone,

    §

    fn eq(&self, other: &SetOrDelete<T>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_deferred_calls::DeferredRegistryCallChange"],["
    §

    impl<T> Serialize for SetOrDelete<T>
    where\n T: Clone + Serialize,

    §

    fn serialize<__S>(\n &self,\n __serializer: __S,\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_deferred_calls::DeferredRegistryCallChange"],["
    §

    impl<T> Eq for SetOrDelete<T>
    where\n T: Eq + Clone,

    ","Eq","massa_deferred_calls::DeferredRegistryCallChange"],["
    §

    impl<T> StructuralPartialEq for SetOrDelete<T>
    where\n T: Clone,

    ","StructuralPartialEq","massa_deferred_calls::DeferredRegistryCallChange"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/massa_models/types/enum.SetOrKeep.js b/type.impl/massa_models/types/enum.SetOrKeep.js index 9be34b1629f..3f22c085cb2 100644 --- a/type.impl/massa_models/types/enum.SetOrKeep.js +++ b/type.impl/massa_models/types/enum.SetOrKeep.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"massa_deferred_calls":[["
    §

    impl<T> Applicable<SetOrKeep<T>> for SetOrKeep<T>
    where\n T: Clone,

    allows applying another SetOrKeep to the current one

    \n
    §

    fn apply(&mut self, other: SetOrKeep<T>)

    apply changes from other to mutable self
    ","Applicable>","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<T> Clone for SetOrKeep<T>
    where\n T: Clone,

    §

    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
    ","Clone","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<T> Debug for SetOrKeep<T>
    where\n T: Debug + Clone,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<T> Default for SetOrKeep<T>
    where\n T: Clone,

    By default, SetOrKeep keeps the existing value

    \n
    §

    fn default() -> SetOrKeep<T>

    Returns the “default value” for a type. Read more
    ","Default","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<'de, T> Deserialize<'de> for SetOrKeep<T>
    where\n T: Clone + Deserialize<'de>,

    §

    fn deserialize<__D>(\n __deserializer: __D,\n) -> Result<SetOrKeep<T>, <__D as Deserializer<'de>>::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<T> PartialEq for SetOrKeep<T>
    where\n T: PartialEq + Clone,

    §

    fn eq(&self, other: &SetOrKeep<T>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<T> Serialize for SetOrKeep<T>
    where\n T: Clone + Serialize,

    §

    fn serialize<__S>(\n &self,\n __serializer: __S,\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<T> SetOrKeep<T>
    where\n T: Clone,

    pub fn apply_to(self, val: &mut T)

    applies the current SetOrKeep to a target mutable value

    \n
    ",0,"massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<T> Eq for SetOrKeep<T>
    where\n T: Eq + Clone,

    ","Eq","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<T> StructuralPartialEq for SetOrKeep<T>
    where\n T: Clone,

    ","StructuralPartialEq","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"]] +"massa_deferred_calls":[["
    §

    impl<T> Applicable<SetOrKeep<T>> for SetOrKeep<T>
    where\n T: Clone,

    allows applying another SetOrKeep to the current one

    \n
    §

    fn apply(&mut self, other: SetOrKeep<T>)

    apply changes from other to mutable self
    ","Applicable>","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<T> Clone for SetOrKeep<T>
    where\n T: Clone,

    §

    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
    ","Clone","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<T> Debug for SetOrKeep<T>
    where\n T: Debug + Clone,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<T> Default for SetOrKeep<T>
    where\n T: Clone,

    By default, SetOrKeep keeps the existing value

    \n
    §

    fn default() -> SetOrKeep<T>

    Returns the “default value” for a type. Read more
    ","Default","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<'de, T> Deserialize<'de> for SetOrKeep<T>
    where\n T: Clone + Deserialize<'de>,

    §

    fn deserialize<__D>(\n __deserializer: __D,\n) -> Result<SetOrKeep<T>, <__D as Deserializer<'de>>::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<T> PartialEq for SetOrKeep<T>
    where\n T: PartialEq + Clone,

    §

    fn eq(&self, other: &SetOrKeep<T>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<T> Serialize for SetOrKeep<T>
    where\n T: Clone + Serialize,

    §

    fn serialize<__S>(\n &self,\n __serializer: __S,\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<T> SetOrKeep<T>
    where\n T: Clone,

    pub fn apply_to(self, val: &mut T)

    applies the current SetOrKeep to a target mutable value

    \n
    ",0,"massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<T> Eq for SetOrKeep<T>
    where\n T: Eq + Clone,

    ","Eq","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"],["
    §

    impl<T> StructuralPartialEq for SetOrKeep<T>
    where\n T: Clone,

    ","StructuralPartialEq","massa_deferred_calls::DeferredRegistryGasChange","massa_deferred_calls::DeferredRegistryBaseFeeChange"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/std/collections/hash/map/struct.HashMap.js b/type.impl/std/collections/hash/map/struct.HashMap.js index 244bfcf31e3..84d3bc7fa71 100644 --- a/type.impl/std/collections/hash/map/struct.HashMap.js +++ b/type.impl/std/collections/hash/map/struct.HashMap.js @@ -1,4 +1,4 @@ (function() {var type_impls = { -"massa_models":[["
    1.0.0 · source§

    impl<K, V, S> Clone for HashMap<K, V, S>
    where\n K: Clone,\n V: Clone,\n S: Clone,

    source§

    fn clone(&self) -> HashMap<K, V, S>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &HashMap<K, V, S>)

    Performs copy-assignment from source. Read more
    ","Clone","massa_models::prehash::PreHashMap"],["
    1.0.0 · source§

    impl<K, V, S> Debug for HashMap<K, V, S>
    where\n K: Debug,\n V: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_models::prehash::PreHashMap"],["
    1.0.0 · source§

    impl<K, V, S> Default for HashMap<K, V, S>
    where\n S: Default,

    source§

    fn default() -> HashMap<K, V, S>

    Creates an empty HashMap<K, V, S>, with the Default value for the hasher.

    \n
    ","Default","massa_models::prehash::PreHashMap"],["
    source§

    impl<'de, K, V, S> Deserialize<'de> for HashMap<K, V, S>
    where\n K: Deserialize<'de> + Eq + Hash,\n V: Deserialize<'de>,\n S: BuildHasher + Default,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<HashMap<K, V, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_models::prehash::PreHashMap"],["
    source§

    impl<'de, K, V, KU, VU, S> DeserializeAs<'de, HashMap<K, V, S>> for HashMap<KU, VU, S>
    where\n KU: DeserializeAs<'de, K>,\n VU: DeserializeAs<'de, V>,\n K: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<HashMap<K, V, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashMap>","massa_models::prehash::PreHashMap"],["
    1.4.0 · source§

    impl<'a, K, V, S> Extend<(&'a K, &'a V)> for HashMap<K, V, S>
    where\n K: Eq + Hash + Copy,\n V: Copy,\n S: BuildHasher,

    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (&'a K, &'a V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (&'a K, &'a V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(&'a K, &'a V)>","massa_models::prehash::PreHashMap"],["
    1.0.0 · source§

    impl<K, V, S> Extend<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher,

    Inserts all new key-values from the iterator and replaces values with existing\nkeys with new values returned from the iterator.

    \n
    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (K, V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (K, V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(K, V)>","massa_models::prehash::PreHashMap"],["
    1.0.0 · source§

    impl<K, V, S> FromIterator<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn from_iter<T>(iter: T) -> HashMap<K, V, S>
    where\n T: IntoIterator<Item = (K, V)>,

    Creates a value from an iterator. Read more
    ","FromIterator<(K, V)>","massa_models::prehash::PreHashMap"],["
    source§

    impl<K, V, S> HashMap<K, V, S>
    where\n S: BuildHasher,

    source

    pub fn raw_entry_mut(&mut self) -> RawEntryBuilderMut<'_, K, V, S>

    🔬This is a nightly-only experimental API. (hash_raw_entry)

    Creates a raw entry builder for the HashMap.

    \n

    Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched. After this, insertions into a vacant entry\nstill require an owned key to be provided.

    \n

    Raw entries are useful for such exotic situations as:

    \n
      \n
    • Hash memoization
    • \n
    • Deferring the creation of an owned key until it is known to be required
    • \n
    • Using a search key that doesn’t work with the Borrow trait
    • \n
    • Using custom comparison logic without newtype wrappers
    • \n
    \n

    Because raw entries provide much more low-level control, it’s much easier\nto put the HashMap into an inconsistent state which, while memory-safe,\nwill cause the map to produce seemingly random results. Higher-level and\nmore foolproof APIs like entry should be preferred when possible.

    \n

    In particular, the hash used to initialize the raw entry must still be\nconsistent with the hash of the key that is ultimately stored in the entry.\nThis is because implementations of HashMap may need to recompute hashes\nwhen resizing, at which point only the keys are available.

    \n

    Raw entries give mutable access to the keys. This must not be used\nto modify how the key would compare or hash, as the map will not re-evaluate\nwhere the key should go, meaning the keys may become “lost” if their\nlocation does not reflect their state. For instance, if you change a key\nso that the map now contains keys which compare equal, search may start\nacting erratically, with two keys randomly masking each other. Implementations\nare free to assume this doesn’t happen (within the limits of memory-safety).

    \n
    source

    pub fn raw_entry(&self) -> RawEntryBuilder<'_, K, V, S>

    🔬This is a nightly-only experimental API. (hash_raw_entry)

    Creates a raw immutable entry builder for the HashMap.

    \n

    Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched.

    \n

    This is useful for

    \n
      \n
    • Hash memoization
    • \n
    • Using a search key that doesn’t work with the Borrow trait
    • \n
    • Using custom comparison logic without newtype wrappers
    • \n
    \n

    Unless you are in such a situation, higher-level and more foolproof APIs like\nget should be preferred.

    \n

    Immutable raw entries have very limited use; you might instead want raw_entry_mut.

    \n
    ",0,"massa_models::prehash::PreHashMap"],["
    source§

    impl<K, V, S> HashMap<K, V, S>

    1.7.0 (const: unstable) · source

    pub fn with_hasher(hash_builder: S) -> HashMap<K, V, S>

    Creates an empty HashMap which will use the given hash builder to hash\nkeys.

    \n

    The created map has the default initial capacity.

    \n

    Warning: hash_builder is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_hasher(s);\nmap.insert(1, 2);
    \n
    1.7.0 · source

    pub fn with_capacity_and_hasher(capacity: usize, hasher: S) -> HashMap<K, V, S>

    Creates an empty HashMap with at least the specified capacity, using\nhasher to hash the keys.

    \n

    The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hasher passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_capacity_and_hasher(10, s);\nmap.insert(1, 2);
    \n
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the number of elements the map can hold without reallocating.

    \n

    This number is a lower bound; the HashMap<K, V> might be able to hold\nmore, but is guaranteed to be able to hold at least this many.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet map: HashMap<i32, i32> = HashMap::with_capacity(100);\nassert!(map.capacity() >= 100);
    \n
    1.0.0 · source

    pub fn keys(&self) -> Keys<'_, K, V>

    An iterator visiting all keys in arbitrary order.\nThe iterator element type is &'a K.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor key in map.keys() {\n    println!(\"{key}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.54.0 · source

    pub fn into_keys(self) -> IntoKeys<K, V>

    Creates a consuming iterator visiting all the keys in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<&str> = map.into_keys().collect();\n// The `IntoKeys` iterator produces keys in arbitrary order, so the\n// keys must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [\"a\", \"b\", \"c\"]);
    \n
    §Performance
    \n

    In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn values(&self) -> Values<'_, K, V>

    An iterator visiting all values in arbitrary order.\nThe iterator element type is &'a V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.10.0 · source

    pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

    An iterator visiting all values mutably in arbitrary order.\nThe iterator element type is &'a mut V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values_mut() {\n    *val = *val + 10;\n}\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.54.0 · source

    pub fn into_values(self) -> IntoValues<K, V>

    Creates a consuming iterator visiting all the values in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<i32> = map.into_values().collect();\n// The `IntoValues` iterator produces values in arbitrary order, so\n// the values must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [1, 2, 3]);
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, K, V>

    An iterator visiting all key-value pairs in arbitrary order.\nThe iterator element type is (&'a K, &'a V).

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor (key, val) in map.iter() {\n    println!(\"key: {key} val: {val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

    An iterator visiting all key-value pairs in arbitrary order,\nwith mutable references to the values.\nThe iterator element type is (&'a K, &'a mut V).

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Update all values\nfor (_, val) in map.iter_mut() {\n    *val *= 2;\n}\n\nfor (key, val) in &map {\n    println!(\"key: {key} val: {val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
    \n
    1.6.0 · source

    pub fn drain(&mut self) -> Drain<'_, K, V>

    Clears the map, returning all key-value pairs as an iterator. Keeps the\nallocated memory for reuse.

    \n

    If the returned iterator is dropped before being fully consumed, it\ndrops the remaining key-value pairs. The returned iterator keeps a\nmutable borrow on the map to optimize its implementation.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\n\nfor (k, v) in a.drain().take(1) {\n    assert!(k == 1 || k == 2);\n    assert!(v == \"a\" || v == \"b\");\n}\n\nassert!(a.is_empty());
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F>
    where\n F: FnMut(&K, &mut V) -> bool,

    🔬This is a nightly-only experimental API. (hash_extract_if)

    Creates an iterator which uses a closure to determine if an element should be removed.

    \n

    If the closure returns true, the element is removed from the map and yielded.\nIf the closure returns false, or panics, the element remains in the map and will not be\nyielded.

    \n

    Note that extract_if lets you mutate every value in the filter closure, regardless of\nwhether you choose to keep or remove it.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a map into even and odd keys, reusing the original map:

    \n\n
    #![feature(hash_extract_if)]\nuse std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet extracted: HashMap<i32, i32> = map.extract_if(|k, _v| k % 2 == 0).collect();\n\nlet mut evens = extracted.keys().copied().collect::<Vec<_>>();\nlet mut odds = map.keys().copied().collect::<Vec<_>>();\nevens.sort();\nodds.sort();\n\nassert_eq!(evens, vec![0, 2, 4, 6]);\nassert_eq!(odds, vec![1, 3, 5, 7]);
    \n
    1.18.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in unsorted (and unspecified) order.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\nmap.retain(|&k, _| k % 2 == 0);\nassert_eq!(map.len(), 4);
    \n
    §Performance
    \n

    In the current implementation, this operation takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all key-value pairs. Keeps the allocated memory\nfor reuse.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
    \n
    1.9.0 · source

    pub fn hasher(&self) -> &S

    Returns a reference to the map’s BuildHasher.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet map: HashMap<i32, i32> = HashMap::with_hasher(hasher);\nlet hasher: &RandomState = map.hasher();
    \n
    ",0,"massa_models::prehash::PreHashMap"],["
    source§

    impl<K, V, S> HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher,

    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    §Panics
    \n

    Panics if the new allocation size overflows usize.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();\nmap.reserve(10);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling try_reserve,\ncapacity will be greater than or equal to self.len() + additional if\nit returns Ok(()).\nDoes nothing if capacity is already sufficient.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<&str, isize> = HashMap::new();\nmap.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the map as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to_fit();\nassert!(map.capacity() >= 2);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the map with a lower limit. It will drop\ndown no lower than the supplied limit while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to(10);\nassert!(map.capacity() >= 10);\nmap.shrink_to(0);\nassert!(map.capacity() >= 2);
    \n
    1.0.0 · source

    pub fn entry(&mut self, key: K) -> Entry<'_, K, V>

    Gets the given key’s corresponding entry in the map for in-place manipulation.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut letters = HashMap::new();\n\nfor ch in \"a short treatise on fungi\".chars() {\n    letters.entry(ch).and_modify(|counter| *counter += 1).or_insert(1);\n}\n\nassert_eq!(letters[&'s'], 2);\nassert_eq!(letters[&'t'], 3);\nassert_eq!(letters[&'u'], 1);\nassert_eq!(letters.get(&'y'), None);
    \n
    1.0.0 · source

    pub fn get<Q>(&self, k: &Q) -> Option<&V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
    \n
    1.40.0 · source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns the key-value pair corresponding to the supplied key.

    \n

    The supplied key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
    \n
    source

    pub fn get_many_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N],\n) -> Option<[&mut V; N]>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    🔬This is a nightly-only experimental API. (map_many_mut)

    Attempts to get mutable references to N values in the map at once.

    \n

    Returns an array of length N with the results of each query. For soundness, at most one\nmutable reference will be returned to any value. None will be returned if any of the\nkeys are duplicates or missing.

    \n
    §Examples
    \n
    #![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);\n\n// Duplicate keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Athenæum\",\n]);\nassert_eq!(got, None);
    \n
    source

    pub unsafe fn get_many_unchecked_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N],\n) -> Option<[&mut V; N]>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    🔬This is a nightly-only experimental API. (map_many_mut)

    Attempts to get mutable references to N values in the map at once, without validating that\nthe values are unique.

    \n

    Returns an array of length N with the results of each query. None will be returned if\nany of the keys are missing.

    \n

    For a safe alternative see get_many_mut.

    \n
    §Safety
    \n

    Calling this method with overlapping keys is undefined behavior even if the resulting\nreferences are not used.

    \n
    §Examples
    \n
    #![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);
    \n
    1.0.0 · source

    pub fn contains_key<Q>(&self, k: &Q) -> bool
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
    \n
    1.0.0 · source

    pub fn get_mut<Q>(&mut self, k: &Q) -> Option<&mut V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
    \n
    1.0.0 · source

    pub fn insert(&mut self, k: K, v: V) -> Option<V>

    Inserts a key-value pair into the map.

    \n

    If the map did not have this key present, None is returned.

    \n

    If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
    \n
    source

    pub fn try_insert(\n &mut self,\n key: K,\n value: V,\n) -> Result<&mut V, OccupiedError<'_, K, V>>

    🔬This is a nightly-only experimental API. (map_try_insert)

    Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

    \n

    If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    #![feature(map_try_insert)]\n\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, k: &Q) -> Option<V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
    \n
    1.27.0 · source

    pub fn remove_entry<Q>(&mut self, k: &Q) -> Option<(K, V)>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a key from the map, returning the stored key and value if the\nkey was previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove(&1), None);
    \n
    ",0,"massa_models::prehash::PreHashMap"],["
    1.0.0 · source§

    impl<K, Q, V, S> Index<&Q> for HashMap<K, V, S>
    where\n K: Eq + Hash + Borrow<Q>,\n Q: Eq + Hash + ?Sized,\n S: BuildHasher,

    source§

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n
    §Panics
    \n

    Panics if the key is not present in the HashMap.

    \n
    §

    type Output = V

    The returned type after indexing.
    ","Index<&Q>","massa_models::prehash::PreHashMap"],["
    source§

    impl<'de, K, V, S, E> IntoDeserializer<'de, E> for HashMap<K, V, S>
    where\n K: IntoDeserializer<'de, E> + Eq + Hash,\n V: IntoDeserializer<'de, E>,\n S: BuildHasher,\n E: Error,

    §

    type Deserializer = MapDeserializer<'de, <HashMap<K, V, S> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self,\n) -> <HashMap<K, V, S> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","massa_models::prehash::PreHashMap"],["
    1.0.0 · source§

    impl<K, V, S> IntoIterator for HashMap<K, V, S>

    source§

    fn into_iter(self) -> IntoIter<K, V>

    Creates a consuming iterator, that is, one that moves each key-value\npair out of the map in arbitrary order. The map cannot be used after\ncalling this.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Not possible with .iter()\nlet vec: Vec<(&str, i32)> = map.into_iter().collect();
    \n
    §

    type Item = (K, V)

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<K, V>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_models::prehash::PreHashMap"],["
    1.0.0 · source§

    impl<K, V, S> PartialEq for HashMap<K, V, S>
    where\n K: Eq + Hash,\n V: PartialEq,\n S: BuildHasher,

    source§

    fn eq(&self, other: &HashMap<K, V, S>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_models::prehash::PreHashMap"],["
    source§

    impl<K, V, H> Serialize for HashMap<K, V, H>
    where\n K: Serialize,\n V: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_models::prehash::PreHashMap"],["
    source§

    impl<K, KU, V, VU, H> SerializeAs<HashMap<K, V, H>> for HashMap<KU, VU, H>
    where\n KU: SerializeAs<K>,\n VU: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &HashMap<K, V, H>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::prehash::PreHashMap"],["
    1.0.0 · source§

    impl<K, V, S> Eq for HashMap<K, V, S>
    where\n K: Eq + Hash,\n V: Eq,\n S: BuildHasher,

    ","Eq","massa_models::prehash::PreHashMap"],["
    1.36.0 · source§

    impl<K, V, S> UnwindSafe for HashMap<K, V, S>
    where\n K: UnwindSafe,\n V: UnwindSafe,\n S: UnwindSafe,

    ","UnwindSafe","massa_models::prehash::PreHashMap"]], -"massa_protocol_worker":[["
    §

    impl<K, V, S> Accumulate<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher + Default,

    §

    fn initial(capacity: Option<usize>) -> HashMap<K, V, S>

    Create a new Extend of the correct type
    §

    fn accumulate(&mut self, _: (K, V))

    Accumulate the input into an accumulator
    ","Accumulate<(K, V)>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    §

    impl<K, V, S> Archive for HashMap<K, V, S>
    where\n K: Archive + Hash + Eq,\n V: Archive,\n <K as Archive>::Archived: Hash + Eq,

    §

    type Archived = ArchivedHashMap<<K as Archive>::Archived, <V as Archive>::Archived>

    The archived representation of this type. Read more
    §

    type Resolver = HashMapResolver

    The resolver for this type. It must contain all the additional information from serializing\nneeded to make the archived type from the normal type.
    §

    unsafe fn resolve(\n &self,\n pos: usize,\n resolver: <HashMap<K, V, S> as Archive>::Resolver,\n out: *mut <HashMap<K, V, S> as Archive>::Archived,\n)

    Creates the archived version of this value at the given position and writes it to the given\noutput. Read more
    ","Archive","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, V, S> Clone for HashMap<K, V, S>
    where\n K: Clone,\n V: Clone,\n S: Clone,

    source§

    fn clone(&self) -> HashMap<K, V, S>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &HashMap<K, V, S>)

    Performs copy-assignment from source. Read more
    ","Clone","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, V, S> Debug for HashMap<K, V, S>
    where\n K: Debug,\n V: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, V, S> Default for HashMap<K, V, S>
    where\n S: Default,

    source§

    fn default() -> HashMap<K, V, S>

    Creates an empty HashMap<K, V, S>, with the Default value for the hasher.

    \n
    ","Default","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, V, S> Deserialize<'de> for HashMap<K, V, S>
    where\n K: Deserialize<'de> + Eq + Hash,\n V: Deserialize<'de>,\n S: BuildHasher + Default,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<HashMap<K, V, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs, const N: usize> DeserializeAs<'de, [(K, V); N]> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<[(K, V); N], <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, [(K, V); N]>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BTreeSet<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<BTreeSet<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BTreeSet<(K, V)>>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BinaryHeap<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<BinaryHeap<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BinaryHeap<(K, V)>>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Box<[(K, V)]>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Box<[(K, V)]>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Box<[(K, V)]>>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, V, KU, VU, S> DeserializeAs<'de, HashMap<K, V, S>> for HashMap<KU, VU, S>
    where\n KU: DeserializeAs<'de, K>,\n VU: DeserializeAs<'de, V>,\n K: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<HashMap<K, V, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashMap>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs, S> DeserializeAs<'de, HashSet<(K, V), S>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<HashSet<(K, V), S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashSet<(K, V), S>>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, LinkedList<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<LinkedList<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, LinkedList<(K, V)>>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Option<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Option<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Option<(K, V)>>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Vec<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Vec<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Vec<(K, V)>>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, VecDeque<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<VecDeque<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, VecDeque<(K, V)>>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.4.0 · source§

    impl<'a, K, V, S> Extend<(&'a K, &'a V)> for HashMap<K, V, S>
    where\n K: Eq + Hash + Copy,\n V: Copy,\n S: BuildHasher,

    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (&'a K, &'a V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (&'a K, &'a V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(&'a K, &'a V)>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, V, S> Extend<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher,

    Inserts all new key-values from the iterator and replaces values with existing\nkeys with new values returned from the iterator.

    \n
    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (K, V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (K, V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(K, V)>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.56.0 · source§

    impl<K, V, const N: usize> From<[(K, V); N]> for HashMap<K, V>
    where\n K: Eq + Hash,

    source§

    fn from(arr: [(K, V); N]) -> HashMap<K, V>

    §Examples
    \n
    use std::collections::HashMap;\n\nlet map1 = HashMap::from([(1, 2), (3, 4)]);\nlet map2: HashMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
    \n
    ","From<[(K, V); N]>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, V, S> FromFallibleIterator<(K, V)> for HashMap<K, V, S>
    where\n K: Hash + Eq,\n S: BuildHasher + Default,

    source§

    fn from_fallible_iter<I>(\n it: I,\n) -> Result<HashMap<K, V, S>, <I as IntoFallibleIterator>::Error>
    where\n I: IntoFallibleIterator<Item = (K, V)>,

    Creates a value from a fallible iterator.
    ","FromFallibleIterator<(K, V)>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, V, S> FromIterator<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn from_iter<T>(iter: T) -> HashMap<K, V, S>
    where\n T: IntoIterator<Item = (K, V)>,

    Creates a value from an iterator. Read more
    ","FromIterator<(K, V)>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    §

    impl<K, V, S> FromParallelIterator<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash + Send,\n V: Send,\n S: BuildHasher + Default + Send,

    Collects (key, value) pairs from a parallel iterator into a\nhashmap. If multiple pairs correspond to the same key, then the\nones produced earlier in the parallel iterator will be\noverwritten, just as with a sequential iterator.

    \n
    §

    fn from_par_iter<I>(par_iter: I) -> HashMap<K, V, S>
    where\n I: IntoParallelIterator<Item = (K, V)>,

    Creates an instance of the collection from the parallel iterator par_iter. Read more
    ","FromParallelIterator<(K, V)>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, V> HashMap<K, V>

    1.0.0 · source

    pub fn new() -> HashMap<K, V>

    Creates an empty HashMap.

    \n

    The hash map is initially created with a capacity of 0, so it will not allocate until it\nis first inserted into.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> HashMap<K, V>

    Creates an empty HashMap with at least the specified capacity.

    \n

    The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::with_capacity(10);
    \n
    ",0,"massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, V, S> HashMap<K, V, S>
    where\n S: BuildHasher,

    source

    pub fn raw_entry_mut(&mut self) -> RawEntryBuilderMut<'_, K, V, S>

    🔬This is a nightly-only experimental API. (hash_raw_entry)

    Creates a raw entry builder for the HashMap.

    \n

    Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched. After this, insertions into a vacant entry\nstill require an owned key to be provided.

    \n

    Raw entries are useful for such exotic situations as:

    \n
      \n
    • Hash memoization
    • \n
    • Deferring the creation of an owned key until it is known to be required
    • \n
    • Using a search key that doesn’t work with the Borrow trait
    • \n
    • Using custom comparison logic without newtype wrappers
    • \n
    \n

    Because raw entries provide much more low-level control, it’s much easier\nto put the HashMap into an inconsistent state which, while memory-safe,\nwill cause the map to produce seemingly random results. Higher-level and\nmore foolproof APIs like entry should be preferred when possible.

    \n

    In particular, the hash used to initialize the raw entry must still be\nconsistent with the hash of the key that is ultimately stored in the entry.\nThis is because implementations of HashMap may need to recompute hashes\nwhen resizing, at which point only the keys are available.

    \n

    Raw entries give mutable access to the keys. This must not be used\nto modify how the key would compare or hash, as the map will not re-evaluate\nwhere the key should go, meaning the keys may become “lost” if their\nlocation does not reflect their state. For instance, if you change a key\nso that the map now contains keys which compare equal, search may start\nacting erratically, with two keys randomly masking each other. Implementations\nare free to assume this doesn’t happen (within the limits of memory-safety).

    \n
    source

    pub fn raw_entry(&self) -> RawEntryBuilder<'_, K, V, S>

    🔬This is a nightly-only experimental API. (hash_raw_entry)

    Creates a raw immutable entry builder for the HashMap.

    \n

    Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched.

    \n

    This is useful for

    \n
      \n
    • Hash memoization
    • \n
    • Using a search key that doesn’t work with the Borrow trait
    • \n
    • Using custom comparison logic without newtype wrappers
    • \n
    \n

    Unless you are in such a situation, higher-level and more foolproof APIs like\nget should be preferred.

    \n

    Immutable raw entries have very limited use; you might instead want raw_entry_mut.

    \n
    ",0,"massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, V, S> HashMap<K, V, S>

    1.7.0 (const: unstable) · source

    pub fn with_hasher(hash_builder: S) -> HashMap<K, V, S>

    Creates an empty HashMap which will use the given hash builder to hash\nkeys.

    \n

    The created map has the default initial capacity.

    \n

    Warning: hash_builder is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_hasher(s);\nmap.insert(1, 2);
    \n
    1.7.0 · source

    pub fn with_capacity_and_hasher(capacity: usize, hasher: S) -> HashMap<K, V, S>

    Creates an empty HashMap with at least the specified capacity, using\nhasher to hash the keys.

    \n

    The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hasher passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_capacity_and_hasher(10, s);\nmap.insert(1, 2);
    \n
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the number of elements the map can hold without reallocating.

    \n

    This number is a lower bound; the HashMap<K, V> might be able to hold\nmore, but is guaranteed to be able to hold at least this many.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet map: HashMap<i32, i32> = HashMap::with_capacity(100);\nassert!(map.capacity() >= 100);
    \n
    1.0.0 · source

    pub fn keys(&self) -> Keys<'_, K, V>

    An iterator visiting all keys in arbitrary order.\nThe iterator element type is &'a K.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor key in map.keys() {\n    println!(\"{key}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.54.0 · source

    pub fn into_keys(self) -> IntoKeys<K, V>

    Creates a consuming iterator visiting all the keys in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<&str> = map.into_keys().collect();\n// The `IntoKeys` iterator produces keys in arbitrary order, so the\n// keys must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [\"a\", \"b\", \"c\"]);
    \n
    §Performance
    \n

    In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn values(&self) -> Values<'_, K, V>

    An iterator visiting all values in arbitrary order.\nThe iterator element type is &'a V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.10.0 · source

    pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

    An iterator visiting all values mutably in arbitrary order.\nThe iterator element type is &'a mut V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values_mut() {\n    *val = *val + 10;\n}\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.54.0 · source

    pub fn into_values(self) -> IntoValues<K, V>

    Creates a consuming iterator visiting all the values in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<i32> = map.into_values().collect();\n// The `IntoValues` iterator produces values in arbitrary order, so\n// the values must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [1, 2, 3]);
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, K, V>

    An iterator visiting all key-value pairs in arbitrary order.\nThe iterator element type is (&'a K, &'a V).

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor (key, val) in map.iter() {\n    println!(\"key: {key} val: {val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

    An iterator visiting all key-value pairs in arbitrary order,\nwith mutable references to the values.\nThe iterator element type is (&'a K, &'a mut V).

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Update all values\nfor (_, val) in map.iter_mut() {\n    *val *= 2;\n}\n\nfor (key, val) in &map {\n    println!(\"key: {key} val: {val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
    \n
    1.6.0 · source

    pub fn drain(&mut self) -> Drain<'_, K, V>

    Clears the map, returning all key-value pairs as an iterator. Keeps the\nallocated memory for reuse.

    \n

    If the returned iterator is dropped before being fully consumed, it\ndrops the remaining key-value pairs. The returned iterator keeps a\nmutable borrow on the map to optimize its implementation.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\n\nfor (k, v) in a.drain().take(1) {\n    assert!(k == 1 || k == 2);\n    assert!(v == \"a\" || v == \"b\");\n}\n\nassert!(a.is_empty());
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F>
    where\n F: FnMut(&K, &mut V) -> bool,

    🔬This is a nightly-only experimental API. (hash_extract_if)

    Creates an iterator which uses a closure to determine if an element should be removed.

    \n

    If the closure returns true, the element is removed from the map and yielded.\nIf the closure returns false, or panics, the element remains in the map and will not be\nyielded.

    \n

    Note that extract_if lets you mutate every value in the filter closure, regardless of\nwhether you choose to keep or remove it.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a map into even and odd keys, reusing the original map:

    \n\n
    #![feature(hash_extract_if)]\nuse std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet extracted: HashMap<i32, i32> = map.extract_if(|k, _v| k % 2 == 0).collect();\n\nlet mut evens = extracted.keys().copied().collect::<Vec<_>>();\nlet mut odds = map.keys().copied().collect::<Vec<_>>();\nevens.sort();\nodds.sort();\n\nassert_eq!(evens, vec![0, 2, 4, 6]);\nassert_eq!(odds, vec![1, 3, 5, 7]);
    \n
    1.18.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in unsorted (and unspecified) order.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\nmap.retain(|&k, _| k % 2 == 0);\nassert_eq!(map.len(), 4);
    \n
    §Performance
    \n

    In the current implementation, this operation takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all key-value pairs. Keeps the allocated memory\nfor reuse.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
    \n
    1.9.0 · source

    pub fn hasher(&self) -> &S

    Returns a reference to the map’s BuildHasher.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet map: HashMap<i32, i32> = HashMap::with_hasher(hasher);\nlet hasher: &RandomState = map.hasher();
    \n
    ",0,"massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, V, S> HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher,

    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    §Panics
    \n

    Panics if the new allocation size overflows usize.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();\nmap.reserve(10);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling try_reserve,\ncapacity will be greater than or equal to self.len() + additional if\nit returns Ok(()).\nDoes nothing if capacity is already sufficient.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<&str, isize> = HashMap::new();\nmap.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the map as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to_fit();\nassert!(map.capacity() >= 2);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the map with a lower limit. It will drop\ndown no lower than the supplied limit while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to(10);\nassert!(map.capacity() >= 10);\nmap.shrink_to(0);\nassert!(map.capacity() >= 2);
    \n
    1.0.0 · source

    pub fn entry(&mut self, key: K) -> Entry<'_, K, V>

    Gets the given key’s corresponding entry in the map for in-place manipulation.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut letters = HashMap::new();\n\nfor ch in \"a short treatise on fungi\".chars() {\n    letters.entry(ch).and_modify(|counter| *counter += 1).or_insert(1);\n}\n\nassert_eq!(letters[&'s'], 2);\nassert_eq!(letters[&'t'], 3);\nassert_eq!(letters[&'u'], 1);\nassert_eq!(letters.get(&'y'), None);
    \n
    1.0.0 · source

    pub fn get<Q>(&self, k: &Q) -> Option<&V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
    \n
    1.40.0 · source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns the key-value pair corresponding to the supplied key.

    \n

    The supplied key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
    \n
    source

    pub fn get_many_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N],\n) -> Option<[&mut V; N]>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    🔬This is a nightly-only experimental API. (map_many_mut)

    Attempts to get mutable references to N values in the map at once.

    \n

    Returns an array of length N with the results of each query. For soundness, at most one\nmutable reference will be returned to any value. None will be returned if any of the\nkeys are duplicates or missing.

    \n
    §Examples
    \n
    #![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);\n\n// Duplicate keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Athenæum\",\n]);\nassert_eq!(got, None);
    \n
    source

    pub unsafe fn get_many_unchecked_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N],\n) -> Option<[&mut V; N]>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    🔬This is a nightly-only experimental API. (map_many_mut)

    Attempts to get mutable references to N values in the map at once, without validating that\nthe values are unique.

    \n

    Returns an array of length N with the results of each query. None will be returned if\nany of the keys are missing.

    \n

    For a safe alternative see get_many_mut.

    \n
    §Safety
    \n

    Calling this method with overlapping keys is undefined behavior even if the resulting\nreferences are not used.

    \n
    §Examples
    \n
    #![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);
    \n
    1.0.0 · source

    pub fn contains_key<Q>(&self, k: &Q) -> bool
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
    \n
    1.0.0 · source

    pub fn get_mut<Q>(&mut self, k: &Q) -> Option<&mut V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
    \n
    1.0.0 · source

    pub fn insert(&mut self, k: K, v: V) -> Option<V>

    Inserts a key-value pair into the map.

    \n

    If the map did not have this key present, None is returned.

    \n

    If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
    \n
    source

    pub fn try_insert(\n &mut self,\n key: K,\n value: V,\n) -> Result<&mut V, OccupiedError<'_, K, V>>

    🔬This is a nightly-only experimental API. (map_try_insert)

    Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

    \n

    If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    #![feature(map_try_insert)]\n\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, k: &Q) -> Option<V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
    \n
    1.27.0 · source

    pub fn remove_entry<Q>(&mut self, k: &Q) -> Option<(K, V)>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a key from the map, returning the stored key and value if the\nkey was previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove(&1), None);
    \n
    ",0,"massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, Q, V, S> Index<&Q> for HashMap<K, V, S>
    where\n K: Eq + Hash + Borrow<Q>,\n Q: Eq + Hash + ?Sized,\n S: BuildHasher,

    source§

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n
    §Panics
    \n

    Panics if the key is not present in the HashMap.

    \n
    §

    type Output = V

    The returned type after indexing.
    ","Index<&Q>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, V, S, E> IntoDeserializer<'de, E> for HashMap<K, V, S>
    where\n K: IntoDeserializer<'de, E> + Eq + Hash,\n V: IntoDeserializer<'de, E>,\n S: BuildHasher,\n E: Error,

    §

    type Deserializer = MapDeserializer<'de, <HashMap<K, V, S> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self,\n) -> <HashMap<K, V, S> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, V, S> IntoIterator for HashMap<K, V, S>

    source§

    fn into_iter(self) -> IntoIter<K, V>

    Creates a consuming iterator, that is, one that moves each key-value\npair out of the map in arbitrary order. The map cannot be used after\ncalling this.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Not possible with .iter()\nlet vec: Vec<(&str, i32)> = map.into_iter().collect();
    \n
    §

    type Item = (K, V)

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<K, V>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    §

    impl<K, V, S> IntoParallelIterator for HashMap<K, V, S>
    where\n K: Hash + Eq + Send,\n V: Send,\n S: BuildHasher,

    §

    type Item = <HashMap<K, V, S> as IntoIterator>::Item

    The type of item that the parallel iterator will produce.
    §

    type Iter = IntoIter<K, V>

    The parallel iterator type that will be created.
    §

    fn into_par_iter(self) -> <HashMap<K, V, S> as IntoParallelIterator>::Iter

    Converts self into a parallel iterator. Read more
    ","IntoParallelIterator","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    §

    impl<K, V, H> JsonSchema for HashMap<K, V, H>
    where\n V: JsonSchema,

    §

    fn is_referenceable() -> bool

    Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
    §

    fn schema_name() -> String

    The name of the generated JSON Schema. Read more
    §

    fn schema_id() -> Cow<'static, str>

    Returns a string that uniquely identifies the schema produced by this type. Read more
    §

    fn json_schema(gen: &mut SchemaGenerator) -> Schema

    Generates a JSON Schema for this type. Read more
    ","JsonSchema","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    §

    impl<'a, K, V, S> ParallelExtend<(&'a K, &'a V)> for HashMap<K, V, S>
    where\n K: 'a + Copy + Eq + Hash + Send + Sync,\n V: 'a + Copy + Send + Sync,\n S: BuildHasher + Send,

    Extends a hash map with copied items from a parallel iterator.

    \n
    §

    fn par_extend<I>(&mut self, par_iter: I)
    where\n I: IntoParallelIterator<Item = (&'a K, &'a V)>,

    Extends an instance of the collection with the elements drawn\nfrom the parallel iterator par_iter. Read more
    ","ParallelExtend<(&'a K, &'a V)>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    §

    impl<K, V, S> ParallelExtend<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash + Send,\n V: Send,\n S: BuildHasher + Send,

    Extends a hash map with items from a parallel iterator.

    \n
    §

    fn par_extend<I>(&mut self, par_iter: I)
    where\n I: IntoParallelIterator<Item = (K, V)>,

    Extends an instance of the collection with the elements drawn\nfrom the parallel iterator par_iter. Read more
    ","ParallelExtend<(K, V)>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    §

    impl<K, V, AK, AV> PartialEq<ArchivedHashMap<AK, AV>> for HashMap<K, V>
    where\n K: Hash + Eq + Borrow<AK>,\n AK: Hash + Eq,\n AV: PartialEq<V>,

    §

    fn eq(&self, other: &ArchivedHashMap<AK, AV>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, V, S> PartialEq for HashMap<K, V, S>
    where\n K: Eq + Hash,\n V: PartialEq,\n S: BuildHasher,

    source§

    fn eq(&self, other: &HashMap<K, V, S>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    §

    impl<K, V, S, RandomState> Serialize<S> for HashMap<K, V, RandomState>
    where\n K: Serialize<S> + Hash + Eq,\n <K as Archive>::Archived: Hash + Eq,\n V: Serialize<S>,\n S: Serializer + ScratchSpace + ?Sized,

    §

    fn serialize(\n &self,\n serializer: &mut S,\n) -> Result<<HashMap<K, V, RandomState> as Archive>::Resolver, <S as Fallible>::Error>

    Writes the dependencies for the object and returns a resolver that can create the archived\ntype.
    ","Serialize","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, V, H> Serialize for HashMap<K, V, H>
    where\n K: Serialize,\n V: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<[(K, V)]> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &[(K, V)],\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs<[(K, V)]>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs, const N: usize> SerializeAs<[(K, V); N]> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &[(K, V); N],\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs<[(K, V); N]>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<BTreeSet<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BTreeSet<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<BinaryHeap<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BinaryHeap<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Box<[(K, V)]>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Box<[(K, V)]>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KU, V, VU, H> SerializeAs<HashMap<K, V, H>> for HashMap<KU, VU, H>
    where\n KU: SerializeAs<K>,\n VU: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &HashMap<K, V, H>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs, H> SerializeAs<HashSet<(K, V), H>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &HashSet<(K, V), H>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<LinkedList<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &LinkedList<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Option<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Option<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Vec<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Vec<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<VecDeque<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &VecDeque<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, V, S> Eq for HashMap<K, V, S>
    where\n K: Eq + Hash,\n V: Eq,\n S: BuildHasher,

    ","Eq","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.36.0 · source§

    impl<K, V, S> UnwindSafe for HashMap<K, V, S>
    where\n K: UnwindSafe,\n V: UnwindSafe,\n S: UnwindSafe,

    ","UnwindSafe","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"]] +"massa_models":[["
    1.0.0 · source§

    impl<K, V, S> Clone for HashMap<K, V, S>
    where\n K: Clone,\n V: Clone,\n S: Clone,

    source§

    fn clone(&self) -> HashMap<K, V, S>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &HashMap<K, V, S>)

    Performs copy-assignment from source. Read more
    ","Clone","massa_models::prehash::PreHashMap"],["
    1.0.0 · source§

    impl<K, V, S> Debug for HashMap<K, V, S>
    where\n K: Debug,\n V: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_models::prehash::PreHashMap"],["
    1.0.0 · source§

    impl<K, V, S> Default for HashMap<K, V, S>
    where\n S: Default,

    source§

    fn default() -> HashMap<K, V, S>

    Creates an empty HashMap<K, V, S>, with the Default value for the hasher.

    \n
    ","Default","massa_models::prehash::PreHashMap"],["
    source§

    impl<'de, K, V, S> Deserialize<'de> for HashMap<K, V, S>
    where\n K: Deserialize<'de> + Eq + Hash,\n V: Deserialize<'de>,\n S: BuildHasher + Default,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<HashMap<K, V, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_models::prehash::PreHashMap"],["
    source§

    impl<'de, K, V, KU, VU, S> DeserializeAs<'de, HashMap<K, V, S>> for HashMap<KU, VU, S>
    where\n KU: DeserializeAs<'de, K>,\n VU: DeserializeAs<'de, V>,\n K: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<HashMap<K, V, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashMap>","massa_models::prehash::PreHashMap"],["
    1.4.0 · source§

    impl<'a, K, V, S> Extend<(&'a K, &'a V)> for HashMap<K, V, S>
    where\n K: Eq + Hash + Copy,\n V: Copy,\n S: BuildHasher,

    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (&'a K, &'a V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (&'a K, &'a V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(&'a K, &'a V)>","massa_models::prehash::PreHashMap"],["
    1.0.0 · source§

    impl<K, V, S> Extend<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher,

    Inserts all new key-values from the iterator and replaces values with existing\nkeys with new values returned from the iterator.

    \n
    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (K, V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (K, V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(K, V)>","massa_models::prehash::PreHashMap"],["
    1.0.0 · source§

    impl<K, V, S> FromIterator<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn from_iter<T>(iter: T) -> HashMap<K, V, S>
    where\n T: IntoIterator<Item = (K, V)>,

    Creates a value from an iterator. Read more
    ","FromIterator<(K, V)>","massa_models::prehash::PreHashMap"],["
    source§

    impl<K, V, S> HashMap<K, V, S>
    where\n S: BuildHasher,

    source

    pub fn raw_entry_mut(&mut self) -> RawEntryBuilderMut<'_, K, V, S>

    🔬This is a nightly-only experimental API. (hash_raw_entry)

    Creates a raw entry builder for the HashMap.

    \n

    Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched. After this, insertions into a vacant entry\nstill require an owned key to be provided.

    \n

    Raw entries are useful for such exotic situations as:

    \n
      \n
    • Hash memoization
    • \n
    • Deferring the creation of an owned key until it is known to be required
    • \n
    • Using a search key that doesn’t work with the Borrow trait
    • \n
    • Using custom comparison logic without newtype wrappers
    • \n
    \n

    Because raw entries provide much more low-level control, it’s much easier\nto put the HashMap into an inconsistent state which, while memory-safe,\nwill cause the map to produce seemingly random results. Higher-level and\nmore foolproof APIs like entry should be preferred when possible.

    \n

    In particular, the hash used to initialize the raw entry must still be\nconsistent with the hash of the key that is ultimately stored in the entry.\nThis is because implementations of HashMap may need to recompute hashes\nwhen resizing, at which point only the keys are available.

    \n

    Raw entries give mutable access to the keys. This must not be used\nto modify how the key would compare or hash, as the map will not re-evaluate\nwhere the key should go, meaning the keys may become “lost” if their\nlocation does not reflect their state. For instance, if you change a key\nso that the map now contains keys which compare equal, search may start\nacting erratically, with two keys randomly masking each other. Implementations\nare free to assume this doesn’t happen (within the limits of memory-safety).

    \n
    source

    pub fn raw_entry(&self) -> RawEntryBuilder<'_, K, V, S>

    🔬This is a nightly-only experimental API. (hash_raw_entry)

    Creates a raw immutable entry builder for the HashMap.

    \n

    Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched.

    \n

    This is useful for

    \n
      \n
    • Hash memoization
    • \n
    • Using a search key that doesn’t work with the Borrow trait
    • \n
    • Using custom comparison logic without newtype wrappers
    • \n
    \n

    Unless you are in such a situation, higher-level and more foolproof APIs like\nget should be preferred.

    \n

    Immutable raw entries have very limited use; you might instead want raw_entry_mut.

    \n
    ",0,"massa_models::prehash::PreHashMap"],["
    source§

    impl<K, V, S> HashMap<K, V, S>

    1.7.0 (const: unstable) · source

    pub fn with_hasher(hash_builder: S) -> HashMap<K, V, S>

    Creates an empty HashMap which will use the given hash builder to hash\nkeys.

    \n

    The created map has the default initial capacity.

    \n

    Warning: hash_builder is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_hasher(s);\nmap.insert(1, 2);
    \n
    1.7.0 · source

    pub fn with_capacity_and_hasher(capacity: usize, hasher: S) -> HashMap<K, V, S>

    Creates an empty HashMap with at least the specified capacity, using\nhasher to hash the keys.

    \n

    The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hasher passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_capacity_and_hasher(10, s);\nmap.insert(1, 2);
    \n
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the number of elements the map can hold without reallocating.

    \n

    This number is a lower bound; the HashMap<K, V> might be able to hold\nmore, but is guaranteed to be able to hold at least this many.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet map: HashMap<i32, i32> = HashMap::with_capacity(100);\nassert!(map.capacity() >= 100);
    \n
    1.0.0 · source

    pub fn keys(&self) -> Keys<'_, K, V>

    An iterator visiting all keys in arbitrary order.\nThe iterator element type is &'a K.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor key in map.keys() {\n    println!(\"{key}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.54.0 · source

    pub fn into_keys(self) -> IntoKeys<K, V>

    Creates a consuming iterator visiting all the keys in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<&str> = map.into_keys().collect();\n// The `IntoKeys` iterator produces keys in arbitrary order, so the\n// keys must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [\"a\", \"b\", \"c\"]);
    \n
    §Performance
    \n

    In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn values(&self) -> Values<'_, K, V>

    An iterator visiting all values in arbitrary order.\nThe iterator element type is &'a V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.10.0 · source

    pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

    An iterator visiting all values mutably in arbitrary order.\nThe iterator element type is &'a mut V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values_mut() {\n    *val = *val + 10;\n}\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.54.0 · source

    pub fn into_values(self) -> IntoValues<K, V>

    Creates a consuming iterator visiting all the values in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<i32> = map.into_values().collect();\n// The `IntoValues` iterator produces values in arbitrary order, so\n// the values must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [1, 2, 3]);
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, K, V>

    An iterator visiting all key-value pairs in arbitrary order.\nThe iterator element type is (&'a K, &'a V).

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor (key, val) in map.iter() {\n    println!(\"key: {key} val: {val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

    An iterator visiting all key-value pairs in arbitrary order,\nwith mutable references to the values.\nThe iterator element type is (&'a K, &'a mut V).

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Update all values\nfor (_, val) in map.iter_mut() {\n    *val *= 2;\n}\n\nfor (key, val) in &map {\n    println!(\"key: {key} val: {val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
    \n
    1.6.0 · source

    pub fn drain(&mut self) -> Drain<'_, K, V>

    Clears the map, returning all key-value pairs as an iterator. Keeps the\nallocated memory for reuse.

    \n

    If the returned iterator is dropped before being fully consumed, it\ndrops the remaining key-value pairs. The returned iterator keeps a\nmutable borrow on the map to optimize its implementation.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\n\nfor (k, v) in a.drain().take(1) {\n    assert!(k == 1 || k == 2);\n    assert!(v == \"a\" || v == \"b\");\n}\n\nassert!(a.is_empty());
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F>
    where\n F: FnMut(&K, &mut V) -> bool,

    🔬This is a nightly-only experimental API. (hash_extract_if)

    Creates an iterator which uses a closure to determine if an element should be removed.

    \n

    If the closure returns true, the element is removed from the map and yielded.\nIf the closure returns false, or panics, the element remains in the map and will not be\nyielded.

    \n

    Note that extract_if lets you mutate every value in the filter closure, regardless of\nwhether you choose to keep or remove it.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a map into even and odd keys, reusing the original map:

    \n\n
    #![feature(hash_extract_if)]\nuse std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet extracted: HashMap<i32, i32> = map.extract_if(|k, _v| k % 2 == 0).collect();\n\nlet mut evens = extracted.keys().copied().collect::<Vec<_>>();\nlet mut odds = map.keys().copied().collect::<Vec<_>>();\nevens.sort();\nodds.sort();\n\nassert_eq!(evens, vec![0, 2, 4, 6]);\nassert_eq!(odds, vec![1, 3, 5, 7]);
    \n
    1.18.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in unsorted (and unspecified) order.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\nmap.retain(|&k, _| k % 2 == 0);\nassert_eq!(map.len(), 4);
    \n
    §Performance
    \n

    In the current implementation, this operation takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all key-value pairs. Keeps the allocated memory\nfor reuse.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
    \n
    1.9.0 · source

    pub fn hasher(&self) -> &S

    Returns a reference to the map’s BuildHasher.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet map: HashMap<i32, i32> = HashMap::with_hasher(hasher);\nlet hasher: &RandomState = map.hasher();
    \n
    ",0,"massa_models::prehash::PreHashMap"],["
    source§

    impl<K, V, S> HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher,

    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    §Panics
    \n

    Panics if the new allocation size overflows usize.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();\nmap.reserve(10);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling try_reserve,\ncapacity will be greater than or equal to self.len() + additional if\nit returns Ok(()).\nDoes nothing if capacity is already sufficient.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<&str, isize> = HashMap::new();\nmap.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the map as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to_fit();\nassert!(map.capacity() >= 2);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the map with a lower limit. It will drop\ndown no lower than the supplied limit while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to(10);\nassert!(map.capacity() >= 10);\nmap.shrink_to(0);\nassert!(map.capacity() >= 2);
    \n
    1.0.0 · source

    pub fn entry(&mut self, key: K) -> Entry<'_, K, V>

    Gets the given key’s corresponding entry in the map for in-place manipulation.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut letters = HashMap::new();\n\nfor ch in \"a short treatise on fungi\".chars() {\n    letters.entry(ch).and_modify(|counter| *counter += 1).or_insert(1);\n}\n\nassert_eq!(letters[&'s'], 2);\nassert_eq!(letters[&'t'], 3);\nassert_eq!(letters[&'u'], 1);\nassert_eq!(letters.get(&'y'), None);
    \n
    1.0.0 · source

    pub fn get<Q>(&self, k: &Q) -> Option<&V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
    \n
    1.40.0 · source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns the key-value pair corresponding to the supplied key.

    \n

    The supplied key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
    \n
    source

    pub fn get_many_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N],\n) -> Option<[&mut V; N]>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    🔬This is a nightly-only experimental API. (map_many_mut)

    Attempts to get mutable references to N values in the map at once.

    \n

    Returns an array of length N with the results of each query. For soundness, at most one\nmutable reference will be returned to any value. None will be returned if any of the\nkeys are duplicates or missing.

    \n
    §Examples
    \n
    #![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);\n\n// Duplicate keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Athenæum\",\n]);\nassert_eq!(got, None);
    \n
    source

    pub unsafe fn get_many_unchecked_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N],\n) -> Option<[&mut V; N]>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    🔬This is a nightly-only experimental API. (map_many_mut)

    Attempts to get mutable references to N values in the map at once, without validating that\nthe values are unique.

    \n

    Returns an array of length N with the results of each query. None will be returned if\nany of the keys are missing.

    \n

    For a safe alternative see get_many_mut.

    \n
    §Safety
    \n

    Calling this method with overlapping keys is undefined behavior even if the resulting\nreferences are not used.

    \n
    §Examples
    \n
    #![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);
    \n
    1.0.0 · source

    pub fn contains_key<Q>(&self, k: &Q) -> bool
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
    \n
    1.0.0 · source

    pub fn get_mut<Q>(&mut self, k: &Q) -> Option<&mut V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
    \n
    1.0.0 · source

    pub fn insert(&mut self, k: K, v: V) -> Option<V>

    Inserts a key-value pair into the map.

    \n

    If the map did not have this key present, None is returned.

    \n

    If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
    \n
    source

    pub fn try_insert(\n &mut self,\n key: K,\n value: V,\n) -> Result<&mut V, OccupiedError<'_, K, V>>

    🔬This is a nightly-only experimental API. (map_try_insert)

    Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

    \n

    If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    #![feature(map_try_insert)]\n\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, k: &Q) -> Option<V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
    \n
    1.27.0 · source

    pub fn remove_entry<Q>(&mut self, k: &Q) -> Option<(K, V)>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a key from the map, returning the stored key and value if the\nkey was previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove(&1), None);
    \n
    ",0,"massa_models::prehash::PreHashMap"],["
    1.0.0 · source§

    impl<K, Q, V, S> Index<&Q> for HashMap<K, V, S>
    where\n K: Eq + Hash + Borrow<Q>,\n Q: Eq + Hash + ?Sized,\n S: BuildHasher,

    source§

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n
    §Panics
    \n

    Panics if the key is not present in the HashMap.

    \n
    §

    type Output = V

    The returned type after indexing.
    ","Index<&Q>","massa_models::prehash::PreHashMap"],["
    source§

    impl<'de, K, V, S, E> IntoDeserializer<'de, E> for HashMap<K, V, S>
    where\n K: IntoDeserializer<'de, E> + Eq + Hash,\n V: IntoDeserializer<'de, E>,\n S: BuildHasher,\n E: Error,

    §

    type Deserializer = MapDeserializer<'de, <HashMap<K, V, S> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self,\n) -> <HashMap<K, V, S> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","massa_models::prehash::PreHashMap"],["
    1.0.0 · source§

    impl<K, V, S> IntoIterator for HashMap<K, V, S>

    source§

    fn into_iter(self) -> IntoIter<K, V>

    Creates a consuming iterator, that is, one that moves each key-value\npair out of the map in arbitrary order. The map cannot be used after\ncalling this.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Not possible with .iter()\nlet vec: Vec<(&str, i32)> = map.into_iter().collect();
    \n
    §

    type Item = (K, V)

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<K, V>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_models::prehash::PreHashMap"],["
    1.0.0 · source§

    impl<K, V, S> PartialEq for HashMap<K, V, S>
    where\n K: Eq + Hash,\n V: PartialEq,\n S: BuildHasher,

    source§

    fn eq(&self, other: &HashMap<K, V, S>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_models::prehash::PreHashMap"],["
    source§

    impl<K, V, H> Serialize for HashMap<K, V, H>
    where\n K: Serialize,\n V: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_models::prehash::PreHashMap"],["
    source§

    impl<K, KU, V, VU, H> SerializeAs<HashMap<K, V, H>> for HashMap<KU, VU, H>
    where\n KU: SerializeAs<K>,\n VU: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &HashMap<K, V, H>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::prehash::PreHashMap"],["
    1.0.0 · source§

    impl<K, V, S> Eq for HashMap<K, V, S>
    where\n K: Eq + Hash,\n V: Eq,\n S: BuildHasher,

    ","Eq","massa_models::prehash::PreHashMap"],["
    1.36.0 · source§

    impl<K, V, S> UnwindSafe for HashMap<K, V, S>
    where\n K: UnwindSafe,\n V: UnwindSafe,\n S: UnwindSafe,

    ","UnwindSafe","massa_models::prehash::PreHashMap"]], +"massa_protocol_worker":[["
    §

    impl<K, V, S> Accumulate<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher + Default,

    §

    fn initial(capacity: Option<usize>) -> HashMap<K, V, S>

    Create a new Extend of the correct type
    §

    fn accumulate(&mut self, _: (K, V))

    Accumulate the input into an accumulator
    ","Accumulate<(K, V)>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    §

    impl<K, V, S> Archive for HashMap<K, V, S>
    where\n K: Archive + Hash + Eq,\n V: Archive,\n <K as Archive>::Archived: Hash + Eq,

    §

    type Archived = ArchivedHashMap<<K as Archive>::Archived, <V as Archive>::Archived>

    The archived representation of this type. Read more
    §

    type Resolver = HashMapResolver

    The resolver for this type. It must contain all the additional information from serializing\nneeded to make the archived type from the normal type.
    §

    unsafe fn resolve(\n &self,\n pos: usize,\n resolver: <HashMap<K, V, S> as Archive>::Resolver,\n out: *mut <HashMap<K, V, S> as Archive>::Archived,\n)

    Creates the archived version of this value at the given position and writes it to the given\noutput. Read more
    ","Archive","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, V, S> Clone for HashMap<K, V, S>
    where\n K: Clone,\n V: Clone,\n S: Clone,

    source§

    fn clone(&self) -> HashMap<K, V, S>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &HashMap<K, V, S>)

    Performs copy-assignment from source. Read more
    ","Clone","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, V, S> Debug for HashMap<K, V, S>
    where\n K: Debug,\n V: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, V, S> Default for HashMap<K, V, S>
    where\n S: Default,

    source§

    fn default() -> HashMap<K, V, S>

    Creates an empty HashMap<K, V, S>, with the Default value for the hasher.

    \n
    ","Default","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, V, S> Deserialize<'de> for HashMap<K, V, S>
    where\n K: Deserialize<'de> + Eq + Hash,\n V: Deserialize<'de>,\n S: BuildHasher + Default,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<HashMap<K, V, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs, const N: usize> DeserializeAs<'de, [(K, V); N]> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<[(K, V); N], <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, [(K, V); N]>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BTreeSet<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<BTreeSet<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BTreeSet<(K, V)>>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, BinaryHeap<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Ord,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<BinaryHeap<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, BinaryHeap<(K, V)>>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Box<[(K, V)]>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Box<[(K, V)]>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Box<[(K, V)]>>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, V, KU, VU, S> DeserializeAs<'de, HashMap<K, V, S>> for HashMap<KU, VU, S>
    where\n KU: DeserializeAs<'de, K>,\n VU: DeserializeAs<'de, V>,\n K: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<HashMap<K, V, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashMap>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs, S> DeserializeAs<'de, HashSet<(K, V), S>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,\n (K, V): Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<HashSet<(K, V), S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashSet<(K, V), S>>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, LinkedList<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<LinkedList<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, LinkedList<(K, V)>>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Option<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Option<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Option<(K, V)>>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, Vec<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<Vec<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Vec<(K, V)>>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, KAs, V, VAs> DeserializeAs<'de, VecDeque<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: DeserializeAs<'de, K>,\n VAs: DeserializeAs<'de, V>,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<VecDeque<(K, V)>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, VecDeque<(K, V)>>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.4.0 · source§

    impl<'a, K, V, S> Extend<(&'a K, &'a V)> for HashMap<K, V, S>
    where\n K: Eq + Hash + Copy,\n V: Copy,\n S: BuildHasher,

    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (&'a K, &'a V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (&'a K, &'a V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(&'a K, &'a V)>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, V, S> Extend<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher,

    Inserts all new key-values from the iterator and replaces values with existing\nkeys with new values returned from the iterator.

    \n
    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (K, V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (K, V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(K, V)>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.56.0 · source§

    impl<K, V, const N: usize> From<[(K, V); N]> for HashMap<K, V>
    where\n K: Eq + Hash,

    source§

    fn from(arr: [(K, V); N]) -> HashMap<K, V>

    §Examples
    \n
    use std::collections::HashMap;\n\nlet map1 = HashMap::from([(1, 2), (3, 4)]);\nlet map2: HashMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
    \n
    ","From<[(K, V); N]>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, V, S> FromFallibleIterator<(K, V)> for HashMap<K, V, S>
    where\n K: Hash + Eq,\n S: BuildHasher + Default,

    source§

    fn from_fallible_iter<I>(\n it: I,\n) -> Result<HashMap<K, V, S>, <I as IntoFallibleIterator>::Error>
    where\n I: IntoFallibleIterator<Item = (K, V)>,

    Creates a value from a fallible iterator.
    ","FromFallibleIterator<(K, V)>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, V, S> FromIterator<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn from_iter<T>(iter: T) -> HashMap<K, V, S>
    where\n T: IntoIterator<Item = (K, V)>,

    Creates a value from an iterator. Read more
    ","FromIterator<(K, V)>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    §

    impl<K, V, S> FromParallelIterator<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash + Send,\n V: Send,\n S: BuildHasher + Default + Send,

    Collects (key, value) pairs from a parallel iterator into a\nhashmap. If multiple pairs correspond to the same key, then the\nones produced earlier in the parallel iterator will be\noverwritten, just as with a sequential iterator.

    \n
    §

    fn from_par_iter<I>(par_iter: I) -> HashMap<K, V, S>
    where\n I: IntoParallelIterator<Item = (K, V)>,

    Creates an instance of the collection from the parallel iterator par_iter. Read more
    ","FromParallelIterator<(K, V)>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, V> HashMap<K, V>

    1.0.0 · source

    pub fn new() -> HashMap<K, V>

    Creates an empty HashMap.

    \n

    The hash map is initially created with a capacity of 0, so it will not allocate until it\nis first inserted into.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> HashMap<K, V>

    Creates an empty HashMap with at least the specified capacity.

    \n

    The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::with_capacity(10);
    \n
    ",0,"massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, V, S> HashMap<K, V, S>
    where\n S: BuildHasher,

    source

    pub fn raw_entry_mut(&mut self) -> RawEntryBuilderMut<'_, K, V, S>

    🔬This is a nightly-only experimental API. (hash_raw_entry)

    Creates a raw entry builder for the HashMap.

    \n

    Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched. After this, insertions into a vacant entry\nstill require an owned key to be provided.

    \n

    Raw entries are useful for such exotic situations as:

    \n
      \n
    • Hash memoization
    • \n
    • Deferring the creation of an owned key until it is known to be required
    • \n
    • Using a search key that doesn’t work with the Borrow trait
    • \n
    • Using custom comparison logic without newtype wrappers
    • \n
    \n

    Because raw entries provide much more low-level control, it’s much easier\nto put the HashMap into an inconsistent state which, while memory-safe,\nwill cause the map to produce seemingly random results. Higher-level and\nmore foolproof APIs like entry should be preferred when possible.

    \n

    In particular, the hash used to initialize the raw entry must still be\nconsistent with the hash of the key that is ultimately stored in the entry.\nThis is because implementations of HashMap may need to recompute hashes\nwhen resizing, at which point only the keys are available.

    \n

    Raw entries give mutable access to the keys. This must not be used\nto modify how the key would compare or hash, as the map will not re-evaluate\nwhere the key should go, meaning the keys may become “lost” if their\nlocation does not reflect their state. For instance, if you change a key\nso that the map now contains keys which compare equal, search may start\nacting erratically, with two keys randomly masking each other. Implementations\nare free to assume this doesn’t happen (within the limits of memory-safety).

    \n
    source

    pub fn raw_entry(&self) -> RawEntryBuilder<'_, K, V, S>

    🔬This is a nightly-only experimental API. (hash_raw_entry)

    Creates a raw immutable entry builder for the HashMap.

    \n

    Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched.

    \n

    This is useful for

    \n
      \n
    • Hash memoization
    • \n
    • Using a search key that doesn’t work with the Borrow trait
    • \n
    • Using custom comparison logic without newtype wrappers
    • \n
    \n

    Unless you are in such a situation, higher-level and more foolproof APIs like\nget should be preferred.

    \n

    Immutable raw entries have very limited use; you might instead want raw_entry_mut.

    \n
    ",0,"massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, V, S> HashMap<K, V, S>

    1.7.0 (const: unstable) · source

    pub fn with_hasher(hash_builder: S) -> HashMap<K, V, S>

    Creates an empty HashMap which will use the given hash builder to hash\nkeys.

    \n

    The created map has the default initial capacity.

    \n

    Warning: hash_builder is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_hasher(s);\nmap.insert(1, 2);
    \n
    1.7.0 · source

    pub fn with_capacity_and_hasher(capacity: usize, hasher: S) -> HashMap<K, V, S>

    Creates an empty HashMap with at least the specified capacity, using\nhasher to hash the keys.

    \n

    The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hasher passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_capacity_and_hasher(10, s);\nmap.insert(1, 2);
    \n
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the number of elements the map can hold without reallocating.

    \n

    This number is a lower bound; the HashMap<K, V> might be able to hold\nmore, but is guaranteed to be able to hold at least this many.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet map: HashMap<i32, i32> = HashMap::with_capacity(100);\nassert!(map.capacity() >= 100);
    \n
    1.0.0 · source

    pub fn keys(&self) -> Keys<'_, K, V>

    An iterator visiting all keys in arbitrary order.\nThe iterator element type is &'a K.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor key in map.keys() {\n    println!(\"{key}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.54.0 · source

    pub fn into_keys(self) -> IntoKeys<K, V>

    Creates a consuming iterator visiting all the keys in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<&str> = map.into_keys().collect();\n// The `IntoKeys` iterator produces keys in arbitrary order, so the\n// keys must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [\"a\", \"b\", \"c\"]);
    \n
    §Performance
    \n

    In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn values(&self) -> Values<'_, K, V>

    An iterator visiting all values in arbitrary order.\nThe iterator element type is &'a V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.10.0 · source

    pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

    An iterator visiting all values mutably in arbitrary order.\nThe iterator element type is &'a mut V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values_mut() {\n    *val = *val + 10;\n}\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.54.0 · source

    pub fn into_values(self) -> IntoValues<K, V>

    Creates a consuming iterator visiting all the values in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is V.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<i32> = map.into_values().collect();\n// The `IntoValues` iterator produces values in arbitrary order, so\n// the values must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [1, 2, 3]);
    \n
    §Performance
    \n

    In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, K, V>

    An iterator visiting all key-value pairs in arbitrary order.\nThe iterator element type is (&'a K, &'a V).

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor (key, val) in map.iter() {\n    println!(\"key: {key} val: {val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

    An iterator visiting all key-value pairs in arbitrary order,\nwith mutable references to the values.\nThe iterator element type is (&'a K, &'a mut V).

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Update all values\nfor (_, val) in map.iter_mut() {\n    *val *= 2;\n}\n\nfor (key, val) in &map {\n    println!(\"key: {key} val: {val}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
    \n
    1.6.0 · source

    pub fn drain(&mut self) -> Drain<'_, K, V>

    Clears the map, returning all key-value pairs as an iterator. Keeps the\nallocated memory for reuse.

    \n

    If the returned iterator is dropped before being fully consumed, it\ndrops the remaining key-value pairs. The returned iterator keeps a\nmutable borrow on the map to optimize its implementation.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\n\nfor (k, v) in a.drain().take(1) {\n    assert!(k == 1 || k == 2);\n    assert!(v == \"a\" || v == \"b\");\n}\n\nassert!(a.is_empty());
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F>
    where\n F: FnMut(&K, &mut V) -> bool,

    🔬This is a nightly-only experimental API. (hash_extract_if)

    Creates an iterator which uses a closure to determine if an element should be removed.

    \n

    If the closure returns true, the element is removed from the map and yielded.\nIf the closure returns false, or panics, the element remains in the map and will not be\nyielded.

    \n

    Note that extract_if lets you mutate every value in the filter closure, regardless of\nwhether you choose to keep or remove it.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a map into even and odd keys, reusing the original map:

    \n\n
    #![feature(hash_extract_if)]\nuse std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet extracted: HashMap<i32, i32> = map.extract_if(|k, _v| k % 2 == 0).collect();\n\nlet mut evens = extracted.keys().copied().collect::<Vec<_>>();\nlet mut odds = map.keys().copied().collect::<Vec<_>>();\nevens.sort();\nodds.sort();\n\nassert_eq!(evens, vec![0, 2, 4, 6]);\nassert_eq!(odds, vec![1, 3, 5, 7]);
    \n
    1.18.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in unsorted (and unspecified) order.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\nmap.retain(|&k, _| k % 2 == 0);\nassert_eq!(map.len(), 4);
    \n
    §Performance
    \n

    In the current implementation, this operation takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all key-value pairs. Keeps the allocated memory\nfor reuse.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
    \n
    1.9.0 · source

    pub fn hasher(&self) -> &S

    Returns a reference to the map’s BuildHasher.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet map: HashMap<i32, i32> = HashMap::with_hasher(hasher);\nlet hasher: &RandomState = map.hasher();
    \n
    ",0,"massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, V, S> HashMap<K, V, S>
    where\n K: Eq + Hash,\n S: BuildHasher,

    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    §Panics
    \n

    Panics if the new allocation size overflows usize.

    \n
    §Examples
    \n
    use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();\nmap.reserve(10);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling try_reserve,\ncapacity will be greater than or equal to self.len() + additional if\nit returns Ok(()).\nDoes nothing if capacity is already sufficient.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<&str, isize> = HashMap::new();\nmap.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the map as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to_fit();\nassert!(map.capacity() >= 2);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the map with a lower limit. It will drop\ndown no lower than the supplied limit while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to(10);\nassert!(map.capacity() >= 10);\nmap.shrink_to(0);\nassert!(map.capacity() >= 2);
    \n
    1.0.0 · source

    pub fn entry(&mut self, key: K) -> Entry<'_, K, V>

    Gets the given key’s corresponding entry in the map for in-place manipulation.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut letters = HashMap::new();\n\nfor ch in \"a short treatise on fungi\".chars() {\n    letters.entry(ch).and_modify(|counter| *counter += 1).or_insert(1);\n}\n\nassert_eq!(letters[&'s'], 2);\nassert_eq!(letters[&'t'], 3);\nassert_eq!(letters[&'u'], 1);\nassert_eq!(letters.get(&'y'), None);
    \n
    1.0.0 · source

    pub fn get<Q>(&self, k: &Q) -> Option<&V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
    \n
    1.40.0 · source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns the key-value pair corresponding to the supplied key.

    \n

    The supplied key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
    \n
    source

    pub fn get_many_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N],\n) -> Option<[&mut V; N]>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    🔬This is a nightly-only experimental API. (map_many_mut)

    Attempts to get mutable references to N values in the map at once.

    \n

    Returns an array of length N with the results of each query. For soundness, at most one\nmutable reference will be returned to any value. None will be returned if any of the\nkeys are duplicates or missing.

    \n
    §Examples
    \n
    #![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);\n\n// Duplicate keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Athenæum\",\n]);\nassert_eq!(got, None);
    \n
    source

    pub unsafe fn get_many_unchecked_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N],\n) -> Option<[&mut V; N]>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    🔬This is a nightly-only experimental API. (map_many_mut)

    Attempts to get mutable references to N values in the map at once, without validating that\nthe values are unique.

    \n

    Returns an array of length N with the results of each query. None will be returned if\nany of the keys are missing.

    \n

    For a safe alternative see get_many_mut.

    \n
    §Safety
    \n

    Calling this method with overlapping keys is undefined behavior even if the resulting\nreferences are not used.

    \n
    §Examples
    \n
    #![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);
    \n
    1.0.0 · source

    pub fn contains_key<Q>(&self, k: &Q) -> bool
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
    \n
    1.0.0 · source

    pub fn get_mut<Q>(&mut self, k: &Q) -> Option<&mut V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
    \n
    1.0.0 · source

    pub fn insert(&mut self, k: K, v: V) -> Option<V>

    Inserts a key-value pair into the map.

    \n

    If the map did not have this key present, None is returned.

    \n

    If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
    \n
    source

    pub fn try_insert(\n &mut self,\n key: K,\n value: V,\n) -> Result<&mut V, OccupiedError<'_, K, V>>

    🔬This is a nightly-only experimental API. (map_try_insert)

    Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

    \n

    If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    #![feature(map_try_insert)]\n\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, k: &Q) -> Option<V>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
    \n
    1.27.0 · source

    pub fn remove_entry<Q>(&mut self, k: &Q) -> Option<(K, V)>
    where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a key from the map, returning the stored key and value if the\nkey was previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove(&1), None);
    \n
    ",0,"massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, Q, V, S> Index<&Q> for HashMap<K, V, S>
    where\n K: Eq + Hash + Borrow<Q>,\n Q: Eq + Hash + ?Sized,\n S: BuildHasher,

    source§

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n
    §Panics
    \n

    Panics if the key is not present in the HashMap.

    \n
    §

    type Output = V

    The returned type after indexing.
    ","Index<&Q>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<'de, K, V, S, E> IntoDeserializer<'de, E> for HashMap<K, V, S>
    where\n K: IntoDeserializer<'de, E> + Eq + Hash,\n V: IntoDeserializer<'de, E>,\n S: BuildHasher,\n E: Error,

    §

    type Deserializer = MapDeserializer<'de, <HashMap<K, V, S> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self,\n) -> <HashMap<K, V, S> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, V, S> IntoIterator for HashMap<K, V, S>

    source§

    fn into_iter(self) -> IntoIter<K, V>

    Creates a consuming iterator, that is, one that moves each key-value\npair out of the map in arbitrary order. The map cannot be used after\ncalling this.

    \n
    §Examples
    \n
    use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Not possible with .iter()\nlet vec: Vec<(&str, i32)> = map.into_iter().collect();
    \n
    §

    type Item = (K, V)

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<K, V>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    §

    impl<K, V, S> IntoParallelIterator for HashMap<K, V, S>
    where\n K: Hash + Eq + Send,\n V: Send,\n S: BuildHasher,

    §

    type Item = <HashMap<K, V, S> as IntoIterator>::Item

    The type of item that the parallel iterator will produce.
    §

    type Iter = IntoIter<K, V>

    The parallel iterator type that will be created.
    §

    fn into_par_iter(self) -> <HashMap<K, V, S> as IntoParallelIterator>::Iter

    Converts self into a parallel iterator. Read more
    ","IntoParallelIterator","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    §

    impl<K, V, H> JsonSchema for HashMap<K, V, H>
    where\n V: JsonSchema,

    §

    fn is_referenceable() -> bool

    Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
    §

    fn schema_name() -> String

    The name of the generated JSON Schema. Read more
    §

    fn schema_id() -> Cow<'static, str>

    Returns a string that uniquely identifies the schema produced by this type. Read more
    §

    fn json_schema(gen: &mut SchemaGenerator) -> Schema

    Generates a JSON Schema for this type. Read more
    ","JsonSchema","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    §

    impl<'a, K, V, S> ParallelExtend<(&'a K, &'a V)> for HashMap<K, V, S>
    where\n K: 'a + Copy + Eq + Hash + Send + Sync,\n V: 'a + Copy + Send + Sync,\n S: BuildHasher + Send,

    Extends a hash map with copied items from a parallel iterator.

    \n
    §

    fn par_extend<I>(&mut self, par_iter: I)
    where\n I: IntoParallelIterator<Item = (&'a K, &'a V)>,

    Extends an instance of the collection with the elements drawn\nfrom the parallel iterator par_iter. Read more
    ","ParallelExtend<(&'a K, &'a V)>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    §

    impl<K, V, S> ParallelExtend<(K, V)> for HashMap<K, V, S>
    where\n K: Eq + Hash + Send,\n V: Send,\n S: BuildHasher + Send,

    Extends a hash map with items from a parallel iterator.

    \n
    §

    fn par_extend<I>(&mut self, par_iter: I)
    where\n I: IntoParallelIterator<Item = (K, V)>,

    Extends an instance of the collection with the elements drawn\nfrom the parallel iterator par_iter. Read more
    ","ParallelExtend<(K, V)>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    §

    impl<K, V, AK, AV> PartialEq<ArchivedHashMap<AK, AV>> for HashMap<K, V>
    where\n K: Hash + Eq + Borrow<AK>,\n AK: Hash + Eq,\n AV: PartialEq<V>,

    §

    fn eq(&self, other: &ArchivedHashMap<AK, AV>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, V, S> PartialEq for HashMap<K, V, S>
    where\n K: Eq + Hash,\n V: PartialEq,\n S: BuildHasher,

    source§

    fn eq(&self, other: &HashMap<K, V, S>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    §

    impl<K, V, S, RandomState> Serialize<S> for HashMap<K, V, RandomState>
    where\n K: Serialize<S> + Hash + Eq,\n <K as Archive>::Archived: Hash + Eq,\n V: Serialize<S>,\n S: Serializer + ScratchSpace + ?Sized,

    §

    fn serialize(\n &self,\n serializer: &mut S,\n) -> Result<<HashMap<K, V, RandomState> as Archive>::Resolver, <S as Fallible>::Error>

    Writes the dependencies for the object and returns a resolver that can create the archived\ntype.
    ","Serialize","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, V, H> Serialize for HashMap<K, V, H>
    where\n K: Serialize,\n V: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<[(K, V)]> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &[(K, V)],\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs<[(K, V)]>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs, const N: usize> SerializeAs<[(K, V); N]> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &[(K, V); N],\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs<[(K, V); N]>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<BTreeSet<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BTreeSet<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<BinaryHeap<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &BinaryHeap<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Box<[(K, V)]>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Box<[(K, V)]>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KU, V, VU, H> SerializeAs<HashMap<K, V, H>> for HashMap<KU, VU, H>
    where\n KU: SerializeAs<K>,\n VU: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &HashMap<K, V, H>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs, H> SerializeAs<HashSet<(K, V), H>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &HashSet<(K, V), H>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<LinkedList<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &LinkedList<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Option<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Option<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<Vec<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &Vec<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    source§

    impl<K, KAs, V, VAs> SerializeAs<VecDeque<(K, V)>> for HashMap<KAs, VAs>
    where\n KAs: SerializeAs<K>,\n VAs: SerializeAs<V>,

    source§

    fn serialize_as<S>(\n source: &VecDeque<(K, V)>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.0.0 · source§

    impl<K, V, S> Eq for HashMap<K, V, S>
    where\n K: Eq + Hash,\n V: Eq,\n S: BuildHasher,

    ","Eq","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"],["
    1.36.0 · source§

    impl<K, V, S> UnwindSafe for HashMap<K, V, S>
    where\n K: UnwindSafe,\n V: UnwindSafe,\n S: UnwindSafe,

    ","UnwindSafe","massa_protocol_worker::handlers::peer_handler::models::InitialPeers"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/type.impl/std/collections/hash/set/struct.HashSet.js b/type.impl/std/collections/hash/set/struct.HashSet.js index f6bf84e91df..89cbf9cd401 100644 --- a/type.impl/std/collections/hash/set/struct.HashSet.js +++ b/type.impl/std/collections/hash/set/struct.HashSet.js @@ -1,4 +1,4 @@ (function() {var type_impls = { -"massa_executed_ops":[["
    1.0.0 · source§

    impl<T, S> Clone for HashSet<T, S>
    where\n T: Clone,\n S: Clone,

    source§

    fn clone_from(&mut self, other: &HashSet<T, S>)

    Overwrites the contents of self with a clone of the contents of source.

    \n

    This method is preferred over simply assigning source.clone() to self,\nas it avoids reallocation if possible.

    \n
    source§

    fn clone(&self) -> HashSet<T, S>

    Returns a copy of the value. Read more
    ","Clone","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.0.0 · source§

    impl<T, S> Debug for HashSet<T, S>
    where\n T: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.0.0 · source§

    impl<T, S> Default for HashSet<T, S>
    where\n S: Default,

    source§

    fn default() -> HashSet<T, S>

    Creates an empty HashSet<T, S> with the Default value for the hasher.

    \n
    ","Default","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<'de, T, S> Deserialize<'de> for HashSet<T, S>
    where\n T: Deserialize<'de> + Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<HashSet<T, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<'de, T, U, S> DeserializeAs<'de, HashSet<T, S>> for HashSet<U, S>
    where\n U: DeserializeAs<'de, T>,\n T: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<HashSet<T, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashSet>","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.4.0 · source§

    impl<'a, T, S> Extend<&'a T> for HashSet<T, S>
    where\n T: 'a + Eq + Hash + Copy,\n S: BuildHasher,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = &'a T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: &'a T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<&'a T>","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.0.0 · source§

    impl<T, S> Extend<T> for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, item: T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<N, S> FilterNode<N> for HashSet<N, S>
    where\n HashSet<N, S>: VisitMap<N>,

    This filter includes the nodes that are contained in the set.

    \n
    source§

    fn include_node(&self, n: N) -> bool

    Return true to have the node be part of the graph
    ","FilterNode","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.56.0 · source§

    impl<T, const N: usize> From<[T; N]> for HashSet<T>
    where\n T: Eq + Hash,

    source§

    fn from(arr: [T; N]) -> HashSet<T>

    §Examples
    \n
    use std::collections::HashSet;\n\nlet set1 = HashSet::from([1, 2, 3, 4]);\nlet set2: HashSet<_> = [1, 2, 3, 4].into();\nassert_eq!(set1, set2);
    \n
    ","From<[T; N]>","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.0.0 · source§

    impl<T, S> FromIterator<T> for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn from_iter<I>(iter: I) -> HashSet<T, S>
    where\n I: IntoIterator<Item = T>,

    Creates a value from an iterator. Read more
    ","FromIterator","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<T> HashSet<T>

    1.0.0 · source

    pub fn new() -> HashSet<T>

    Creates an empty HashSet.

    \n

    The hash set is initially created with a capacity of 0, so it will not allocate until it\nis first inserted into.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet set: HashSet<i32> = HashSet::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> HashSet<T>

    Creates an empty HashSet with at least the specified capacity.

    \n

    The hash set will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash set will not allocate.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet set: HashSet<i32> = HashSet::with_capacity(10);\nassert!(set.capacity() >= 10);
    \n
    ",0,"massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<T, S> HashSet<T, S>

    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the number of elements the set can hold without reallocating.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet set: HashSet<i32> = HashSet::with_capacity(100);\nassert!(set.capacity() >= 100);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    An iterator visiting all elements in arbitrary order.\nThe iterator element type is &'a T.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set = HashSet::new();\nset.insert(\"a\");\nset.insert(\"b\");\n\n// Will print in an arbitrary order.\nfor x in set.iter() {\n    println!(\"{x}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over set takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the set.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nassert_eq!(v.len(), 0);\nv.insert(1);\nassert_eq!(v.len(), 1);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the set contains no elements.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nassert!(v.is_empty());\nv.insert(1);\nassert!(!v.is_empty());
    \n
    1.6.0 · source

    pub fn drain(&mut self) -> Drain<'_, T>

    Clears the set, returning all elements as an iterator. Keeps the\nallocated memory for reuse.

    \n

    If the returned iterator is dropped before being fully consumed, it\ndrops the remaining elements. The returned iterator keeps a mutable\nborrow on the set to optimize its implementation.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert!(!set.is_empty());\n\n// print 1, 2, 3 in an arbitrary order\nfor i in set.drain() {\n    println!(\"{i}\");\n}\n\nassert!(set.is_empty());
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, T, F>
    where\n F: FnMut(&T) -> bool,

    🔬This is a nightly-only experimental API. (hash_extract_if)

    Creates an iterator which uses a closure to determine if a value should be removed.

    \n

    If the closure returns true, then the value is removed and yielded.\nIf the closure returns false, the value will remain in the list and will not be yielded\nby the iterator.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a set into even and odd values, reusing the original set:

    \n\n
    #![feature(hash_extract_if)]\nuse std::collections::HashSet;\n\nlet mut set: HashSet<i32> = (0..8).collect();\nlet extracted: HashSet<i32> = set.extract_if(|v| v % 2 == 0).collect();\n\nlet mut evens = extracted.into_iter().collect::<Vec<_>>();\nlet mut odds = set.into_iter().collect::<Vec<_>>();\nevens.sort();\nodds.sort();\n\nassert_eq!(evens, vec![0, 2, 4, 6]);\nassert_eq!(odds, vec![1, 3, 5, 7]);
    \n
    1.18.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\nThe elements are visited in unsorted (and unspecified) order.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3, 4, 5, 6]);\nset.retain(|&k| k % 2 == 0);\nassert_eq!(set, HashSet::from([2, 4, 6]));
    \n
    §Performance
    \n

    In the current implementation, this operation takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the set, removing all values.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nv.insert(1);\nv.clear();\nassert!(v.is_empty());
    \n
    1.7.0 (const: unstable) · source

    pub fn with_hasher(hasher: S) -> HashSet<T, S>

    Creates a new empty hash set which will use the given hasher to hash\nkeys.

    \n

    The hash set is also created with the default initial capacity.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashSets to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut set = HashSet::with_hasher(s);\nset.insert(2);
    \n
    1.7.0 · source

    pub fn with_capacity_and_hasher(capacity: usize, hasher: S) -> HashSet<T, S>

    Creates an empty HashSet with at least the specified capacity, using\nhasher to hash the keys.

    \n

    The hash set will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash set will not allocate.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashSets to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut set = HashSet::with_capacity_and_hasher(10, s);\nset.insert(1);
    \n
    1.9.0 · source

    pub fn hasher(&self) -> &S

    Returns a reference to the set’s BuildHasher.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet set: HashSet<i32> = HashSet::with_hasher(hasher);\nlet hasher: &RandomState = set.hasher();
    \n
    ",0,"massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<T, S> HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the HashSet. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    §Panics
    \n

    Panics if the new allocation size overflows usize.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set: HashSet<i32> = HashSet::new();\nset.reserve(10);\nassert!(set.capacity() >= 10);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the HashSet. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling try_reserve,\ncapacity will be greater than or equal to self.len() + additional if\nit returns Ok(()).\nDoes nothing if capacity is already sufficient.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set: HashSet<i32> = HashSet::new();\nset.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the set as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::with_capacity(100);\nset.insert(1);\nset.insert(2);\nassert!(set.capacity() >= 100);\nset.shrink_to_fit();\nassert!(set.capacity() >= 2);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the set with a lower limit. It will drop\ndown no lower than the supplied limit while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::with_capacity(100);\nset.insert(1);\nset.insert(2);\nassert!(set.capacity() >= 100);\nset.shrink_to(10);\nassert!(set.capacity() >= 10);\nset.shrink_to(0);\nassert!(set.capacity() >= 2);
    \n
    1.0.0 · source

    pub fn difference<'a>(\n &'a self,\n other: &'a HashSet<T, S>,\n) -> Difference<'a, T, S>

    Visits the values representing the difference,\ni.e., the values that are in self but not in other.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Can be seen as `a - b`.\nfor x in a.difference(&b) {\n    println!(\"{x}\"); // Print 1\n}\n\nlet diff: HashSet<_> = a.difference(&b).collect();\nassert_eq!(diff, [1].iter().collect());\n\n// Note that difference is not symmetric,\n// and `b - a` means something else:\nlet diff: HashSet<_> = b.difference(&a).collect();\nassert_eq!(diff, [4].iter().collect());
    \n
    1.0.0 · source

    pub fn symmetric_difference<'a>(\n &'a self,\n other: &'a HashSet<T, S>,\n) -> SymmetricDifference<'a, T, S>

    Visits the values representing the symmetric difference,\ni.e., the values that are in self or in other but not in both.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 1, 4 in arbitrary order.\nfor x in a.symmetric_difference(&b) {\n    println!(\"{x}\");\n}\n\nlet diff1: HashSet<_> = a.symmetric_difference(&b).collect();\nlet diff2: HashSet<_> = b.symmetric_difference(&a).collect();\n\nassert_eq!(diff1, diff2);\nassert_eq!(diff1, [1, 4].iter().collect());
    \n
    1.0.0 · source

    pub fn intersection<'a>(\n &'a self,\n other: &'a HashSet<T, S>,\n) -> Intersection<'a, T, S>

    Visits the values representing the intersection,\ni.e., the values that are both in self and other.

    \n

    When an equal element is present in self and other\nthen the resulting Intersection may yield references to\none or the other. This can be relevant if T contains fields which\nare not compared by its Eq implementation, and may hold different\nvalue between the two equal copies of T in the two sets.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 2, 3 in arbitrary order.\nfor x in a.intersection(&b) {\n    println!(\"{x}\");\n}\n\nlet intersection: HashSet<_> = a.intersection(&b).collect();\nassert_eq!(intersection, [2, 3].iter().collect());
    \n
    1.0.0 · source

    pub fn union<'a>(&'a self, other: &'a HashSet<T, S>) -> Union<'a, T, S>

    Visits the values representing the union,\ni.e., all the values in self or other, without duplicates.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 1, 2, 3, 4 in arbitrary order.\nfor x in a.union(&b) {\n    println!(\"{x}\");\n}\n\nlet union: HashSet<_> = a.union(&b).collect();\nassert_eq!(union, [1, 2, 3, 4].iter().collect());
    \n
    1.0.0 · source

    pub fn contains<Q>(&self, value: &Q) -> bool
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns true if the set contains a value.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet set = HashSet::from([1, 2, 3]);\nassert_eq!(set.contains(&1), true);\nassert_eq!(set.contains(&4), false);
    \n
    1.9.0 · source

    pub fn get<Q>(&self, value: &Q) -> Option<&T>
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a reference to the value in the set, if any, that is equal to the given value.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet set = HashSet::from([1, 2, 3]);\nassert_eq!(set.get(&2), Some(&2));\nassert_eq!(set.get(&4), None);
    \n
    source

    pub fn get_or_insert(&mut self, value: T) -> &T

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts the given value into the set if it is not present, then\nreturns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert_eq!(set.len(), 3);\nassert_eq!(set.get_or_insert(2), &2);\nassert_eq!(set.get_or_insert(100), &100);\nassert_eq!(set.len(), 4); // 100 was inserted
    \n
    source

    pub fn get_or_insert_owned<Q>(&mut self, value: &Q) -> &T
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ToOwned<Owned = T> + ?Sized,

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts an owned copy of the given value into the set if it is not\npresent, then returns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set: HashSet<String> = [\"cat\", \"dog\", \"horse\"]\n    .iter().map(|&pet| pet.to_owned()).collect();\n\nassert_eq!(set.len(), 3);\nfor &pet in &[\"cat\", \"dog\", \"fish\"] {\n    let value = set.get_or_insert_owned(pet);\n    assert_eq!(value, pet);\n}\nassert_eq!(set.len(), 4); // a new \"fish\" was inserted
    \n
    source

    pub fn get_or_insert_with<Q, F>(&mut self, value: &Q, f: F) -> &T
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,\n F: FnOnce(&Q) -> T,

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts a value computed from f into the set if the given value is\nnot present, then returns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set: HashSet<String> = [\"cat\", \"dog\", \"horse\"]\n    .iter().map(|&pet| pet.to_owned()).collect();\n\nassert_eq!(set.len(), 3);\nfor &pet in &[\"cat\", \"dog\", \"fish\"] {\n    let value = set.get_or_insert_with(pet, str::to_owned);\n    assert_eq!(value, pet);\n}\nassert_eq!(set.len(), 4); // a new \"fish\" was inserted
    \n
    1.0.0 · source

    pub fn is_disjoint(&self, other: &HashSet<T, S>) -> bool

    Returns true if self has no elements in common with other.\nThis is equivalent to checking for an empty intersection.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet a = HashSet::from([1, 2, 3]);\nlet mut b = HashSet::new();\n\nassert_eq!(a.is_disjoint(&b), true);\nb.insert(4);\nassert_eq!(a.is_disjoint(&b), true);\nb.insert(1);\nassert_eq!(a.is_disjoint(&b), false);
    \n
    1.0.0 · source

    pub fn is_subset(&self, other: &HashSet<T, S>) -> bool

    Returns true if the set is a subset of another,\ni.e., other contains at least all the values in self.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet sup = HashSet::from([1, 2, 3]);\nlet mut set = HashSet::new();\n\nassert_eq!(set.is_subset(&sup), true);\nset.insert(2);\nassert_eq!(set.is_subset(&sup), true);\nset.insert(4);\nassert_eq!(set.is_subset(&sup), false);
    \n
    1.0.0 · source

    pub fn is_superset(&self, other: &HashSet<T, S>) -> bool

    Returns true if the set is a superset of another,\ni.e., self contains at least all the values in other.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet sub = HashSet::from([1, 2]);\nlet mut set = HashSet::new();\n\nassert_eq!(set.is_superset(&sub), false);\n\nset.insert(0);\nset.insert(1);\nassert_eq!(set.is_superset(&sub), false);\n\nset.insert(2);\nassert_eq!(set.is_superset(&sub), true);
    \n
    1.0.0 · source

    pub fn insert(&mut self, value: T) -> bool

    Adds a value to the set.

    \n

    Returns whether the value was newly inserted. That is:

    \n
      \n
    • If the set did not previously contain this value, true is returned.
    • \n
    • If the set already contained this value, false is returned,\nand the set is not modified: original value is not replaced,\nand the value passed as argument is dropped.
    • \n
    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\n\nassert_eq!(set.insert(2), true);\nassert_eq!(set.insert(2), false);\nassert_eq!(set.len(), 1);
    \n
    1.9.0 · source

    pub fn replace(&mut self, value: T) -> Option<T>

    Adds a value to the set, replacing the existing value, if any, that is equal to the given\none. Returns the replaced value.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\nset.insert(Vec::<i32>::new());\n\nassert_eq!(set.get(&[][..]).unwrap().capacity(), 0);\nset.replace(Vec::with_capacity(10));\nassert_eq!(set.get(&[][..]).unwrap().capacity(), 10);
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, value: &Q) -> bool
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a value from the set. Returns whether the value was\npresent in the set.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\n\nset.insert(2);\nassert_eq!(set.remove(&2), true);\nassert_eq!(set.remove(&2), false);
    \n
    1.9.0 · source

    pub fn take<Q>(&mut self, value: &Q) -> Option<T>
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes and returns the value in the set, if any, that is equal to the given one.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert_eq!(set.take(&2), Some(2));\nassert_eq!(set.take(&2), None);
    \n
    ",0,"massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<'de, T, S, E> IntoDeserializer<'de, E> for HashSet<T, S>
    where\n T: IntoDeserializer<'de, E> + Eq + Hash,\n S: BuildHasher,\n E: Error,

    §

    type Deserializer = SeqDeserializer<<HashSet<T, S> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self,\n) -> <HashSet<T, S> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.0.0 · source§

    impl<T, S> IntoIterator for HashSet<T, S>

    source§

    fn into_iter(self) -> IntoIter<T>

    Creates a consuming iterator, that is, one that moves each value out\nof the set in arbitrary order. The set cannot be used after calling\nthis.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set = HashSet::new();\nset.insert(\"a\".to_string());\nset.insert(\"b\".to_string());\n\n// Not possible to collect to a Vec<String> with a regular `.iter()`.\nlet v: Vec<String> = set.into_iter().collect();\n\n// Will print in an arbitrary order.\nfor x in &v {\n    println!(\"{x}\");\n}
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.0.0 · source§

    impl<T, S> PartialEq for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    source§

    fn eq(&self, other: &HashSet<T, S>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<T, H> Serialize for HashSet<T, H>
    where\n T: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<T, U, H> SerializeAs<HashSet<T, H>> for HashSet<U, H>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &HashSet<T, H>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<N, S> VisitMap<N> for HashSet<N, S>
    where\n N: Hash + Eq,\n S: BuildHasher,

    source§

    fn visit(&mut self, x: N) -> bool

    Mark a as visited. Read more
    source§

    fn is_visited(&self, x: &N) -> bool

    Return whether a has been visited before.
    ","VisitMap","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.0.0 · source§

    impl<T, S> Eq for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    ","Eq","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"]], -"massa_models":[["
    1.0.0 · source§

    impl<T, S> Clone for HashSet<T, S>
    where\n T: Clone,\n S: Clone,

    source§

    fn clone_from(&mut self, other: &HashSet<T, S>)

    Overwrites the contents of self with a clone of the contents of source.

    \n

    This method is preferred over simply assigning source.clone() to self,\nas it avoids reallocation if possible.

    \n
    source§

    fn clone(&self) -> HashSet<T, S>

    Returns a copy of the value. Read more
    ","Clone","massa_models::prehash::PreHashSet"],["
    1.0.0 · source§

    impl<T, S> Debug for HashSet<T, S>
    where\n T: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_models::prehash::PreHashSet"],["
    1.0.0 · source§

    impl<T, S> Default for HashSet<T, S>
    where\n S: Default,

    source§

    fn default() -> HashSet<T, S>

    Creates an empty HashSet<T, S> with the Default value for the hasher.

    \n
    ","Default","massa_models::prehash::PreHashSet"],["
    source§

    impl<'de, T, S> Deserialize<'de> for HashSet<T, S>
    where\n T: Deserialize<'de> + Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<HashSet<T, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_models::prehash::PreHashSet"],["
    source§

    impl<'de, T, U, S> DeserializeAs<'de, HashSet<T, S>> for HashSet<U, S>
    where\n U: DeserializeAs<'de, T>,\n T: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<HashSet<T, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashSet>","massa_models::prehash::PreHashSet"],["
    1.4.0 · source§

    impl<'a, T, S> Extend<&'a T> for HashSet<T, S>
    where\n T: 'a + Eq + Hash + Copy,\n S: BuildHasher,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = &'a T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: &'a T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<&'a T>","massa_models::prehash::PreHashSet"],["
    1.0.0 · source§

    impl<T, S> Extend<T> for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, item: T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend","massa_models::prehash::PreHashSet"],["
    source§

    impl<N, S> FilterNode<N> for HashSet<N, S>
    where\n HashSet<N, S>: VisitMap<N>,

    This filter includes the nodes that are contained in the set.

    \n
    source§

    fn include_node(&self, n: N) -> bool

    Return true to have the node be part of the graph
    ","FilterNode","massa_models::prehash::PreHashSet"],["
    1.0.0 · source§

    impl<T, S> FromIterator<T> for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn from_iter<I>(iter: I) -> HashSet<T, S>
    where\n I: IntoIterator<Item = T>,

    Creates a value from an iterator. Read more
    ","FromIterator","massa_models::prehash::PreHashSet"],["
    source§

    impl<T, S> HashSet<T, S>

    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the number of elements the set can hold without reallocating.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet set: HashSet<i32> = HashSet::with_capacity(100);\nassert!(set.capacity() >= 100);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    An iterator visiting all elements in arbitrary order.\nThe iterator element type is &'a T.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set = HashSet::new();\nset.insert(\"a\");\nset.insert(\"b\");\n\n// Will print in an arbitrary order.\nfor x in set.iter() {\n    println!(\"{x}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over set takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the set.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nassert_eq!(v.len(), 0);\nv.insert(1);\nassert_eq!(v.len(), 1);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the set contains no elements.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nassert!(v.is_empty());\nv.insert(1);\nassert!(!v.is_empty());
    \n
    1.6.0 · source

    pub fn drain(&mut self) -> Drain<'_, T>

    Clears the set, returning all elements as an iterator. Keeps the\nallocated memory for reuse.

    \n

    If the returned iterator is dropped before being fully consumed, it\ndrops the remaining elements. The returned iterator keeps a mutable\nborrow on the set to optimize its implementation.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert!(!set.is_empty());\n\n// print 1, 2, 3 in an arbitrary order\nfor i in set.drain() {\n    println!(\"{i}\");\n}\n\nassert!(set.is_empty());
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, T, F>
    where\n F: FnMut(&T) -> bool,

    🔬This is a nightly-only experimental API. (hash_extract_if)

    Creates an iterator which uses a closure to determine if a value should be removed.

    \n

    If the closure returns true, then the value is removed and yielded.\nIf the closure returns false, the value will remain in the list and will not be yielded\nby the iterator.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a set into even and odd values, reusing the original set:

    \n\n
    #![feature(hash_extract_if)]\nuse std::collections::HashSet;\n\nlet mut set: HashSet<i32> = (0..8).collect();\nlet extracted: HashSet<i32> = set.extract_if(|v| v % 2 == 0).collect();\n\nlet mut evens = extracted.into_iter().collect::<Vec<_>>();\nlet mut odds = set.into_iter().collect::<Vec<_>>();\nevens.sort();\nodds.sort();\n\nassert_eq!(evens, vec![0, 2, 4, 6]);\nassert_eq!(odds, vec![1, 3, 5, 7]);
    \n
    1.18.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\nThe elements are visited in unsorted (and unspecified) order.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3, 4, 5, 6]);\nset.retain(|&k| k % 2 == 0);\nassert_eq!(set, HashSet::from([2, 4, 6]));
    \n
    §Performance
    \n

    In the current implementation, this operation takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the set, removing all values.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nv.insert(1);\nv.clear();\nassert!(v.is_empty());
    \n
    1.7.0 (const: unstable) · source

    pub fn with_hasher(hasher: S) -> HashSet<T, S>

    Creates a new empty hash set which will use the given hasher to hash\nkeys.

    \n

    The hash set is also created with the default initial capacity.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashSets to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut set = HashSet::with_hasher(s);\nset.insert(2);
    \n
    1.7.0 · source

    pub fn with_capacity_and_hasher(capacity: usize, hasher: S) -> HashSet<T, S>

    Creates an empty HashSet with at least the specified capacity, using\nhasher to hash the keys.

    \n

    The hash set will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash set will not allocate.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashSets to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut set = HashSet::with_capacity_and_hasher(10, s);\nset.insert(1);
    \n
    1.9.0 · source

    pub fn hasher(&self) -> &S

    Returns a reference to the set’s BuildHasher.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet set: HashSet<i32> = HashSet::with_hasher(hasher);\nlet hasher: &RandomState = set.hasher();
    \n
    ",0,"massa_models::prehash::PreHashSet"],["
    source§

    impl<T, S> HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the HashSet. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    §Panics
    \n

    Panics if the new allocation size overflows usize.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set: HashSet<i32> = HashSet::new();\nset.reserve(10);\nassert!(set.capacity() >= 10);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the HashSet. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling try_reserve,\ncapacity will be greater than or equal to self.len() + additional if\nit returns Ok(()).\nDoes nothing if capacity is already sufficient.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set: HashSet<i32> = HashSet::new();\nset.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the set as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::with_capacity(100);\nset.insert(1);\nset.insert(2);\nassert!(set.capacity() >= 100);\nset.shrink_to_fit();\nassert!(set.capacity() >= 2);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the set with a lower limit. It will drop\ndown no lower than the supplied limit while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::with_capacity(100);\nset.insert(1);\nset.insert(2);\nassert!(set.capacity() >= 100);\nset.shrink_to(10);\nassert!(set.capacity() >= 10);\nset.shrink_to(0);\nassert!(set.capacity() >= 2);
    \n
    1.0.0 · source

    pub fn difference<'a>(\n &'a self,\n other: &'a HashSet<T, S>,\n) -> Difference<'a, T, S>

    Visits the values representing the difference,\ni.e., the values that are in self but not in other.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Can be seen as `a - b`.\nfor x in a.difference(&b) {\n    println!(\"{x}\"); // Print 1\n}\n\nlet diff: HashSet<_> = a.difference(&b).collect();\nassert_eq!(diff, [1].iter().collect());\n\n// Note that difference is not symmetric,\n// and `b - a` means something else:\nlet diff: HashSet<_> = b.difference(&a).collect();\nassert_eq!(diff, [4].iter().collect());
    \n
    1.0.0 · source

    pub fn symmetric_difference<'a>(\n &'a self,\n other: &'a HashSet<T, S>,\n) -> SymmetricDifference<'a, T, S>

    Visits the values representing the symmetric difference,\ni.e., the values that are in self or in other but not in both.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 1, 4 in arbitrary order.\nfor x in a.symmetric_difference(&b) {\n    println!(\"{x}\");\n}\n\nlet diff1: HashSet<_> = a.symmetric_difference(&b).collect();\nlet diff2: HashSet<_> = b.symmetric_difference(&a).collect();\n\nassert_eq!(diff1, diff2);\nassert_eq!(diff1, [1, 4].iter().collect());
    \n
    1.0.0 · source

    pub fn intersection<'a>(\n &'a self,\n other: &'a HashSet<T, S>,\n) -> Intersection<'a, T, S>

    Visits the values representing the intersection,\ni.e., the values that are both in self and other.

    \n

    When an equal element is present in self and other\nthen the resulting Intersection may yield references to\none or the other. This can be relevant if T contains fields which\nare not compared by its Eq implementation, and may hold different\nvalue between the two equal copies of T in the two sets.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 2, 3 in arbitrary order.\nfor x in a.intersection(&b) {\n    println!(\"{x}\");\n}\n\nlet intersection: HashSet<_> = a.intersection(&b).collect();\nassert_eq!(intersection, [2, 3].iter().collect());
    \n
    1.0.0 · source

    pub fn union<'a>(&'a self, other: &'a HashSet<T, S>) -> Union<'a, T, S>

    Visits the values representing the union,\ni.e., all the values in self or other, without duplicates.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 1, 2, 3, 4 in arbitrary order.\nfor x in a.union(&b) {\n    println!(\"{x}\");\n}\n\nlet union: HashSet<_> = a.union(&b).collect();\nassert_eq!(union, [1, 2, 3, 4].iter().collect());
    \n
    1.0.0 · source

    pub fn contains<Q>(&self, value: &Q) -> bool
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns true if the set contains a value.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet set = HashSet::from([1, 2, 3]);\nassert_eq!(set.contains(&1), true);\nassert_eq!(set.contains(&4), false);
    \n
    1.9.0 · source

    pub fn get<Q>(&self, value: &Q) -> Option<&T>
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a reference to the value in the set, if any, that is equal to the given value.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet set = HashSet::from([1, 2, 3]);\nassert_eq!(set.get(&2), Some(&2));\nassert_eq!(set.get(&4), None);
    \n
    source

    pub fn get_or_insert(&mut self, value: T) -> &T

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts the given value into the set if it is not present, then\nreturns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert_eq!(set.len(), 3);\nassert_eq!(set.get_or_insert(2), &2);\nassert_eq!(set.get_or_insert(100), &100);\nassert_eq!(set.len(), 4); // 100 was inserted
    \n
    source

    pub fn get_or_insert_owned<Q>(&mut self, value: &Q) -> &T
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ToOwned<Owned = T> + ?Sized,

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts an owned copy of the given value into the set if it is not\npresent, then returns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set: HashSet<String> = [\"cat\", \"dog\", \"horse\"]\n    .iter().map(|&pet| pet.to_owned()).collect();\n\nassert_eq!(set.len(), 3);\nfor &pet in &[\"cat\", \"dog\", \"fish\"] {\n    let value = set.get_or_insert_owned(pet);\n    assert_eq!(value, pet);\n}\nassert_eq!(set.len(), 4); // a new \"fish\" was inserted
    \n
    source

    pub fn get_or_insert_with<Q, F>(&mut self, value: &Q, f: F) -> &T
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,\n F: FnOnce(&Q) -> T,

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts a value computed from f into the set if the given value is\nnot present, then returns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set: HashSet<String> = [\"cat\", \"dog\", \"horse\"]\n    .iter().map(|&pet| pet.to_owned()).collect();\n\nassert_eq!(set.len(), 3);\nfor &pet in &[\"cat\", \"dog\", \"fish\"] {\n    let value = set.get_or_insert_with(pet, str::to_owned);\n    assert_eq!(value, pet);\n}\nassert_eq!(set.len(), 4); // a new \"fish\" was inserted
    \n
    1.0.0 · source

    pub fn is_disjoint(&self, other: &HashSet<T, S>) -> bool

    Returns true if self has no elements in common with other.\nThis is equivalent to checking for an empty intersection.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet a = HashSet::from([1, 2, 3]);\nlet mut b = HashSet::new();\n\nassert_eq!(a.is_disjoint(&b), true);\nb.insert(4);\nassert_eq!(a.is_disjoint(&b), true);\nb.insert(1);\nassert_eq!(a.is_disjoint(&b), false);
    \n
    1.0.0 · source

    pub fn is_subset(&self, other: &HashSet<T, S>) -> bool

    Returns true if the set is a subset of another,\ni.e., other contains at least all the values in self.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet sup = HashSet::from([1, 2, 3]);\nlet mut set = HashSet::new();\n\nassert_eq!(set.is_subset(&sup), true);\nset.insert(2);\nassert_eq!(set.is_subset(&sup), true);\nset.insert(4);\nassert_eq!(set.is_subset(&sup), false);
    \n
    1.0.0 · source

    pub fn is_superset(&self, other: &HashSet<T, S>) -> bool

    Returns true if the set is a superset of another,\ni.e., self contains at least all the values in other.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet sub = HashSet::from([1, 2]);\nlet mut set = HashSet::new();\n\nassert_eq!(set.is_superset(&sub), false);\n\nset.insert(0);\nset.insert(1);\nassert_eq!(set.is_superset(&sub), false);\n\nset.insert(2);\nassert_eq!(set.is_superset(&sub), true);
    \n
    1.0.0 · source

    pub fn insert(&mut self, value: T) -> bool

    Adds a value to the set.

    \n

    Returns whether the value was newly inserted. That is:

    \n
      \n
    • If the set did not previously contain this value, true is returned.
    • \n
    • If the set already contained this value, false is returned,\nand the set is not modified: original value is not replaced,\nand the value passed as argument is dropped.
    • \n
    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\n\nassert_eq!(set.insert(2), true);\nassert_eq!(set.insert(2), false);\nassert_eq!(set.len(), 1);
    \n
    1.9.0 · source

    pub fn replace(&mut self, value: T) -> Option<T>

    Adds a value to the set, replacing the existing value, if any, that is equal to the given\none. Returns the replaced value.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\nset.insert(Vec::<i32>::new());\n\nassert_eq!(set.get(&[][..]).unwrap().capacity(), 0);\nset.replace(Vec::with_capacity(10));\nassert_eq!(set.get(&[][..]).unwrap().capacity(), 10);
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, value: &Q) -> bool
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a value from the set. Returns whether the value was\npresent in the set.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\n\nset.insert(2);\nassert_eq!(set.remove(&2), true);\nassert_eq!(set.remove(&2), false);
    \n
    1.9.0 · source

    pub fn take<Q>(&mut self, value: &Q) -> Option<T>
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes and returns the value in the set, if any, that is equal to the given one.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert_eq!(set.take(&2), Some(2));\nassert_eq!(set.take(&2), None);
    \n
    ",0,"massa_models::prehash::PreHashSet"],["
    source§

    impl<'de, T, S, E> IntoDeserializer<'de, E> for HashSet<T, S>
    where\n T: IntoDeserializer<'de, E> + Eq + Hash,\n S: BuildHasher,\n E: Error,

    §

    type Deserializer = SeqDeserializer<<HashSet<T, S> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self,\n) -> <HashSet<T, S> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","massa_models::prehash::PreHashSet"],["
    1.0.0 · source§

    impl<T, S> IntoIterator for HashSet<T, S>

    source§

    fn into_iter(self) -> IntoIter<T>

    Creates a consuming iterator, that is, one that moves each value out\nof the set in arbitrary order. The set cannot be used after calling\nthis.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set = HashSet::new();\nset.insert(\"a\".to_string());\nset.insert(\"b\".to_string());\n\n// Not possible to collect to a Vec<String> with a regular `.iter()`.\nlet v: Vec<String> = set.into_iter().collect();\n\n// Will print in an arbitrary order.\nfor x in &v {\n    println!(\"{x}\");\n}
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_models::prehash::PreHashSet"],["
    1.0.0 · source§

    impl<T, S> PartialEq for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    source§

    fn eq(&self, other: &HashSet<T, S>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_models::prehash::PreHashSet"],["
    source§

    impl<T, H> Serialize for HashSet<T, H>
    where\n T: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_models::prehash::PreHashSet"],["
    source§

    impl<T, U, H> SerializeAs<HashSet<T, H>> for HashSet<U, H>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &HashSet<T, H>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::prehash::PreHashSet"],["
    source§

    impl<N, S> VisitMap<N> for HashSet<N, S>
    where\n N: Hash + Eq,\n S: BuildHasher,

    source§

    fn visit(&mut self, x: N) -> bool

    Mark a as visited. Read more
    source§

    fn is_visited(&self, x: &N) -> bool

    Return whether a has been visited before.
    ","VisitMap","massa_models::prehash::PreHashSet"],["
    1.0.0 · source§

    impl<T, S> Eq for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    ","Eq","massa_models::prehash::PreHashSet"]] +"massa_executed_ops":[["
    1.0.0 · source§

    impl<T, S> Clone for HashSet<T, S>
    where\n T: Clone,\n S: Clone,

    source§

    fn clone_from(&mut self, other: &HashSet<T, S>)

    Overwrites the contents of self with a clone of the contents of source.

    \n

    This method is preferred over simply assigning source.clone() to self,\nas it avoids reallocation if possible.

    \n
    source§

    fn clone(&self) -> HashSet<T, S>

    Returns a copy of the value. Read more
    ","Clone","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.0.0 · source§

    impl<T, S> Debug for HashSet<T, S>
    where\n T: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.0.0 · source§

    impl<T, S> Default for HashSet<T, S>
    where\n S: Default,

    source§

    fn default() -> HashSet<T, S>

    Creates an empty HashSet<T, S> with the Default value for the hasher.

    \n
    ","Default","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<'de, T, S> Deserialize<'de> for HashSet<T, S>
    where\n T: Deserialize<'de> + Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<HashSet<T, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<'de, T, U, S> DeserializeAs<'de, HashSet<T, S>> for HashSet<U, S>
    where\n U: DeserializeAs<'de, T>,\n T: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<HashSet<T, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashSet>","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.4.0 · source§

    impl<'a, T, S> Extend<&'a T> for HashSet<T, S>
    where\n T: 'a + Eq + Hash + Copy,\n S: BuildHasher,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = &'a T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: &'a T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<&'a T>","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.0.0 · source§

    impl<T, S> Extend<T> for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, item: T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<N, S> FilterNode<N> for HashSet<N, S>
    where\n HashSet<N, S>: VisitMap<N>,

    This filter includes the nodes that are contained in the set.

    \n
    source§

    fn include_node(&self, n: N) -> bool

    Return true to have the node be part of the graph
    ","FilterNode","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.56.0 · source§

    impl<T, const N: usize> From<[T; N]> for HashSet<T>
    where\n T: Eq + Hash,

    source§

    fn from(arr: [T; N]) -> HashSet<T>

    §Examples
    \n
    use std::collections::HashSet;\n\nlet set1 = HashSet::from([1, 2, 3, 4]);\nlet set2: HashSet<_> = [1, 2, 3, 4].into();\nassert_eq!(set1, set2);
    \n
    ","From<[T; N]>","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.0.0 · source§

    impl<T, S> FromIterator<T> for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn from_iter<I>(iter: I) -> HashSet<T, S>
    where\n I: IntoIterator<Item = T>,

    Creates a value from an iterator. Read more
    ","FromIterator","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<T> HashSet<T>

    1.0.0 · source

    pub fn new() -> HashSet<T>

    Creates an empty HashSet.

    \n

    The hash set is initially created with a capacity of 0, so it will not allocate until it\nis first inserted into.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet set: HashSet<i32> = HashSet::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> HashSet<T>

    Creates an empty HashSet with at least the specified capacity.

    \n

    The hash set will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash set will not allocate.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet set: HashSet<i32> = HashSet::with_capacity(10);\nassert!(set.capacity() >= 10);
    \n
    ",0,"massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<T, S> HashSet<T, S>

    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the number of elements the set can hold without reallocating.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet set: HashSet<i32> = HashSet::with_capacity(100);\nassert!(set.capacity() >= 100);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    An iterator visiting all elements in arbitrary order.\nThe iterator element type is &'a T.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set = HashSet::new();\nset.insert(\"a\");\nset.insert(\"b\");\n\n// Will print in an arbitrary order.\nfor x in set.iter() {\n    println!(\"{x}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over set takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the set.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nassert_eq!(v.len(), 0);\nv.insert(1);\nassert_eq!(v.len(), 1);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the set contains no elements.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nassert!(v.is_empty());\nv.insert(1);\nassert!(!v.is_empty());
    \n
    1.6.0 · source

    pub fn drain(&mut self) -> Drain<'_, T>

    Clears the set, returning all elements as an iterator. Keeps the\nallocated memory for reuse.

    \n

    If the returned iterator is dropped before being fully consumed, it\ndrops the remaining elements. The returned iterator keeps a mutable\nborrow on the set to optimize its implementation.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert!(!set.is_empty());\n\n// print 1, 2, 3 in an arbitrary order\nfor i in set.drain() {\n    println!(\"{i}\");\n}\n\nassert!(set.is_empty());
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, T, F>
    where\n F: FnMut(&T) -> bool,

    🔬This is a nightly-only experimental API. (hash_extract_if)

    Creates an iterator which uses a closure to determine if a value should be removed.

    \n

    If the closure returns true, then the value is removed and yielded.\nIf the closure returns false, the value will remain in the list and will not be yielded\nby the iterator.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a set into even and odd values, reusing the original set:

    \n\n
    #![feature(hash_extract_if)]\nuse std::collections::HashSet;\n\nlet mut set: HashSet<i32> = (0..8).collect();\nlet extracted: HashSet<i32> = set.extract_if(|v| v % 2 == 0).collect();\n\nlet mut evens = extracted.into_iter().collect::<Vec<_>>();\nlet mut odds = set.into_iter().collect::<Vec<_>>();\nevens.sort();\nodds.sort();\n\nassert_eq!(evens, vec![0, 2, 4, 6]);\nassert_eq!(odds, vec![1, 3, 5, 7]);
    \n
    1.18.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\nThe elements are visited in unsorted (and unspecified) order.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3, 4, 5, 6]);\nset.retain(|&k| k % 2 == 0);\nassert_eq!(set, HashSet::from([2, 4, 6]));
    \n
    §Performance
    \n

    In the current implementation, this operation takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the set, removing all values.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nv.insert(1);\nv.clear();\nassert!(v.is_empty());
    \n
    1.7.0 (const: unstable) · source

    pub fn with_hasher(hasher: S) -> HashSet<T, S>

    Creates a new empty hash set which will use the given hasher to hash\nkeys.

    \n

    The hash set is also created with the default initial capacity.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashSets to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut set = HashSet::with_hasher(s);\nset.insert(2);
    \n
    1.7.0 · source

    pub fn with_capacity_and_hasher(capacity: usize, hasher: S) -> HashSet<T, S>

    Creates an empty HashSet with at least the specified capacity, using\nhasher to hash the keys.

    \n

    The hash set will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash set will not allocate.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashSets to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut set = HashSet::with_capacity_and_hasher(10, s);\nset.insert(1);
    \n
    1.9.0 · source

    pub fn hasher(&self) -> &S

    Returns a reference to the set’s BuildHasher.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet set: HashSet<i32> = HashSet::with_hasher(hasher);\nlet hasher: &RandomState = set.hasher();
    \n
    ",0,"massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<T, S> HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the HashSet. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    §Panics
    \n

    Panics if the new allocation size overflows usize.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set: HashSet<i32> = HashSet::new();\nset.reserve(10);\nassert!(set.capacity() >= 10);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the HashSet. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling try_reserve,\ncapacity will be greater than or equal to self.len() + additional if\nit returns Ok(()).\nDoes nothing if capacity is already sufficient.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set: HashSet<i32> = HashSet::new();\nset.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the set as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::with_capacity(100);\nset.insert(1);\nset.insert(2);\nassert!(set.capacity() >= 100);\nset.shrink_to_fit();\nassert!(set.capacity() >= 2);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the set with a lower limit. It will drop\ndown no lower than the supplied limit while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::with_capacity(100);\nset.insert(1);\nset.insert(2);\nassert!(set.capacity() >= 100);\nset.shrink_to(10);\nassert!(set.capacity() >= 10);\nset.shrink_to(0);\nassert!(set.capacity() >= 2);
    \n
    1.0.0 · source

    pub fn difference<'a>(\n &'a self,\n other: &'a HashSet<T, S>,\n) -> Difference<'a, T, S>

    Visits the values representing the difference,\ni.e., the values that are in self but not in other.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Can be seen as `a - b`.\nfor x in a.difference(&b) {\n    println!(\"{x}\"); // Print 1\n}\n\nlet diff: HashSet<_> = a.difference(&b).collect();\nassert_eq!(diff, [1].iter().collect());\n\n// Note that difference is not symmetric,\n// and `b - a` means something else:\nlet diff: HashSet<_> = b.difference(&a).collect();\nassert_eq!(diff, [4].iter().collect());
    \n
    1.0.0 · source

    pub fn symmetric_difference<'a>(\n &'a self,\n other: &'a HashSet<T, S>,\n) -> SymmetricDifference<'a, T, S>

    Visits the values representing the symmetric difference,\ni.e., the values that are in self or in other but not in both.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 1, 4 in arbitrary order.\nfor x in a.symmetric_difference(&b) {\n    println!(\"{x}\");\n}\n\nlet diff1: HashSet<_> = a.symmetric_difference(&b).collect();\nlet diff2: HashSet<_> = b.symmetric_difference(&a).collect();\n\nassert_eq!(diff1, diff2);\nassert_eq!(diff1, [1, 4].iter().collect());
    \n
    1.0.0 · source

    pub fn intersection<'a>(\n &'a self,\n other: &'a HashSet<T, S>,\n) -> Intersection<'a, T, S>

    Visits the values representing the intersection,\ni.e., the values that are both in self and other.

    \n

    When an equal element is present in self and other\nthen the resulting Intersection may yield references to\none or the other. This can be relevant if T contains fields which\nare not compared by its Eq implementation, and may hold different\nvalue between the two equal copies of T in the two sets.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 2, 3 in arbitrary order.\nfor x in a.intersection(&b) {\n    println!(\"{x}\");\n}\n\nlet intersection: HashSet<_> = a.intersection(&b).collect();\nassert_eq!(intersection, [2, 3].iter().collect());
    \n
    1.0.0 · source

    pub fn union<'a>(&'a self, other: &'a HashSet<T, S>) -> Union<'a, T, S>

    Visits the values representing the union,\ni.e., all the values in self or other, without duplicates.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 1, 2, 3, 4 in arbitrary order.\nfor x in a.union(&b) {\n    println!(\"{x}\");\n}\n\nlet union: HashSet<_> = a.union(&b).collect();\nassert_eq!(union, [1, 2, 3, 4].iter().collect());
    \n
    1.0.0 · source

    pub fn contains<Q>(&self, value: &Q) -> bool
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns true if the set contains a value.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet set = HashSet::from([1, 2, 3]);\nassert_eq!(set.contains(&1), true);\nassert_eq!(set.contains(&4), false);
    \n
    1.9.0 · source

    pub fn get<Q>(&self, value: &Q) -> Option<&T>
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a reference to the value in the set, if any, that is equal to the given value.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet set = HashSet::from([1, 2, 3]);\nassert_eq!(set.get(&2), Some(&2));\nassert_eq!(set.get(&4), None);
    \n
    source

    pub fn get_or_insert(&mut self, value: T) -> &T

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts the given value into the set if it is not present, then\nreturns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert_eq!(set.len(), 3);\nassert_eq!(set.get_or_insert(2), &2);\nassert_eq!(set.get_or_insert(100), &100);\nassert_eq!(set.len(), 4); // 100 was inserted
    \n
    source

    pub fn get_or_insert_owned<Q>(&mut self, value: &Q) -> &T
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ToOwned<Owned = T> + ?Sized,

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts an owned copy of the given value into the set if it is not\npresent, then returns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set: HashSet<String> = [\"cat\", \"dog\", \"horse\"]\n    .iter().map(|&pet| pet.to_owned()).collect();\n\nassert_eq!(set.len(), 3);\nfor &pet in &[\"cat\", \"dog\", \"fish\"] {\n    let value = set.get_or_insert_owned(pet);\n    assert_eq!(value, pet);\n}\nassert_eq!(set.len(), 4); // a new \"fish\" was inserted
    \n
    source

    pub fn get_or_insert_with<Q, F>(&mut self, value: &Q, f: F) -> &T
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,\n F: FnOnce(&Q) -> T,

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts a value computed from f into the set if the given value is\nnot present, then returns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set: HashSet<String> = [\"cat\", \"dog\", \"horse\"]\n    .iter().map(|&pet| pet.to_owned()).collect();\n\nassert_eq!(set.len(), 3);\nfor &pet in &[\"cat\", \"dog\", \"fish\"] {\n    let value = set.get_or_insert_with(pet, str::to_owned);\n    assert_eq!(value, pet);\n}\nassert_eq!(set.len(), 4); // a new \"fish\" was inserted
    \n
    1.0.0 · source

    pub fn is_disjoint(&self, other: &HashSet<T, S>) -> bool

    Returns true if self has no elements in common with other.\nThis is equivalent to checking for an empty intersection.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet a = HashSet::from([1, 2, 3]);\nlet mut b = HashSet::new();\n\nassert_eq!(a.is_disjoint(&b), true);\nb.insert(4);\nassert_eq!(a.is_disjoint(&b), true);\nb.insert(1);\nassert_eq!(a.is_disjoint(&b), false);
    \n
    1.0.0 · source

    pub fn is_subset(&self, other: &HashSet<T, S>) -> bool

    Returns true if the set is a subset of another,\ni.e., other contains at least all the values in self.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet sup = HashSet::from([1, 2, 3]);\nlet mut set = HashSet::new();\n\nassert_eq!(set.is_subset(&sup), true);\nset.insert(2);\nassert_eq!(set.is_subset(&sup), true);\nset.insert(4);\nassert_eq!(set.is_subset(&sup), false);
    \n
    1.0.0 · source

    pub fn is_superset(&self, other: &HashSet<T, S>) -> bool

    Returns true if the set is a superset of another,\ni.e., self contains at least all the values in other.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet sub = HashSet::from([1, 2]);\nlet mut set = HashSet::new();\n\nassert_eq!(set.is_superset(&sub), false);\n\nset.insert(0);\nset.insert(1);\nassert_eq!(set.is_superset(&sub), false);\n\nset.insert(2);\nassert_eq!(set.is_superset(&sub), true);
    \n
    1.0.0 · source

    pub fn insert(&mut self, value: T) -> bool

    Adds a value to the set.

    \n

    Returns whether the value was newly inserted. That is:

    \n
      \n
    • If the set did not previously contain this value, true is returned.
    • \n
    • If the set already contained this value, false is returned,\nand the set is not modified: original value is not replaced,\nand the value passed as argument is dropped.
    • \n
    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\n\nassert_eq!(set.insert(2), true);\nassert_eq!(set.insert(2), false);\nassert_eq!(set.len(), 1);
    \n
    1.9.0 · source

    pub fn replace(&mut self, value: T) -> Option<T>

    Adds a value to the set, replacing the existing value, if any, that is equal to the given\none. Returns the replaced value.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\nset.insert(Vec::<i32>::new());\n\nassert_eq!(set.get(&[][..]).unwrap().capacity(), 0);\nset.replace(Vec::with_capacity(10));\nassert_eq!(set.get(&[][..]).unwrap().capacity(), 10);
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, value: &Q) -> bool
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a value from the set. Returns whether the value was\npresent in the set.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\n\nset.insert(2);\nassert_eq!(set.remove(&2), true);\nassert_eq!(set.remove(&2), false);
    \n
    1.9.0 · source

    pub fn take<Q>(&mut self, value: &Q) -> Option<T>
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes and returns the value in the set, if any, that is equal to the given one.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert_eq!(set.take(&2), Some(2));\nassert_eq!(set.take(&2), None);
    \n
    ",0,"massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<'de, T, S, E> IntoDeserializer<'de, E> for HashSet<T, S>
    where\n T: IntoDeserializer<'de, E> + Eq + Hash,\n S: BuildHasher,\n E: Error,

    §

    type Deserializer = SeqDeserializer<<HashSet<T, S> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self,\n) -> <HashSet<T, S> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.0.0 · source§

    impl<T, S> IntoIterator for HashSet<T, S>

    source§

    fn into_iter(self) -> IntoIter<T>

    Creates a consuming iterator, that is, one that moves each value out\nof the set in arbitrary order. The set cannot be used after calling\nthis.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set = HashSet::new();\nset.insert(\"a\".to_string());\nset.insert(\"b\".to_string());\n\n// Not possible to collect to a Vec<String> with a regular `.iter()`.\nlet v: Vec<String> = set.into_iter().collect();\n\n// Will print in an arbitrary order.\nfor x in &v {\n    println!(\"{x}\");\n}
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.0.0 · source§

    impl<T, S> PartialEq for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    source§

    fn eq(&self, other: &HashSet<T, S>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<T, H> Serialize for HashSet<T, H>
    where\n T: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<T, U, H> SerializeAs<HashSet<T, H>> for HashSet<U, H>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &HashSet<T, H>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    source§

    impl<N, S> VisitMap<N> for HashSet<N, S>
    where\n N: Hash + Eq,\n S: BuildHasher,

    source§

    fn visit(&mut self, x: N) -> bool

    Mark a as visited. Read more
    source§

    fn is_visited(&self, x: &N) -> bool

    Return whether a has been visited before.
    ","VisitMap","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"],["
    1.0.0 · source§

    impl<T, S> Eq for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    ","Eq","massa_executed_ops::denunciations_changes::ExecutedDenunciationsChanges"]], +"massa_models":[["
    1.0.0 · source§

    impl<T, S> Clone for HashSet<T, S>
    where\n T: Clone,\n S: Clone,

    source§

    fn clone_from(&mut self, other: &HashSet<T, S>)

    Overwrites the contents of self with a clone of the contents of source.

    \n

    This method is preferred over simply assigning source.clone() to self,\nas it avoids reallocation if possible.

    \n
    source§

    fn clone(&self) -> HashSet<T, S>

    Returns a copy of the value. Read more
    ","Clone","massa_models::prehash::PreHashSet"],["
    1.0.0 · source§

    impl<T, S> Debug for HashSet<T, S>
    where\n T: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","massa_models::prehash::PreHashSet"],["
    1.0.0 · source§

    impl<T, S> Default for HashSet<T, S>
    where\n S: Default,

    source§

    fn default() -> HashSet<T, S>

    Creates an empty HashSet<T, S> with the Default value for the hasher.

    \n
    ","Default","massa_models::prehash::PreHashSet"],["
    source§

    impl<'de, T, S> Deserialize<'de> for HashSet<T, S>
    where\n T: Deserialize<'de> + Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<HashSet<T, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","massa_models::prehash::PreHashSet"],["
    source§

    impl<'de, T, U, S> DeserializeAs<'de, HashSet<T, S>> for HashSet<U, S>
    where\n U: DeserializeAs<'de, T>,\n T: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize_as<D>(\n deserializer: D,\n) -> Result<HashSet<T, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, HashSet>","massa_models::prehash::PreHashSet"],["
    1.4.0 · source§

    impl<'a, T, S> Extend<&'a T> for HashSet<T, S>
    where\n T: 'a + Eq + Hash + Copy,\n S: BuildHasher,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = &'a T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: &'a T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<&'a T>","massa_models::prehash::PreHashSet"],["
    1.0.0 · source§

    impl<T, S> Extend<T> for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, item: T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend","massa_models::prehash::PreHashSet"],["
    source§

    impl<N, S> FilterNode<N> for HashSet<N, S>
    where\n HashSet<N, S>: VisitMap<N>,

    This filter includes the nodes that are contained in the set.

    \n
    source§

    fn include_node(&self, n: N) -> bool

    Return true to have the node be part of the graph
    ","FilterNode","massa_models::prehash::PreHashSet"],["
    1.0.0 · source§

    impl<T, S> FromIterator<T> for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn from_iter<I>(iter: I) -> HashSet<T, S>
    where\n I: IntoIterator<Item = T>,

    Creates a value from an iterator. Read more
    ","FromIterator","massa_models::prehash::PreHashSet"],["
    source§

    impl<T, S> HashSet<T, S>

    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the number of elements the set can hold without reallocating.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet set: HashSet<i32> = HashSet::with_capacity(100);\nassert!(set.capacity() >= 100);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    An iterator visiting all elements in arbitrary order.\nThe iterator element type is &'a T.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set = HashSet::new();\nset.insert(\"a\");\nset.insert(\"b\");\n\n// Will print in an arbitrary order.\nfor x in set.iter() {\n    println!(\"{x}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over set takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the set.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nassert_eq!(v.len(), 0);\nv.insert(1);\nassert_eq!(v.len(), 1);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the set contains no elements.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nassert!(v.is_empty());\nv.insert(1);\nassert!(!v.is_empty());
    \n
    1.6.0 · source

    pub fn drain(&mut self) -> Drain<'_, T>

    Clears the set, returning all elements as an iterator. Keeps the\nallocated memory for reuse.

    \n

    If the returned iterator is dropped before being fully consumed, it\ndrops the remaining elements. The returned iterator keeps a mutable\nborrow on the set to optimize its implementation.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert!(!set.is_empty());\n\n// print 1, 2, 3 in an arbitrary order\nfor i in set.drain() {\n    println!(\"{i}\");\n}\n\nassert!(set.is_empty());
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, T, F>
    where\n F: FnMut(&T) -> bool,

    🔬This is a nightly-only experimental API. (hash_extract_if)

    Creates an iterator which uses a closure to determine if a value should be removed.

    \n

    If the closure returns true, then the value is removed and yielded.\nIf the closure returns false, the value will remain in the list and will not be yielded\nby the iterator.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a set into even and odd values, reusing the original set:

    \n\n
    #![feature(hash_extract_if)]\nuse std::collections::HashSet;\n\nlet mut set: HashSet<i32> = (0..8).collect();\nlet extracted: HashSet<i32> = set.extract_if(|v| v % 2 == 0).collect();\n\nlet mut evens = extracted.into_iter().collect::<Vec<_>>();\nlet mut odds = set.into_iter().collect::<Vec<_>>();\nevens.sort();\nodds.sort();\n\nassert_eq!(evens, vec![0, 2, 4, 6]);\nassert_eq!(odds, vec![1, 3, 5, 7]);
    \n
    1.18.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\nThe elements are visited in unsorted (and unspecified) order.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3, 4, 5, 6]);\nset.retain(|&k| k % 2 == 0);\nassert_eq!(set, HashSet::from([2, 4, 6]));
    \n
    §Performance
    \n

    In the current implementation, this operation takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the set, removing all values.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nv.insert(1);\nv.clear();\nassert!(v.is_empty());
    \n
    1.7.0 (const: unstable) · source

    pub fn with_hasher(hasher: S) -> HashSet<T, S>

    Creates a new empty hash set which will use the given hasher to hash\nkeys.

    \n

    The hash set is also created with the default initial capacity.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashSets to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut set = HashSet::with_hasher(s);\nset.insert(2);
    \n
    1.7.0 · source

    pub fn with_capacity_and_hasher(capacity: usize, hasher: S) -> HashSet<T, S>

    Creates an empty HashSet with at least the specified capacity, using\nhasher to hash the keys.

    \n

    The hash set will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash set will not allocate.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashSets to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut set = HashSet::with_capacity_and_hasher(10, s);\nset.insert(1);
    \n
    1.9.0 · source

    pub fn hasher(&self) -> &S

    Returns a reference to the set’s BuildHasher.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet set: HashSet<i32> = HashSet::with_hasher(hasher);\nlet hasher: &RandomState = set.hasher();
    \n
    ",0,"massa_models::prehash::PreHashSet"],["
    source§

    impl<T, S> HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the HashSet. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    §Panics
    \n

    Panics if the new allocation size overflows usize.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set: HashSet<i32> = HashSet::new();\nset.reserve(10);\nassert!(set.capacity() >= 10);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the HashSet. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling try_reserve,\ncapacity will be greater than or equal to self.len() + additional if\nit returns Ok(()).\nDoes nothing if capacity is already sufficient.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set: HashSet<i32> = HashSet::new();\nset.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the set as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::with_capacity(100);\nset.insert(1);\nset.insert(2);\nassert!(set.capacity() >= 100);\nset.shrink_to_fit();\nassert!(set.capacity() >= 2);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the set with a lower limit. It will drop\ndown no lower than the supplied limit while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::with_capacity(100);\nset.insert(1);\nset.insert(2);\nassert!(set.capacity() >= 100);\nset.shrink_to(10);\nassert!(set.capacity() >= 10);\nset.shrink_to(0);\nassert!(set.capacity() >= 2);
    \n
    1.0.0 · source

    pub fn difference<'a>(\n &'a self,\n other: &'a HashSet<T, S>,\n) -> Difference<'a, T, S>

    Visits the values representing the difference,\ni.e., the values that are in self but not in other.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Can be seen as `a - b`.\nfor x in a.difference(&b) {\n    println!(\"{x}\"); // Print 1\n}\n\nlet diff: HashSet<_> = a.difference(&b).collect();\nassert_eq!(diff, [1].iter().collect());\n\n// Note that difference is not symmetric,\n// and `b - a` means something else:\nlet diff: HashSet<_> = b.difference(&a).collect();\nassert_eq!(diff, [4].iter().collect());
    \n
    1.0.0 · source

    pub fn symmetric_difference<'a>(\n &'a self,\n other: &'a HashSet<T, S>,\n) -> SymmetricDifference<'a, T, S>

    Visits the values representing the symmetric difference,\ni.e., the values that are in self or in other but not in both.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 1, 4 in arbitrary order.\nfor x in a.symmetric_difference(&b) {\n    println!(\"{x}\");\n}\n\nlet diff1: HashSet<_> = a.symmetric_difference(&b).collect();\nlet diff2: HashSet<_> = b.symmetric_difference(&a).collect();\n\nassert_eq!(diff1, diff2);\nassert_eq!(diff1, [1, 4].iter().collect());
    \n
    1.0.0 · source

    pub fn intersection<'a>(\n &'a self,\n other: &'a HashSet<T, S>,\n) -> Intersection<'a, T, S>

    Visits the values representing the intersection,\ni.e., the values that are both in self and other.

    \n

    When an equal element is present in self and other\nthen the resulting Intersection may yield references to\none or the other. This can be relevant if T contains fields which\nare not compared by its Eq implementation, and may hold different\nvalue between the two equal copies of T in the two sets.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 2, 3 in arbitrary order.\nfor x in a.intersection(&b) {\n    println!(\"{x}\");\n}\n\nlet intersection: HashSet<_> = a.intersection(&b).collect();\nassert_eq!(intersection, [2, 3].iter().collect());
    \n
    1.0.0 · source

    pub fn union<'a>(&'a self, other: &'a HashSet<T, S>) -> Union<'a, T, S>

    Visits the values representing the union,\ni.e., all the values in self or other, without duplicates.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 1, 2, 3, 4 in arbitrary order.\nfor x in a.union(&b) {\n    println!(\"{x}\");\n}\n\nlet union: HashSet<_> = a.union(&b).collect();\nassert_eq!(union, [1, 2, 3, 4].iter().collect());
    \n
    1.0.0 · source

    pub fn contains<Q>(&self, value: &Q) -> bool
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns true if the set contains a value.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet set = HashSet::from([1, 2, 3]);\nassert_eq!(set.contains(&1), true);\nassert_eq!(set.contains(&4), false);
    \n
    1.9.0 · source

    pub fn get<Q>(&self, value: &Q) -> Option<&T>
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a reference to the value in the set, if any, that is equal to the given value.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet set = HashSet::from([1, 2, 3]);\nassert_eq!(set.get(&2), Some(&2));\nassert_eq!(set.get(&4), None);
    \n
    source

    pub fn get_or_insert(&mut self, value: T) -> &T

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts the given value into the set if it is not present, then\nreturns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert_eq!(set.len(), 3);\nassert_eq!(set.get_or_insert(2), &2);\nassert_eq!(set.get_or_insert(100), &100);\nassert_eq!(set.len(), 4); // 100 was inserted
    \n
    source

    pub fn get_or_insert_owned<Q>(&mut self, value: &Q) -> &T
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ToOwned<Owned = T> + ?Sized,

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts an owned copy of the given value into the set if it is not\npresent, then returns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set: HashSet<String> = [\"cat\", \"dog\", \"horse\"]\n    .iter().map(|&pet| pet.to_owned()).collect();\n\nassert_eq!(set.len(), 3);\nfor &pet in &[\"cat\", \"dog\", \"fish\"] {\n    let value = set.get_or_insert_owned(pet);\n    assert_eq!(value, pet);\n}\nassert_eq!(set.len(), 4); // a new \"fish\" was inserted
    \n
    source

    pub fn get_or_insert_with<Q, F>(&mut self, value: &Q, f: F) -> &T
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,\n F: FnOnce(&Q) -> T,

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts a value computed from f into the set if the given value is\nnot present, then returns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set: HashSet<String> = [\"cat\", \"dog\", \"horse\"]\n    .iter().map(|&pet| pet.to_owned()).collect();\n\nassert_eq!(set.len(), 3);\nfor &pet in &[\"cat\", \"dog\", \"fish\"] {\n    let value = set.get_or_insert_with(pet, str::to_owned);\n    assert_eq!(value, pet);\n}\nassert_eq!(set.len(), 4); // a new \"fish\" was inserted
    \n
    1.0.0 · source

    pub fn is_disjoint(&self, other: &HashSet<T, S>) -> bool

    Returns true if self has no elements in common with other.\nThis is equivalent to checking for an empty intersection.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet a = HashSet::from([1, 2, 3]);\nlet mut b = HashSet::new();\n\nassert_eq!(a.is_disjoint(&b), true);\nb.insert(4);\nassert_eq!(a.is_disjoint(&b), true);\nb.insert(1);\nassert_eq!(a.is_disjoint(&b), false);
    \n
    1.0.0 · source

    pub fn is_subset(&self, other: &HashSet<T, S>) -> bool

    Returns true if the set is a subset of another,\ni.e., other contains at least all the values in self.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet sup = HashSet::from([1, 2, 3]);\nlet mut set = HashSet::new();\n\nassert_eq!(set.is_subset(&sup), true);\nset.insert(2);\nassert_eq!(set.is_subset(&sup), true);\nset.insert(4);\nassert_eq!(set.is_subset(&sup), false);
    \n
    1.0.0 · source

    pub fn is_superset(&self, other: &HashSet<T, S>) -> bool

    Returns true if the set is a superset of another,\ni.e., self contains at least all the values in other.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet sub = HashSet::from([1, 2]);\nlet mut set = HashSet::new();\n\nassert_eq!(set.is_superset(&sub), false);\n\nset.insert(0);\nset.insert(1);\nassert_eq!(set.is_superset(&sub), false);\n\nset.insert(2);\nassert_eq!(set.is_superset(&sub), true);
    \n
    1.0.0 · source

    pub fn insert(&mut self, value: T) -> bool

    Adds a value to the set.

    \n

    Returns whether the value was newly inserted. That is:

    \n
      \n
    • If the set did not previously contain this value, true is returned.
    • \n
    • If the set already contained this value, false is returned,\nand the set is not modified: original value is not replaced,\nand the value passed as argument is dropped.
    • \n
    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\n\nassert_eq!(set.insert(2), true);\nassert_eq!(set.insert(2), false);\nassert_eq!(set.len(), 1);
    \n
    1.9.0 · source

    pub fn replace(&mut self, value: T) -> Option<T>

    Adds a value to the set, replacing the existing value, if any, that is equal to the given\none. Returns the replaced value.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\nset.insert(Vec::<i32>::new());\n\nassert_eq!(set.get(&[][..]).unwrap().capacity(), 0);\nset.replace(Vec::with_capacity(10));\nassert_eq!(set.get(&[][..]).unwrap().capacity(), 10);
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, value: &Q) -> bool
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a value from the set. Returns whether the value was\npresent in the set.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\n\nset.insert(2);\nassert_eq!(set.remove(&2), true);\nassert_eq!(set.remove(&2), false);
    \n
    1.9.0 · source

    pub fn take<Q>(&mut self, value: &Q) -> Option<T>
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes and returns the value in the set, if any, that is equal to the given one.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert_eq!(set.take(&2), Some(2));\nassert_eq!(set.take(&2), None);
    \n
    ",0,"massa_models::prehash::PreHashSet"],["
    source§

    impl<'de, T, S, E> IntoDeserializer<'de, E> for HashSet<T, S>
    where\n T: IntoDeserializer<'de, E> + Eq + Hash,\n S: BuildHasher,\n E: Error,

    §

    type Deserializer = SeqDeserializer<<HashSet<T, S> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self,\n) -> <HashSet<T, S> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","massa_models::prehash::PreHashSet"],["
    1.0.0 · source§

    impl<T, S> IntoIterator for HashSet<T, S>

    source§

    fn into_iter(self) -> IntoIter<T>

    Creates a consuming iterator, that is, one that moves each value out\nof the set in arbitrary order. The set cannot be used after calling\nthis.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set = HashSet::new();\nset.insert(\"a\".to_string());\nset.insert(\"b\".to_string());\n\n// Not possible to collect to a Vec<String> with a regular `.iter()`.\nlet v: Vec<String> = set.into_iter().collect();\n\n// Will print in an arbitrary order.\nfor x in &v {\n    println!(\"{x}\");\n}
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","massa_models::prehash::PreHashSet"],["
    1.0.0 · source§

    impl<T, S> PartialEq for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    source§

    fn eq(&self, other: &HashSet<T, S>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","massa_models::prehash::PreHashSet"],["
    source§

    impl<T, H> Serialize for HashSet<T, H>
    where\n T: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","massa_models::prehash::PreHashSet"],["
    source§

    impl<T, U, H> SerializeAs<HashSet<T, H>> for HashSet<U, H>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &HashSet<T, H>,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer.
    ","SerializeAs>","massa_models::prehash::PreHashSet"],["
    source§

    impl<N, S> VisitMap<N> for HashSet<N, S>
    where\n N: Hash + Eq,\n S: BuildHasher,

    source§

    fn visit(&mut self, x: N) -> bool

    Mark a as visited. Read more
    source§

    fn is_visited(&self, x: &N) -> bool

    Return whether a has been visited before.
    ","VisitMap","massa_models::prehash::PreHashSet"],["
    1.0.0 · source§

    impl<T, S> Eq for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    ","Eq","massa_models::prehash::PreHashSet"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file